rfkill 解除阻止后,nmcli 仍显示 wifi 设备不可用

rfkill 解除阻止后,nmcli 仍显示 wifi 设备不可用

我已经在谷歌上搜索这个问题大半天了,但没有成功。我正尝试使用 nmcli 连接到 wifi。我已经使用我的 wifi 设备创建了一个连接:

% nmcli c
NAME                UUID                                  TYPE             DEVICE  
Wired connection 1  89fdde8a-22e1-3c03-8b36-8299f2e95d43  802-3-ethernet   enp0s10 
Wi-Fi connection 1  826416aa-2030-4984-9685-8962857f59d9  802-11-wireless  --      
% nmcli c show "Wi-Fi connection 1"
connection.id:                          Wi-Fi connection 1
connection.uuid:                        826416aa-2030-4984-9685-8962857f59d9
connection.interface-name:              wlp3s0
...

但当我尝试提起它时,我得到了这个:

% sudo nmcli c up "Wi-Fi connection 1"
Error: Connection activation failed: No suitable device found for this connection.

由于“nmcli connection show”清楚地显示该连接与 wlp3s0 相关联,我只能假设原因是 NetworkManager 认为该设备“不可用”

% nmcli d 
DEVICE   TYPE      STATE        CONNECTION         
enp0s10  ethernet  connected    Wired connection 1 
wlp3s0   wifi      unavailable  --                 
lo       loopback  unmanaged    --

大多数人遇到的问题似乎都可以通过“rfkill unblock wifi”解决。但是,即使执行此操作并重新启动 NetworkManager,我仍然无法连接到 wifi...

% rfkill unblock wifi
% rfkill list
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
2: brcmwl-0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
% sudo systemctl restart NetworkManager
% nmcli d
DEVICE   TYPE      STATE        CONNECTION 
enp0s10  ethernet  connected    enp0s10    
wlp3s0   wifi      unavailable  --         
lo       loopback  unmanaged    --
% sudo nmcli c up "Wi-Fi connection 1"
Error: Connection activation failed: No suitable device found for this connection.

在 /var/log/syslog 中,我看到这些有趣的行:

Dec 30 15:55:24 providence NetworkManager[3851]: <info>  [1483142124.5273] (wlp3s0): using nl80211 for WiFi device control
Dec 30 15:55:24 providence NetworkManager[3851]: <info>  [1483142124.5299] manager: (wlp3s0): new 802.11 WiFi device (/org/freedesktop/NetworkManager/Devices/0)
Dec 30 15:55:24 providence kernel: [ 1498.556769] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
Dec 30 15:55:24 providence NetworkManager[3851]: <info>  [1483142124.5359] device (wlp3s0): state change: unmanaged -> unavailable (reason 'managed') [10 20 2]

“原因‘管理’”到底是什么意思?

我还尝试通过将其放入 /etc/NetworkManager/conf.d/ 中来禁用 NetworkManager 中的 wifi 电源管理:

[connection]
wifi.powersave = 2

重新启动后,接口再次被阻止......

我肯定忽略了一些非常明显的东西?因为这太疯狂了……

附言:值得指出的是,这给了我预期范围内的 wifi 网络列表,似乎表明硬件没有问题:

% sudo ifconfig wlp3s0 up
% sudo iwlist wlp3s0 scan
...

答案1

我遇到了同样的问题,所有命令的输出都相同,日志显示的错误也相同。运行# iwlist wlp4s0 scanning(我的 wifi 接口是那个,而不是你的 wlp3s0),显示所有网络,就好像 wifi 正常工作一样。

如果# rfkill list显示已阻止,则需要将其切换为未阻止状态。然后,运行# /etc/init.d/networking restart && dhclient应启用 wifi 网络,现在 nmcli 应该可以看到它。

$ nmcli radio应该显示:

WIFI-HW  WIFI      WWAN-HW  WWAN    
enabled  disabled  enabled  enabled 

现在,nmcli 提供了一种通过命令启用该 wifi 无线电的方法$ nmcli radio wifi on- 此后,您的界面应该可以工作了!

希望这对任何读到这篇文章的人都有效,其他解决方案似乎都无法解决我的问题。

答案2

如果 WPA Supplicant 和 NetworkManager 都尝试管理同一接口,则可能会发生冲突。尝试使用以下方法禁用wpa_supplicant

sudo pkill wpa_supplicant
sudo systemctl disable wpa_supplicant.service

现在尝试:

nmcli d

它应该显示:

DEVICE          TYPE      STATE         CONNECTION                    
wlp3s0          wifi      connected     myconnection

代替:

STATE: unavailable

希望对你有帮助!

答案3

我遇到了类似的问题并修改了一个脚本邮政

关键是:

nmcli radio wifi on
sleep 2
nmcli c up <your SSID>

相关内容