My Qualcomm Atheros QCA6174 WiFi card has an issue on my Linux machine: frequently, it will be non-functional after boot.
There are various reports of others experiencing similar issues: here, here, here. Sometimes it is suggested to use the most recent firmware files from https://github.com/kvalo/ath10k-firmware, but I have found this to not solve the issue in my case.
What I did find to work (as mentioned for example
here)
is to reload the ath10k_pci
kernel module, whenever the system log contains an
indication of the problem; typically, this is a message like "ath10k_pci […]: could not init core
").
This repository contains a daemon that automates this, by watching the system log for relevant error messages, and reloading the kernel module in response. This has been a satisfactory solution for me.
- If using Arch Linux, install ath10k-fixer from the AUR (what's the AUR?).
- Otherwise, run
make install
. This requires that you have a recent GCC with C++ compiler and GNU Make. You may be prompted for yoursudo
password. - Finally, run
sudo systemctl enable --now ath10k-fixer
. This starts the daemon and ensures it gets started at every boot.
- Run
sudo systemctl disable --now ath10k-fixer
to stop the daemon and disable it such that it no longer gets started at every boot. - If you installed ath10k-fixer from the AUR, uninstall it via
sudo pacman -Rs ath10k-fixer
. - If instead you installed it via
make install
, runmake uninstall
. You may be prompted for yoursudo
password.
Prerequisites: Recent GCC with C++ compiler and GNU Make.
make debug
: create debug build.make compile_commands.json
: generatecompile_commands.json
file, useful for language servers likeclangd
; requiresbear
.make release
: create release build.make clean
: delete all build artefacts.