在Ubuntu的使用过程中,我们偶尔需要开启热点给其他设备进行供网。有时候在开启热点之后(最常见于利用第三方软件如wifi hotspot等),对计算机进行重启,这时候有一定概率会遇到以下情况:
网卡驱动是正确的,在终端内网络设备可以识别,但是在设置图形页面显示未找到wifi适配器。
此时可以尝试以下解决方案:
1.首先,打开终端,使用以下命令来确认你的无线网卡硬件是否被系统识别:
lspci | grep Network
如果你看到了你的无线适配器(例如,Realtek RTL8821CE),那么表示硬件被系统检测到了。此时可以通过运行以下命令检查无线网络适配器是否被系统识别:
lspci -knn | grep Net -A3 | grep -i realtek
2.接下来在终端输入“nmcli device“
命令,会出现如下结果:
用户@设备名:nmcli device
DEVICE TYPE STATE CONNECTION
wlp2s0 wifi 未托管 -
这意味着NetworkManager并没有控制这个设备。
3.第一种情况如下,解决Device为“未托管”状态的问题:
1)编辑NetworkManager配置文件。打开/etc/NetworkManager/NetworkManager.conf
文件:
sudo nano /etc/NetworkManager/NetworkManager.conf
2)确保managed=true
。如果这一行不存在,就添加它:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
3)重启NetworkManager服务以使更改生效:
sudo systemctl restart NetworkManager
如果之后再运行nmcli device
命令,应该可以看到无线设备的状态不再是“未托管”。
4.第二种情况NetworkManager配置文件如下所示:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
[device]
wifi.scan-rand-mac-address=no
[keyfile]
unmanaged-devices=interface-name:wlp2s0
此时很明确,interface-name:wlp2s0
被明确标记为一个未管理的设备(unmanaged-devices=interface-name:wlp2s0
)。这是导致wlp2s0
处于“未托管”状态的直接原因。
解决方法为:
-
打开配置文件:
sudo nano /etc/NetworkManager/NetworkManager.conf
-
修改配置:
找到下面这行:unmanaged-devices=interface-name:wlp2s0
将其修改为注释状态或直接删除这行。注释只需要在行首加上
#
,如下所示:#[keyfile] #unmanaged-devices=interface-name:wlp2s0
或者,如果您不需要这行配置,直接删除它。
-
如果使用
nano
编辑器,按下Ctrl + O
保存文件,然后按下Ctrl + X
退出。 -
重启NetworkManager服务:
sudo systemctl restart NetworkManager
此时应该能够通过NetworkManager接入无线网络了。