Problems with Qualcomm Atheros QCA6174 in Ubuntu 16.04

I recently bought an Acer Aspire R5-471T laptop and installed Ubuntu 16.04, but can't seem to get the wireless to work. According to my Google-fu, this is because my wireless network adapter is a proprietary Qualcomm Atheros QCA6174 and therefore needs some fiddling in order to get it to run correctly in Ubuntu.

Here is some of the messages I've been getting off the terminal:

lspci -nnk | grep 0280 -A2
01:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 32)
Subsystem: Lite-On Communications Inc QCA6174 802.11ac Wireless Network Adapter [11ad:0807]

dmesg | grep ath
[    1.960883] ath10k_core: unknown parameter 'skip_opt' ignored
[    1.974347] ath10k_pci 0000:01:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0
[    2.219383] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[    2.219671] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
[    2.219673] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
[    2.219678] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-4.bin failed with error -2
[    2.219680] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-4.bin': -2
[    2.219684] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-3.bin failed with error -2
[    2.219685] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-3.bin': -2
[    2.219690] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-2.bin failed with error -2
[    2.219691] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-2.bin': -2
[    2.219695] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware.bin failed with error -2
[    2.219696] ath10k_pci 0000:01:00.0: could not fetch firmware (-2)
[    2.219698] ath10k_pci 0000:01:00.0: could not fetch firmware files (-2)
[    2.219699] ath10k_pci 0000:01:00.0: could not probe fw (-2)

I'm still rather new to Linux and I'm not a developer, so please be gentle.


I managed to get the wireless working. The trick is as follows:

(1) Create a folder called /lib/firmware/ath10k/QCA6174

(2) Make sure there are two subfolders, /hw2.1 and /hw3.0

(3) Copy the files found here into the appropriate subfolders: https://github.com/kvalo/ath10k-firmware

(4) Note that the files named "firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1" in the hw3.0 subfolder and "firmware-5.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1" in the hw2.1 subfolder should be renamed "firmware-4.bin" and "firmware-5.bin" respectively. (This was what was causing issues for me in the first place).