联想昭阳E42-80高通QCA9377安裝Ubuntu14.04无法使用Wi-Fi解決方法

联想昭阳E42-80高通QCA9377安裝Ubuntu14.04无法使用Wi-Fi解決方法

联想昭阳E42-80笔记本使用的Wi-Fi使用的是高通QCA9377,而最新的Ubuntu 14.04系统内核使用的是4.4的,该内核网上很多资料说对QCA9377支持有问题,4.5内核已经完美支持。

按照联想昭阳k20-80安装ubuntu Wi-Fi无法使用的解决方案( http://blog.csdn.net/ssy_neo/article/details/51786044)给出的方法,先升级内核,然后去https://github.com/kvalo/ath10k-firmware/archive/master.zip拿到QCA9377的bin,放到对应的/lib/firmware/ath10k/QCA9377/hw1.0/ 仍然行不通,dmesg仍然报错如下,可能时候因为两款笔记本使用的Wi-Fi芯片有细微的差别所致:

ath10k_pci 0000:02:00.0: Direct firmware load forath10k/cal-pci-0000:02:00.0.bin failed with error -2

最后在Arch Linux里看到一款Acer R11也碰到了同样的问题,然后顺藤摸瓜把联想E42-80笔记本上的Wi-Fi问题给解决了。

 

问题现象如下:

一、查看模块状态

sudo rfkill list all可以看到状态wlan的hard blocked为yes,注意没有网上说的3: phy0

0: ideapad_wlan: Wireless LAN

       Softblocked: no

       Hardblocked: yes

1: ideapad_bluetooth: Bluetooth

       Softblocked: yes

       Hardblocked: yes

2: hci0: Bluetooth

       Softblocked: yes

       Hardblocked: no

二、dmesg | grep ath10k看到缺少QCA9377的一些 firmware。

ath10k_pci 0000:03:00.0: Direct firmware load forath10k/cal-pci-0000:03:00.0.bin failed with error -2

ath10k_pci 0000:03:00.0: Direct firmware load forath10k/QCA9377/hw1.0/firmware-5.bin failed with error -2

ath10k_pci 0000:03:00.0: could not fetch firmwarefile 'ath10k/QCA9377/hw1.0/firmware-5.bin': -2

ath10k_pci 0000:03:00.0: Direct firmware load forath10k/QCA9377/hw1.0/board-3.bin failed with error -2

ath10k_pci 0000:03:00.0: could not fetch firmwarefile 'ath10k/QCA9377/hw1.0/board-3.bin': -2

ath10k_pci 0000:03:00.0: Direct firmware load forath10k/QCA9377/hw1.0/board-2.bin failed with error -2

ath10k_pci 0000:03:00.0: could not fetch firmwarefile 'ath10k/QCA9377/hw1.0/board-2.bin': -2

ath10k_pci 0000:03:00.0: Direct firmware load forath10k/QCA9377/hw1.0/board.bin failed with error -2

 

解决方法如下:

       1、去https://github.com/kvalo/ath10k-firmware/archive/master.zip拿到QCA9377的bin,放到对应的/lib/firmware/ath10k/QCA9377/hw1.0/,此时sudo rfkill list all仍然还是wlan的hard blocked为yes,且没有3: phy0

并且查看dmesg 仍然有失败的:

ath10k_pci 0000:03:00.0: Direct firmware load forath10k/cal-pci-0000:03:00.0.bin failed with error -2

       2、按照Arch Linux里的Wifi issues with Acer R11 (ath10k/QCA9377chip)(https://bbs.archlinux.org/viewtopic.php?id=211280),去https://github.com/ajaybhatia/Qualcomm-Atheros-QCA9377-Wifi-Linux 下Qualcomm-Atheros-QCA9377-Wifi-Linux-master.zip 然后解压。

       3、进入解压的目录,有两种方式,一种是Arch Linux的./install.sh 直接把编译好的firmware更新到对应位置,不适合Ubuntu系统,另外一种是编译firmware的方式./install_for_kernel_4.4-rc2.sh

       注意:直接运行编译方式的脚步,configuration这一步有可能失败,我的就是失败的,需要一步一步编译。编译好之后makeinstall。

       4、install之后,重启电脑,但是Wi-Fi功能仍然不行,所幸是在右上角能看到有Wi-Fi出来了,虽然显示wireless is disabled by hardware switch。rfkill list all也能看到有3: phy0了。


x@x:~$ rfkill list all

0: ideapad_wlan: Wireless LAN

       Softblocked: no

       Hardblocked: yes

1: ideapad_bluetooth: Bluetooth

       Softblocked: yes

       Hardblocked: yes

2: hci0: Bluetooth

       Softblocked: yes

       Hardblocked: no

3: phy0: Wireless LAN

       Softblocked: no

       Hardblocked: no



5、这个原因是因为被联想的模块ideapad_laptop给硬件禁止了,卸载掉该模块之后,WiFi就正常了。

sudo modprobe -r ideapad_laptop

 

$ ifconfig wlan0

wlan0    Link encap:Ethernet  HWaddrf8:28:19:c8:93:7b 

          inet addr:192.168.2.117  Bcast:192.168.2.255  Mask:255.255.255.0

         inet6 addr: fe80::fa28:19ff:fec8:937b/64 Scope:Link

         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1

         RX packets:16169 errors:0 dropped:0 overruns:0 frame:0

          TX packets:15040 errors:0 dropped:0overruns:0 carrier:0

         collisions:0 txqueuelen:1000

         RX bytes:11755658 (11.7 MB)  TXbytes:2365075 (2.3 MB)



6、重启后,仍然有ideapad_laptop,因此需要把它加入到黑名单里即可。

在/etc/modprobe.d/新建一个ideapad.conf,该文件内容如下:

blacklist ideapad_laptop

 

 

你可能感兴趣的:(Linux,Ubuntu,Wi-Fi)