19

I bought an Acer laptop and installed Ubuntu 14.04LTS but WiFi drivers are not available for it. So I am trying to install a windows driver using wifidocs/driver/ndiswrapper.

On doing lspci -vvnn, it gives:

Network controller [0280: Qualcomm Atheros Device [168c:0042] (rev 30)

Then I also disabled the atheros drivers. Using lspci and lspci -n, I can say PCI id is 168c:0042. But Acer website has three atheros drivers. I could not figure out which one to download but downloaded one on a windows PC and pasted the zip file on my desktop then unzipped it from the terminal using unzip <filename>.zip. The page says you have to go to control panel system hardware and all that on the windows system. I did not do it. Windows computer not being mine, I am afraid I should not install any additional driver on it. After unzipping it has one .inx file and one .bin file but no .sys file. I don't know whether I am completely right till here or have I missed something? And if I am right then how to proceed from here? I also made a new directory and copied the unzipped .inx and .bin files in it. Then in that directory I ran the ndiswrapper -i <filename>.inf but it says ndiswrapper not installed and when I do sudo apt-get install ndiswrapper-common, I get the reply that ndiswrapper-common is already the latest version. What to do? here is my

dmesg | grep ath10k result 
[   7.882758] ath10k_pci 0000:03:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0
[    8.190016] ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2
[    8.334587] ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/QCA9377/hw1.0/board-2.bin failed with error -2
[   10.140677] ath10k_pci 0000:03:00.0: qca9377 hw1.0 (0x05020000, 0x003820ff sub 105b:e09a) fw WLAN.TF.1.0-00267-1 fwapi 5 bdapi 1 htt-ver 3.1 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features ignore-otp
[   10.140682] ath10k_pci 0000:03:00.0: debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
Here is the output of
lspci -nnk | grep -iA2 net

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15) Subsystem: Acer Incorporated [ALI] Device [1025:098a] Kernel driver in use: r8169 03:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0042] (rev 30) Subsystem: Foxconn International, Inc. Device [105b:e09a] Kernel driver in use: ath10k_pci

  • 3
    See this question. Ndiswrapper will not work. – Pilot6 Dec 10 '15 at 8:52
  • Thanks. First during sudo update and wget commands there were a few errors of not being able to connect to some sites. Then after I tar the file and the first time I ran the make defconfig-ath 10k command ,by mistake I ran deconfig instead of defconfig but even when I ran defconfig it says can't find default configuration "defconfigs/ath" and it gives make[1]: [defconfig-ath] Error 1 and make: ***[defconfig-ath]Error 2 and after doing make it says your backport package is not configured and gives a list of options to configure it. – gunjit Dec 10 '15 at 21:05
30

Ubuntu 16.04 users should just need to

sudo apt-get update && sudo apt-get upgrade

and reboot.


You do not need Windows drivers and ndiswrapper.

This has been recently fixed upstream, follow these instructions to install the backported modules and needed firmware:

sudo apt-get install build-essential linux-headers-$(uname -r) git
echo "options ath10k_core skip_otp=y" | sudo tee /etc/modprobe.d/ath10k_core.conf
wget https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.4.2/backports-4.4.2-1.tar.gz
tar -zxvf backports-4.4.2-1.tar.gz
cd backport-4.4.2-1
make defconfig-wifi
make
sudo make install
git clone https://github.com/kvalo/ath10k-firmware.git
sudo cp -r ath10k-firmware/QCA9377 /lib/firmware/ath10k/
sudo cp /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin_WLAN.TF.1.0-00267-1 /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin

And it should work after a reboot.

It will fail when a new kernel is installed through updates until the kernel is patched to support the wifi. When that happens you will need to:

cd backports-4.4.2-1
make clean
make defconfig-wifi
make
sudo make install

And reboot.

  • Does the last command have to be entered from the backports 20151120 directory only? it gives the error cp: cannot create regular file ‘/lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin’: Permission denied – gunjit Dec 10 '15 at 22:25
  • I edited the answer is needed to be sudo cp /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin_WLAN.TF.1.0-00267-1 /lib/firmware/ath10k/QCA9377/hw1.0/firmware-5.bin The directory is correct if the instructions were closely followed – Jeremy31 Dec 10 '15 at 22:39
  • Thanks. Did as per the commands and now have an enable wifi option but still not being able to connect to it. – gunjit Dec 10 '15 at 23:26
  • Please edit your question to include results from dmesg | grep ath10k Thanks – Jeremy31 Dec 10 '15 at 23:28
  • 1
    @DarthKotik You likely got a kernel update and need to follow the second group of commands to install the driver for the new kernel. I think 16.04 will just need the firmware to be installed – Jeremy31 Apr 7 '16 at 10:09

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