我最近用定制部件和 Ubuntu 操作系统组装了一台电脑。这台电脑运行良好,直到启动时发现缺少 Wi-Fi 适配器,这意味着如果不在房子中间拉一根以太网电缆,我就无法使用家庭网络。我一开始使用的是 Ubuntu 22.04,后来了解到主板上的芯片组使用 Wi-Fi 7 标准(需要ath12k
运行),所以我更新到了 23.10。
现在我已经启动了 Ubuntu 23.10,发现 (1) 我的系统识别到我需要固件ath12k
才能使用 WiFi 适配器,并且 (2) Ubuntu 23.10 安装的 6.5 内核默认不加载该驱动程序!现在我正在寻找使用该固件的最简单方法。
我尝试按照以下说明从头开始构建内核这里;我修改了第一行以克隆 Linux 6.5 内核,但其余部分按照那里的说明进行构建。在用尽了单独路径的说明来构建 makefile 后,我无法在那里构建内核。我基本上在寻找最简单的方法来获取ath12k
操作系统中的驱动程序,这样我就可以从家里移除 15 米长的以太网电缆。我是否遗漏了一些非常简单的东西?
如果有帮助的话,一些数据......
硬件
Motherboard: MSI Z790A Max Pro WiFi
Chip: Intel i9 14900k
GPU: NVIDIA RTX A4500
网络信息sudo lshw -C network
:
*-network
description: Network controller
product: Qualcomm Technologies, Inc
vendor: Qualcomm Technologies, Inc
physical id: 0
bus info: pci@0000:04:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=ath12k_pci latency=0
resources: irq:170 memory:82200000-823fffff
更多网络信息来自nmcli radio
:
nmcli radio
WIFI-HW WIFI WWAN-HW WWAN
missing enabled missing enabled
跑步uname -a
给予
Linux [devname] 6.5.0-14-generic
#14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023
x86_64 x86_64 x86_64 GNU/Linux
非常感谢任何建议。到目前为止,我已经花了两天时间进行此设置,但没有任何有用的进展。
回复@Jeremy31(感谢评论!),运行后的输出sudo dmesg | egrep -i 'ath|firm'
如下
[ 5.470354] systemd[1]: /etc/systemd/system/vpnagentd.service:10: PIDFile= references a path below legacy directory /var/run/, updating /var/run/vpnagentd.pid → /run/vpnagentd.pid; please update the unit file accordingly.
[ 5.524469] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[ 5.533926] systemd[1]: systemd-fsck-root.service - File System Check on Root Device was skipped because of an unmet condition check (ConditionPathExists=!/run/initramfs/fsck-root).
[ 5.534521] systemd[1]: systemd-pcrmachine.service - TPM2 PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f).
[ 6.068778] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
[ 6.073757] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.5.1
[ 6.073759] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[ 6.075616] ath12k_pci 0000:04:00.0: BAR 0: assigned [mem 0x82200000-0x823fffff 64bit]
[ 6.075633] ath12k_pci 0000:04:00.0: enabling device (0000 -> 0002)
[ 6.075784] ath12k_pci 0000:04:00.0: Hardware name: wcn7850 hw2.0
[ 6.077252] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[ 6.143827] mhi mhi0: Direct firmware load for ath12k/WCN7850/hw2.0/amss.bin failed with error -2
[ 6.143831] mhi mhi0: Error loading firmware: -2
[ 2482.346630] audit: type=1107 audit(1702787491.188:391): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call" bus="system" path="/org/freedesktop/NetworkManager" interface="org.freedesktop.NetworkManager" member="state" mask="send" name=":1.12" pid=13639 label="snap.spotify.spotify" peer_pid=1491 peer_label="unconfined"
[ 5063.119529] audit: type=1107 audit(1702790071.983:532): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.15" mask="receive" pid=12865 label="snap.firefox.firefox" peer_pid=1527 peer_label="unconfined"
[ 5151.628195] audit: type=1107 audit(1702790160.491:533): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.15" mask="receive" pid=12865 label="snap.firefox.firefox" peer_pid=1527 peer_label="unconfined"
[ 5253.270917] audit: type=1107 audit(1702790262.136:534): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.15" mask="receive" pid=12865 label="snap.firefox.firefox" peer_pid=1527 peer_label="unconfined"
[ 5255.029352] audit: type=1107 audit(1702790263.896:535): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.15" mask="receive" pid=12865 label="snap.firefox.firefox" peer_pid=1527 peer_label="unconfined"
[ 5740.160362] audit: type=1107 audit(1702790749.029:536): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.15" mask="receive" pid=12865 label="snap.firefox.firefox" peer_pid=1527 peer_label="unconfined"
[ 5742.767765] audit: type=1107 audit(1702790751.637:537): pid=1291 uid=101 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_signal" bus="system" path="/org/freedesktop/login1" interface="org.freedesktop.DBus.Properties" member="PropertiesChanged" name=":1.15" mask="receive" pid=12865 label="snap.firefox.firefox" peer_pid=1527 peer_label="unconfined"
答案1
我不确定这是否会起作用,但我在 github 上的终端中找到了来自可靠来源的固件
sudo mkdir -p /lib/firmware/ath12k/WCN7850/hw2.0
cd /lib/firmware/ath12k/WCN7850/hw2.0
sudo wget https://github.com/kvalo/ath11k-firmware/raw/master/ath12k-testing/WCN7850/hw2.0/board.bin
sudo wget https://github.com/kvalo/ath11k-firmware/raw/master/ath12k-testing/WCN7850/hw2.0/regdb.bin
重启
答案2
发布日期 2023.12.21
我的 Qualcomm Fastconnect 7800 卡上也存在同样的问题,使用的是 ath12k_pci
$ uname -r
6.7.0-1-MANJARO
$ inxi -N
Network:
...
Device-3: Qualcomm driver: ath12k_pci
...
$ inxi -M
...
Mobo: Micro-Star model: MS-17KK v: REV:1.0 serial: <superuser required>
UEFI: American Megatrends LLC. v: E17KKAMS.112 date: 09/21/2023
您可以按照以下步骤操作:
- 克隆 ath11k 固件。
git clone https://github.com/kvalo/ath11k-firmware.git
- 安装 ath12k Wi-fi 固件。
sudo mkdir -p /lib/firmware/ath12k
cd ath11k-firmware/ath12k-testing
sudo cp -r * /lib/firmware/ath12k/
- 创建到 amss.bin 和 m3.bin 的链接。
cd /lib/firmware/ath12k/WCN7850/hw2.0
sudo ln -s WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3/amss.bin amss.bin
sudo ln -s WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3/m3.bin m3.bin
- 重启。
完成所有这些步骤后,您可以检查内核环形缓冲区是否仍然存在错误。
sudo dmesg | grep -i error
如果上述方法不起作用,您可以在 linux-firmware 修补 ath12k 驱动程序之前购买外部 USB WIFI 卡以供临时使用。