1

I'm running a Debian 8 system with an Atheros ath10k chipset. My wireless drivers won't activate, forcing me to use a USB dongle.

It appears the drivers included with my kernel don't support my device ID: lspci -nn | grep -i net returns

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
03:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0041] (rev 20)

and modinfo ath10k_pci only lists 168c:003c and 168c:003e as device IDs, not the 168c:0041 listed next to my wireless card.

How do I get my card to work?

I'm using a Lenovo G50-80 laptop.

uname -a:

Linux hamming 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64 GNU/Linux
ameed
  • 151

1 Answers1

2

This should also work for 168c:0040 and 168c:0042.

You need to grab backported drivers and firmware for your card.

First, the drivers. Download the latest stable release of the backported wireless compatibility drivers; grab the .tar.xz version from the latest subfolder on the list (doesn't matter if it's more recent than your kernel). Put it in a directory of your choice, and then run

tar Jxvf backports-<whatever>.tar.xz

cd into the resulting directory and run

make defconfig-ath10k
make
sudo make install

and then

sudo reboot

to reboot.

On startup (when the screen is showing black and white monospace text; i.e. before the desktop environment shows up), you'll notice some error messages which contain paths. The paths will contain the letters QCA, a four-digit number, followed by /hw and a decimal. Write down those two numbers. (If you miss them, run dmesg | grep QCA to see them again.) We'll say the path contains QCA6174/hw2.1.

Next, the firmware. You'll need to clone the Github repository housing the updated firmware:

git clone https://github.com/kvalo/ath10k-firmware.git

cd into the resulting directory (ath10k-firmware). Then cd into the directories on that path you noted earlier (say QCA6174/hw2.1).

Now, this directory will contain a few files, one of which will start with firmware. (Let's say it's firmware-5.bin_<garbage>.) You'll copy that into /lib/firmware/QCA6174/hw2.1 (again, substitute the paths you noted), removing the garbage:

sudo cp firmware-5.bin_<garbage> /lib/firmware/ath10k/QCA6174/hw2.1/firmware-5.bin

(You might need to sudo mkdir the directories along the destination path if they don't already exist. If /lib/firmware/ath10k/QCA6174 exists, you should probably rename it to QCA6174.old to preserve it.)

If there are any other files in the directory (other than notice.txt_<garbage>), copy them over as well. In my case, I had to copy two files, board.bin and board-2.bin:

sudo cp board* /lib/firmware/ath10k/QCA6174/hw2.1/

Then reboot. You should be done! (Your system might complain about missing some cal-pci file on startup, but that hasn't caused issues for me.)

ameed
  • 151
  • It would be much easier to just download and install an updated linux-image and firmware-atheros package from debian testing or unstable. You can even add testing and/or unstable to your sources.list and (as long as you have APT::Default-Release "stable"; in /etc/apt/apt.confor file in /etc/apt/apt.conf.d) there is no risk of accidentally installing stuff from them - apt will only install from them when you explicitly tell it to, with -t testing or -t unstable. Also, there's always http://backports.debian.org/ – cas Mar 26 '16 at 01:55
  • It must be the board-2.bin with the newest stable backports that allows that firmware to work. Back when I got this card going we used backports-20151120 with firmware from https://github.com/atondwal/ath10k-firmware/tree/master/ath10k/QCA6164/hw2.1 @cas I doubt debian has the board-2.bin as it has only been a month since Kalle put it on his github and the firmware-5 file is probably an older version – Jeremy31 Mar 26 '16 at 13:04