No wifi device detected for WCN785x

Hello, I have recently build myself a new computer, and when migrating to it I noticed that wifi device was not showing up. I have attempted to boot in to windows, where it was working successfully. I’m a little unsure of what is going on, so if anyone could help me with troubleshooting I would really appreciate it.

nmcli device
DEVICE   TYPE      STATE                   CONNECTION         
enp12s0  ethernet  connected               Wired connection 1 
lo       loopback  connected (externally)  lo                 
lspci -k | grep -A3 -i network
09:00.0 Network controller: Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] (rev 01)
    Subsystem: Foxconn International, Inc. High Band Simultaneous Wireless Network Adapter
    Kernel driver in use: ath12k_pci
    Kernel modules: ath12k
0c:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8126 5GbE Controller (rev 01)
sudo dmesg | grep -i ath12k
[    5.223314] ath12k_pci 0000:09:00.0: BAR 0 [mem 0xdca00000-0xdcbfffff 64bit]: assigned
[    5.223338] ath12k_pci 0000:09:00.0: enabling device (0000 -> 0002)
[    5.223702] ath12k_pci 0000:09:00.0: MSI vectors: 16
[    5.223708] ath12k_pci 0000:09:00.0: Hardware name: wcn7850 hw2.0
[    6.479090] ath12k_pci 0000:09:00.0: chip_id 0x2 chip_family 0x4 board_id 0xff soc_id 0x40170200
[    6.479094] 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
[    6.761629] ath12k_pci 0000:09:00.0: ignore reset dev flags 0x200
[   11.877555] ath12k_pci 0000:09:00.0: failed to receive wmi unified ready event: -110
[   11.877983] ath12k_pci 0000:09:00.0: failed to start core: -110
[   11.880587] ath12k_pci 0000:09:00.0: qmi failed to send mode request, mode: 4, err = -5
[   11.880592] ath12k_pci 0000:09:00.0: qmi failed to send wlan mode off

Apparently its a kernel bug that has occurred after 6.12, so downgrading the kernel fixes the problem.
https://bugzilla.kernel.org/show_bug.cgi?id=220108

This is a firmware bug, not an kernel bug?

fix:

  nixpkgs = {
    overlays = [
      (self: super: {
        linux-firmware = super.linux-firmware.overrideAttrs (oldAttrs: {
          version = "20250410";
          src = pkgs.fetchzip {
            url = "https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-20250410.tar.xz ";
            hash = "sha256-aQdEl9+7zbNqWSII9hjRuPePvSfWVql5u5TIrGsa+Ao=";
          };
        });
      })
    ];
  };

Although a new firmware release is imminent.

2 Likes

Ohh, okay, ya not really familiar with how Linux kernel, and firmware is structured, what I can tell you is that what made it work was switching from this in my config

boot.kernelPackages = pkgs.linuxPackages_testing;

To this

boot.kernelPackages = pkgs.linuxPackages_6_12; # 6.12.31 at the moment

No other changes had to be made to the config. I have a lot of things going on so can’t test the overlay you send me, but hope it will help to anyone else who might be having this issue in the future.

this saved my sanity. until the new firmware is released this tip should go in the wiki or something.

2 Likes