问题描述
在物理机中安装 CentOS 7、Ubuntu、Kali Linux 均发现 WiFi 不可用,具体现象为 WiFi 的设置选项卡中没有任何条目,或者 No Wireless Adapter 之类的提示。
后面简单了解,似乎是联想笔记本的无线网卡和Linux5.0版本之前的内核不兼容(未验证其说法可靠性,仅供参考)
校验问题是否相似
执行 sudo rfkill list
命令,查看是否是相似的问题
笔者这里出现的情况是,有两个 Wireless LAN,且最前面的 Wireless LAN 带有 ideapad_ 前缀(这似乎是联想电脑的前缀),且其中 Soft blocked 或 Hard blocked 值为 yes。由于在写下本文时,已经将问题解决,故不方便截图展示。
解决方案
-
终端中依次执行如下命令
su - sudo rfkill unblock all sudo rfkill list sudo modprobe -r ideapad_laptop
此时,可以再通过
sudo rfkill list
进行查看,正常情况下,本次登录已经可以正常配置和使用 WiFi 了。但是这种配置是一次性的,为了解决这种一次性问题,一个通用的处理手段就是将上面的代码写入脚本,然后在开机的时候自动执行,在 CentOS 7中可以通过步骤(2)的方式进行配置。 -
配置开机自动执行(需要使用 root 用户)
# 在/etc/rc.d/init.d目录下自定义一个文件,这里为my_wifi cd /etc/rc.d/init.d vim my_wifi# 将步骤(1)中的代码写入到my_wifi文件中,另外还有一些和chkconfig有关的注释 # 【修改文件内容】# 修改文件的执行权限 chmod 777 my_wifi# 添加到开机自动执行项中 chkconfig --add my_wifi
下面是一键复制粘贴的代码,可能需要改变的值有
MY_PATH
和MY_LAPTOP
MY_PATH="/etc/rc.d/init.d/my_wifi" && \ MY_LAPTOP="ideapad_laptop" && \cat << EOF > $MY_PATH #! /bash/bin #chkconfig: 2345 10 90 #description: my_wifisu - sudo rfkill unblock all sudo rfkill list sudo modprobe -r $MY_LAPTOP EOFchkconfig --add my_wifi