I have exhausted google on how to do this, compounded by being a beginner.

I am trying to install this module.

I have a nice new Acer Nitro (which will be even nicer once I remove dependency on win 8.1), with Atheros Qualcomm QCA61x4 wifi/bluetooth card, which seems to pop up with the same signature 168c:003e as the QCA6174, so I am hoping this module will work.

I have tried with windows drivers and ndiswrapper but this didn't work for me.

I have also tried upgrading the kernel to 3.19 but that didn't seem to fix it. Now on a FRESH 14.04 install.

  • How do I download the appropriate files from github (& where do I save them?)

  • Which packages do I need to rebuild the kernel? (I have a fresh 14.04 install)


Ubuntu 16.04 users with internet access (e.g. ethernet) should just have to install updates and reboot:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

For those without internet, download the firmware drivers from here. Choose the latest version for your architecture. For example, version 1.157.5 (newest as of 29/11/16) for amd64 is here.

Once you have the .deb package, install as usual. For our example, it is:

sudo dpkg -i linux-firmware_1.157.5_all.deb

Reboot, and now it should be working.

It might be easier to install backports than trying to use github

sudo apt-get install build-essential linux-headers-generic
wget https://www.kernel.org/pub/linux/kernel/projects/backports/2015/03/13/backports-20150313.tar.xz
tar xvfJ backports-20150313.tar.xz
cd backports-20150313
make defconfig-ath10k
sudo make install

Then reboot when it is finished. Your wifi is fairly new to Linux so it might not be fully functional even with this

| improve this answer | |
  • Thanks, though this doesn't seem to do the trick. Card still not doing anything. lspci | grep Network gives: "07:00.0 Network controller: Qualcomm Atheros Device 003e (rev 20)". modprobe ath10k gives: "modprobe: FATAL: Module ath10k not found". – diablo666 Apr 11 '15 at 15:36
  • I think the module name is ath10k_pci – Jeremy31 Apr 11 '15 at 16:03
  • 4
    @diablo666 If it doesn't work, please don't "accept" the answer. – Jack Jun 21 '15 at 7:12
  • 2016 June update - the wget and intall worked for me on acer aspire e 15 (E5-573G-34QR). Thank you! Had to follow this and the UEFI boot steps at askubuntu.com/a/630662/165511 – tgkprog Jun 19 '16 at 15:11
  • It works for my Acer Aspire V 17 Nitro with Ubuntu 16.04 (kernel 4.4.0-28-generic). Thanks. – sasha_trn Jun 28 '16 at 15:05

I've had a number of issues with my Acer Aspire V17 Nitro Black Edition and Ubuntu 15.10, but I managed to solve the Wi-Fi. I had to do a combination of things the answers from above, namely:

  1. Copy the QCA6174 directory from https://github.com/kvalo/ath10k-firmware into /lib/firmware/ath10k/. I already had an older version of QCA6174 in that directory, so I renamed the old folder to QCA6174.orig.
  2. Download the file from Comment 2 here: https://bugzilla.redhat.com/show_bug.cgi?id=1294263#c2 and save it as /lib/firmware/ath10k/QCA6174/hw3.0/board.bin (backing up the old board.bin as board.bin.orig)
  3. Reboot.

I'm posting this comment from my new internet connection over Wi-Fi. So far it seems to be working fine.

| improve this answer | |
  • 2
    I can confirm this. My QCA6147 works after copying the windows firmware to /lib/firmware/ath10k/QCA6147/hw3.0/board-2.bin and copying the firmware from ath10k-firmware to /lib/firmware/ath10k/QCA6147/hw3.0/firmware-5.bin – s.froehlich Feb 18 '16 at 7:10
  • Step 2 doesn't seem necessary anymore (tested on Ubuntu 16.04) – NumesSanguis Apr 25 '16 at 2:23

I had similar problem with my new laptop Asus Aspire V3-371-51 after installing the new Ubuntu (15.10) which has 4.2 kernel (so no backport is needed).

$ uname -r

lspci showed the following data:

$ lspci
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 20)
$ lspci -n
02:00.0 0280: 168c:003e (rev 20)

Checking dmesg, I realized that in my case the firmware is missing.

[    2.360584] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[    2.362523] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA6174/hw2.1/board-pci-168c:003e:11ad:0804.bin failed with error -2
[    2.362527] ath10k_pci 0000:02:00.0: failed to load spec board file, falling back to generic: -2
[    2.362536] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA6174/hw2.1/board.bin failed with error -2
[    2.362538] ath10k_pci 0000:02:00.0: failed to fetch generic board data: -2
[    2.362540] ath10k_pci 0000:02:00.0: failed to fetch board file: -2
[    2.362541] ath10k_pci 0000:02:00.0: could not fetch firmware files (-2)
[    2.362543] ath10k_pci 0000:02:00.0: could not probe fw (-2)

Copying an appropriate firmware from https://github.com/kvalo/ath10k-firmware/archive/master.zip to /lib/firmware/ath10k/QCA6174/hw2.1 did the trick - after reboot.

