Wifi no longer working after kernel update (6.14.6-arch1-1)

I updated my kernel yesterday to version 6.14.6-arch1-1.
After the update, my Wi-Fi stopped working.
I have timeshift setup to take a snapshot before doing upgrades, so switching back to the previous kernel, my WiFi works again…

When running lspci, the WiFi adapter gets detected:

09:00.0 Network controller: Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] (rev 01)

running inxi -Na yields following result:

Device-2: Qualcomm WCN785x Wi-Fi 7 320MHz 2x2 [FastConnect 7800]
    vendor: Foxconn Band Simultaneous Wireless driver: ath12k_pci v: N/A
    modules: ath12k,wl pcie: gen: 3 speed: 8 GT/s lanes: 1 link-max: lanes: 2
    bus-ID: 09:00.0 chip-ID: 17cb:1107 class-ID: 0280

and dmesg | grep ath12k has following output:

[    5.080102] ath12k_pci 0000:09:00.0: BAR 0 [mem 0xf6000000-0xf61fffff 64bit]: assigned
[    5.080118] ath12k_pci 0000:09:00.0: enabling device (0000 -> 0002)
[    5.080278] ath12k_pci 0000:09:00.0: MSI vectors: 16
[    5.080282] ath12k_pci 0000:09:00.0: Hardware name: wcn7850 hw2.0
[    5.634689] ath12k_pci 0000:09:00.0: chip_id 0x2 chip_family 0x4 board_id 0xff soc_id 0x40170200
[    5.634698] ath12k_pci 0000:09:00.0: fw_version 0x1105811c fw_build_timestamp 2025-03-11 07:08 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00284-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
[    5.912491] ath12k_pci 0000:09:00.0: ignore reset dev flags 0x200
[    8.849944] Modules linked in: rfcomm snd_seq_dummy snd_hrtimer snd_seq nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct ccm algif_aead crypto_null nft_chain_nat nf_nat des3_ede_x86_64 nf_conntrack nf_defrag_ipv6 cbc nf_defrag_ipv4 des_generic libdes md4 nf_tables overlay cmac algif_hash algif_skcipher af_alg bnep vfat fat qrtr_mhi amd_atl intel_rapl_msr intel_rapl_common kvm_amd qrtr ath12k kvm qmi_helpers irqbypass polyval_clmulni snd_hda_codec_hdmi snd_hda_intel polyval_generic snd_intel_dspcfg ghash_clmulni_intel wl(POE) mac80211 snd_usb_audio(+) uvcvideo btusb snd_intel_sdw_acpi sha512_ssse3 videobuf2_vmalloc btrtl sha256_ssse3 uvc snd_hda_codec snd_usbmidi_lib btintel sha1_ssse3 videobuf2_memops spd5118 snd_ump videobuf2_v4l2 btbcm aesni_intel snd_hda_core snd_rawmidi videobuf2_common btmtk crypto_simd libarc4 snd_hwdep snd_seq_device cryptd videodev r8169 bluetooth snd_pcm wmi_bmof sp5100_tco rapl pcspkr cfg80211 mc realtek snd_timer mdio_devres
[   10.845708] ath12k_pci 0000:09:00.0: failed to receive wmi unified ready event: -110
[   10.845939] ath12k_pci 0000:09:00.0: failed to start core: -110
[   10.847252] ath12k_pci 0000:09:00.0: qmi failed to send mode request, mode: 4, err = -5
[   10.847254] ath12k_pci 0000:09:00.0: qmi failed to send wlan mode off

When running dmesg on my previous kernel, I don’t get the last 4 lines.
I have no idea what the error codes mean, nor did I find anything related online…
Anyone where who knows what went wrong?

Thanks in advance!

In the topic linked to below someone had the same problem , and was able to solve it.

Thank you for pointing me toward this post!
I somehow missed it…

I confirm that downgrading the linux-firmware to 20250408.c1a774f3-1 fixed it for me.
Since I still had the package in my cache, simply running

sudo pacman -U file:///var/cache/pacman/pkg/linux-firmware-20250408.c1a774f3-1-any.pkg.tar.zst

Solved the issue for me

Good thing you solved it too and thanks for pointing out how you did it , just in case someone else will have the same problem.

I will also share my solution, I followed https://bugzilla.kernel.org/show_bug.cgi?id=220108, which pointed me to firmware at https://git.codelinaro.org/clo/ath-firmware/ath12k-firmware/-/tree/main/WCN7850/hw2.0/1.0.c5/WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3, which I replaced the not working one with; it doesn’t support multi-link operation, but I don’t use or need it.

Bumping this thread again,

Rolling back the firmware no longer fixes it.

something else other than linux-firmware breaks it.

I tried rolling back the kernel to multiple version, still doesn’t help.

@BoredCat 's solution is the only work around for now possibly.

Since it’s useful now, I will add that I renamed m3.bin.zst and amss.bin.zst to m3-bak.bin.zst and amss-bak.bin.zst to have a backup; one should probably rename them, as I don’t know how would the OS react to having m3.bin and m3.bin.zst in firmware

There is 6.14.7 now, maybe it fixes something