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 yoursudopassword. - 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-fixerto 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 yoursudopassword.
Prerequisites: Recent GCC with C++ compiler and GNU Make.
make debug: create debug build.make compile_commands.json: generatecompile_commands.jsonfile, useful for language servers likeclangd; requiresbear.make release: create release build.make clean: delete all build artefacts.