In my previous blog post, I mentioned that I had issues with my Acer laptop running Linux. It has an Atheros QCA9377 card in it, which was constantly dropping its authentication with the router, resulting in the connection dropping seemingly at random for periods of time. Well, one of the fixes I mentioned using was using the
firmware-5.bin firmware instead of the
firmware-6.bin one that it defaults to. People reported that working, so I thought it might help me as well. Especially since it was working flawlessly on earlier versions of Ubuntu.
Well, it didn’t work. But out of sheer randomness, I decided to try something. I grabbed an install of Kubuntu I had lying around, and
sha256sum‘d the two firmware files on it, then did the same on the install I had on the laptop.
firmware-5.bin didn’t. That was odd…
Just on a whim, I copied the version from the Kubuntu install into my working envionrment, renamed the old
firmware-5.bin, and put the new one in its place, before soft-linking it to
/usr/lib/firmware/ath10k/QCA9377/hw1.0/firmware-6.bin. This would make sure the OS would load only that firmware.
I gave it a stress test overnight, and not a single dropped connection. It’s working flawlessly, just as it did before upgrading to newer kernels.
For the record, this is the sha256sum for the working version:
So yeah! Either the firmware that was installed was corrupted, or something had happened to the file, or it’s just the wrong file. Goes to show that Linux can be really weird, but weird ideas can also completely fix the problem somtimes.