缘起
我之前使用Linux的经历都是在Windows 10跑虚拟机获得的。在建立了堪称盲目的自信后,终于决定要动手在Lenovo LT-Rescuer R720计算机上安装Ubuntu 18.04.2。怎奈Ubuntu安装后竟发现WiFi无法使用,无网的生活何来乐趣?冲冠一怒,便开始了我的折腾之旅。
Ubuntu下的获取无线网卡芯片型号
刚开始,跟随薄荷中文网下的教程尝试解决WiFi驱动问题。在Ubuntu下,使用如下命令查看无线网卡适配器型号:
lspci -vv
从输出反馈的底端位置,可以筛选出LT-Rescuer R720的WiFi适配器为Realtek RTL8821AE
。
Windows下确定无线网卡芯片型号
当然,无论出于何种考量double check都较为稳妥。在Windows 10下使用设备管理器
对LT-Rescuer R720计算机中的各种设备进行查询,可获得的设备列表如下:
看到了吗?现在完全可以确认LT-Rescuer R720使用的WiFi适配器的型号就是
Realtek 8821AE
!
寻获Realtek 8821AE无线网卡失效症结所在
好,现在既然确定了无线网卡的芯片型号,理论上我们只需要如薄荷中文网中所示找到对应的驱动并妥善安装,WiFi就可以正常使用。但是,实践的结果却事与愿违。所幸,我在此时找到了百度贴吧中的一篇文章。一路参考之下,竟然顺风顺水完成了适配操作。
首先是要确认WiFi失效的原因,终端运行命令如下:
rfkill list all
需要注意的是,你在运行
rfkill list all
命令时获得的反馈信息可能在顺序上与我的结果并不一致,但获得的结果应该大体相同,不用过于介意。Hard blocked是什么意思?根据贴子作者的说法是:
优先级前的ideapad_wlan的Hard blocked 默认为yes,即ubuntu默认关闭了硬件wifi开关,而联想R720的wifi只有软件开关,没有硬件开关的启动,所以引起了wifi无法开启的问题。
检视LT-Rescuer R720周遭和键盘区,的确没有发现开启/关闭WiFi适配器的开关!
临时之法
至于解决方案有二。其一,只能单次有效,重启失效。另一法则号称持续生效,故而加以推荐。由于之前身受各路大神言之凿凿教程的毒害一时不干确信,所以决定尝试方法一,大不了重启之后对Ubuntu系统自行恢复,顺便验证一下贴吧作者的成色。终端下运行命令如下:
sudo modprobe -r ideapad_laptop
此时,通过主界面Dock右上的按键就可以开启并寻获附近的WiFi信号。
百度贴吧中该文作者对此法的解释如下:
从无线模块的显示列表可以看出,序号2的wifi模块是软硬件是可以启动的,所以,只要将前面默认的模块移出即可。
此处需要注意的是,运行rfkill list all
命令反馈的信息的顺序可能不尽相同。所以,原贴作者运行结果的“序号2”是“ideapad wlan”,而我获得的结果却是“序号1”。
长久之计
临时之法固然有效,但我是人懒毛病大,实在不愿每次开机都运行一遍sudo modprobe -r ideapad_laptop
命令。即使是写成开机脚本也有一种不洁之感。
# 可参考的“临时之法”开机运行脚本
# 此处使用echo命令结合管道符给sudo命令填充密码(-S参数)
echo 'your password here' | sudo -S modprobe -r ideapad_laptop
exit 0
原因也很简单,毕竟不能保证所有使用计算机的用户都隶书于sudoers,同时也不能保证所有用户的密码都完全一致。实话实说,这种挑剔其实有点吹毛求疵,毕竟谁也不会在自己的笔记本里创建多个账户供其他人使用。下面的方法我人为更为有效,就是把“ideapad wlan”模块直接列入黑名单,这样岂不一劳永逸?
# 创建屏蔽ideapad wlan的配置文件
sudo touch /etc/modprobe.d/block_ideapad_wlan.conf
# 在配置文件中添加屏蔽信息
echo 'blacklist ideapad_laptop' | sudo tee -a /etc/modprobe.d/block_ideapad_wlan.conf
# 现在手动移除ideapad_laptop模块
sudo modprobe -r ideapad_laptop
之后,就可以用reboot
命令重启系统使配置文件生效。现在,你的LT-Rescuer R720能够如我一般搜索到WiFi信号了吗?
固本强基
在WiFi适配器开工后,你依然会发现LT-Rescuer R720的WiFi信号不够稳定。如果看官老爷不想直接换回Windows,不妨先连接上有线网络在终端
下尝试一下下面的方法:
# 安装git和其他与make有关的packages
sudo apt install git build-essential linux-headers-$(uname -r)
# 返回/home目录,将Github repo下载到~/rtlwifi_new/之下
cd ~
git clone https://github.com/lwfinger/rtlwifi_new.git
# 进入~/rtlwifi_new/目录后,开始编译、安装驱动程序
cd /rtlwifi_new
make
sudo make install
之后就可以reboot
命令重启计算机,感受WiFi信号质量的提升。