BTW I had to create the that path, because only QCA988X subdirectory was in /lib/firmware/ath10k before.

| improve this answer | |
  • But there is no cal-pci.bin file in the kvalo git repository. Did you only copy the 2.1 folder or any other file also ? – Pratik Singhal Nov 18 '15 at 8:40
  • 1
    If this doesn't work, rename QCA6174 (if previously existing) and copy the whole QCA6174 folder from the mentioned Github page (both hw2.1 and hw3.0). Then inside both folders rename firmware-x.bin_WLAN.etc to firmware-x.bin. – NumesSanguis Apr 25 '16 at 2:26

Not a complete answer (similar situation - ath10k/QCA6174 on a Fedora 22, 4.0 kernel), but more resources:

https://wireless.wiki.kernel.org/en/users/drivers/ath10k points to: https://github.com/kvalo/ath10k-firmware.

Looking at dmesg, I can get firmware-4.bin loaded (albeit untested), when place at:


However, I also get:

Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2
invalid firmware magic
Direct firmware load for ath10k/QCA6174/hw2.1/firmware-3.bin failed with error -2
could not fetch firmware file 'ath10k/QCA6174/hw2.1/firmware-3.bin': -2

So something still appears to be missing in this setup. Next step is to rename a long filename firmware-3.bin_xxxxxx to firmware-3.bin

PS (reload ath10k kernel module):

sudo rmmod ath10k_pci
sudo modprobe -v ath10k_pci

Then take your pick of iwconfig or NetworkManager.

So the steps to a complete installation are:

  1. Download drivers in https://github.com/kvalo/ath10k-firmware.

  2. sudo cp -r QCA6174 /lib/firmware/ath10k/

  3. cd /lib/firmware/ath10k/QCA6174/hw2.1

  4. sudo cp firmware-5.bin.SW_xxxxxx firmware-5.bin

    This step may change as driver is developed. xxxx and -5 are evolving.

  5. sudo rmmod ath10k_pci

  6. sudo modprobe -v ath10k_pci

After these steps I could connect to a WPA2 WiFi router and everything is working okay in an Acer v5 vn7-591g black nitro.

| improve this answer | |
  • In 4. how can you copy – bhordupur Apr 10 '16 at 18:04
  • Wow man, thanks! I can confirm that this is working on OpenSuse Leap 42.1 (kernel 4.4), in a Dell Latitude E5570 (same QCA6174 chip) – Agustin Baez May 31 '17 at 16:15

I was able to get my Qualcomm Atheros 61x4 running on a ubuntu 15.04 clean install. Actually not for the Lenovo model but for an Acer Aspire VN7 Nitro 791G These are the steps I accomplished:

  • install kernel sources: apt-get install linux-headers-(uname -r)
  • downloaded the athk master sources from kvalo:

    git clone https://github.com/kvalo/ath.git

  • downloaded the backports tree:

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git

  • built the new backport tree according to the instructions found on linux-wireless: https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports
  • downloaded the firmware from sumdog and copied it to /lib/firmware/ath10k/QCA6174/hw2.1/ :

    (Sorry I am not allowed to post more than two links)

  • wget github.com/sumdog/ath10k-firmware/raw/5faf5bb7c7413f9bbde54cca6fff58e/ath10k/QCA6174/hw2.1/board.bin


    wget github.com/sumdog/ath10k-firmware/raw/5faf5bb7c7413f9bbde54cca6fff58e/ath10k/QCA6174/hw2.1/firmware-4.bin

  • created athk10 config file as described in this post before:

    sudo echo "options ath10k_core skip_otp=y" > /etc/modprobe.d/ath10k.conf
  • copied firmware-4.bin to firmware-5.bin as dmesg claimed about not finding firmware-5.bin
| improve this answer | |

Install the LTS 'Wily' enablement stack. This will give you a more modern kernel, 4.2. There are numerous improvements in this kernel, and as noted by someone else, it looks like it will support your chipset natively.

Kernel / LTSEnablementStack | Ubuntu Wiki

| improve this answer | |

After going through all of the other answers I ended up having success with the following process:

My setup is Mint 17.2 (should be the same as Ubuntu 14.04) with kernel 3.16.0-38-generic on Acer v17 Nitro using the QCA6174 firmware

Because I'm on a 3.x Kernel Download and build the backports project per the instructions here (if you have a 4.x kernel it should work without in theory): https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports

  • Use the link in those instructions to stable releases "latest backports release" I used backports-4.2.6-1 because that was the latest at this time.

Download the firmware for my setup from the chart on this page QCA6174: https://wireless.wiki.kernel.org/en/users/drivers/ath10k/firmware

  • This links to the kvalo github that other posts here are referencing

Copy all firmware files for QCA6174 from ath10k-firmware/QCA6174/ to /lib/firmware/ath10k/QCA6174

  • Rename all firmware bin files remove everything after .bin
  • sudo chmod 755 on all of these files
  • sudo chmod +x on all of these files


I think using the latest stable backports project vs some of the ones linked here, combined with setting the permissions correctly was related to making it work.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.