有没有简单的方法可以获得实验内核(23.10)的新固件?

有没有简单的方法可以获得实验内核(23.10)的新固件?

我最近用定制部件和 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

您可以按照以下步骤操作:

  1. 克隆 ath11k 固件。
git clone https://github.com/kvalo/ath11k-firmware.git
  1. 安装 ath12k Wi-fi 固件。
sudo mkdir -p /lib/firmware/ath12k
cd ath11k-firmware/ath12k-testing
sudo cp -r * /lib/firmware/ath12k/
  1. 创建到 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
  1. 重启。

完成所有这些步骤后,您可以检查内核环形缓冲区是否仍然存在错误。

sudo dmesg | grep -i error

如果上述方法不起作用,您可以在 linux-firmware 修补 ath12k 驱动程序之前购买外部 USB WIFI 卡以供临时使用。

相关内容