1

I recently built a computer with custom parts and a Ubuntu OS. This worked great until booting up and finding a missing Wi-Fi adapter implied I could not use my home network without running an ethernet cable through the middle of the house. I started with Ubuntu 22.04 and then updated to 23.10 after learning the chipset on my motherboard uses the Wi-Fi 7 standard (and requires ath12k to work).

Now I've booted Ubuntu 23.10 and find that (1) my system recognizes I need the ath12k firmware to use the WiFi adapter, and (2) the 6.5 kernel installed with Ubuntu 23.10 does not load that driver by default! Now I'm looking for the simplest path to using that firmware.

I tried building the kernel from scratch following the instructions at here; I modified the first line to clone the Linux 6.5 kernel, but otherwise built according to the instructions there. After exhausting a separate path of instructions to get the makefile to build, I have not been able to build the kernel there. I'm basically looking for the simplest way to get the ath12k drivers in my OS so I can remove the 15 m ethernet cable from my house. IS there something stupid simple that I'm missing?


Some data if it helps...

Hardware

Motherboard: MSI Z790A Max Pro WiFi
Chip: Intel i9 14900k
GPU: NVIDIA RTX A4500

Network info 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

More network info from nmcli radio:

nmcli radio
WIFI-HW  WIFI     WWAN-HW  WWAN    
missing  enabled  missing  enabled 

Running uname -a gives

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

Would greatly appreciate any suggestions. I've spent two days on this setup so far with no useful progress.


Responding to @Jeremy31 (thanks for commenting!) with the output from running sudo dmesg | egrep -i 'ath|firm', which is the following

[    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"
2
  • Any results from terminal for sudo dmesg | egrep -i 'ath|firm'
    – Jeremy31
    Commented Dec 15, 2023 at 21:41
  • Lengthy output (around 4k chars). I'm editing the question with the results. Commented Dec 17, 2023 at 5:40

2 Answers 2

0

I am not sure this will work but I found firmware from a reliable source on github, in terminal

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
Reboot

0

Post day 2023.12.21

The same question on my Qualcomm Fastconnect 7800 card with 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

You can follow by those steps:

  1. Clone ath11k firmware.
git clone https://github.com/kvalo/ath11k-firmware.git
  1. Install ath12k Wi-fi firmware.
sudo mkdir -p /lib/firmware/ath12k
cd ath11k-firmware/ath12k-testing
sudo cp -r * /lib/firmware/ath12k/
  1. Create links to amss.bin and 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. reboot.

After all those steps, you could check the kernel ring buffer if the error still there.

sudo dmesg | grep -i error

If the above method not work you could buy an external USB WIFI card for temparay use before linux-firmware patch the ath12k driver.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .