Qualcomm Atheros WiFI,联想v310和Ubuntu 16.04

最近购买了联想V310,搭配高通Atheros wifi卡。 其余的硬件组件工作正常,问题只有wifi。 问题: – 安装时,无处不在地要求连接到wifi,我只能选择“Qualcomm Atheros”,而不是无线网络。 – 安装Ubuntu并完全更新后,wifi无法正常工作。 wifi下拉列表中有一个名为“启用无线”的选项。 我启用它,但没有任何反应。 仍然没有Wifi。

我尝试了以下解决方案: 这个 , 这个 , 这个 (这个让wifi看不见,好像我没有wifi卡)和这个 。

似乎没什么用。 知道我接下来可以尝试什么吗?

编辑:

根据要求,这是输出:

03:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:0042] (rev 30) Subsystem: Lenovo Device [17aa:4035] Kernel driver in use: ath10k_pci Kernel modules: ath10k_pci 0: ideapad_wlan: Wireless LAN Soft blocked: no Hard blocked: yes 1: ideapad_bluetooth: Bluetooth Soft blocked: yes Hard blocked: yes 2: hci0: Bluetooth Soft blocked: no Hard blocked: no 3: phy0: Wireless LAN Soft blocked: no Hard blocked: no 

您需要禁用阻止Wi-Fi的ideapad_laptop模块。

在终端中运行

 sudo tee /etc/modprobe.d/blacklist-ideapad.conf <<< "blacklist ideapad_laptop" 

并重新启动。

您不再需要禁用ideapad_laptop ,只需将Linux内核更新到最新版本(或v4.13之后的任何版本)。 了解您目前的版本

 uname -r 

如果您使用的是旧版本,则可以使用Update Manager安装较新的版本(例如View – > Linux kernels)。 如果Update Manager没有v4.13 +,则可以使用此方法:

https://wiki.ubuntu.com/Kernel/MainlineBuilds

例如,从http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.13/获取正确的deb文件,安装并重新启动。

我有完全相同的问题,这为我解决了。

如果您对发生这种情况的原因感到好奇,这就是我对这个问题的理解:

这是Lenovo V310的问题。 linux内核附带了ideapad-laptop.ko内核模块(您可以在/lib/modules/KERNEL-VERSION/kernel/drivers/platform/x86/ideapad-laptop.ko找到它)。 这是ideapad笔记本电脑的通用模块,大多数都有wifi的硬件开关。 模块将尝试读取开关的值(开/关),如果没有开关,它将错误地将其解释为关闭,因此它会禁用wifi。 这发生在V310上。 但是, ideapad-laptop.ko中有一个没有这个硬件开关的笔记本电脑型号列表,所以模块知道忽略它从交换机读取的值,只是保持wifi开启。 你可以在这里找到这个列表(忽略x,我不能发布2个以上的链接)

https://github.com/torvalds/linux/blob/c65da8e22b1d1d8869af69d287fd699c31d2dd58/drivers/platform/x86/ideapad-laptop.c#L960

联想V310最初并未列入名单,但它在今年早些时候被添加到版本v4.13 +(有点,如果你真的对此感兴趣,请查看提交1,2或查看文件历史记录)。

所以可能的解决方案是将内核更新到具有V310的版本(如上所述),将其自己添加到ideapad-laptop.c,编译模块并替换lib/modules或者如前面的答案所示,禁用整个ideapad-laptop模块(我猜你在这里错过了一些function,但这可能不是什么大不了的事)。