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)

up vote 11 down vote accepted

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
make
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

  • 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.

  • 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
4.2.0-16-generic

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.

  • 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:

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

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.

  • 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

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

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

    and

    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

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

Reboot.

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.

protected by Community Apr 28 '16 at 18:14

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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