Ath10k driver crashes on startup

I’ve managed to get nixos running on my laptop but I don’t have wifi, and I’m connected through ethernet. My wifi drivers seem to be out of wack, and doing journalctl -b | fgrep ath gives me this-

Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:03:00.0.bin failed with error -2
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 17aa:0901
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: firmware ver WLAN.TF.2.1-00021-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 42e41877
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: unable to read from the device
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: could not execute otp for board id check: -110
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: failed to get board id from otp: -110
Feb 25 21:07:12 nixos kernel: ath10k_pci 0000:03:00.0: could not probe fw (-110)

I have tried adding firmwareLinuxNonfree to my configuration.nix and switching, but it doesn’t seem to have done anything.

Any way to get wifi with my hardware? here’s my lspci output-

03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)

You’re suffering from the same issue as I do: Revert firmware-linux-nonfree to fix broken Ath10k/QCA9377 wlan adapters [18.09] by tokudan · Pull Request #52645 · NixOS/nixpkgs · GitHub

Check the comment from osmano807 for one possible workaround.

1 Like

So what do you suggest I do to get wifi running, since mine is a fresh install of 18.09 which should be patched for this ?

18.09 is broken with regards to QCA9377.

The easiest way to get a working system is to follow what osmano807 has done.

I managed to get my QCA9377 working by changing kernelPackages to the latest (4.19), boot.kernelPackages = pkgs.linuxPackages_latest. It still generates some warnings on boot, but it works.

1 Like