在 rfkill unblock 后,nmcli 仍然显示 wifi 设备不可用

jay*_*kub 3 wireless rfkill

我一天中大部分时间都在用谷歌搜索这个问题,但没有成功。我正在尝试使用 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
...
Run Code Online (Sandbox Code Playgroud)

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

% sudo nmcli c up "Wi-Fi connection 1"
Error: Connection activation failed: No suitable device found for this connection.
Run Code Online (Sandbox Code Playgroud)

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

% nmcli d 
DEVICE   TYPE      STATE        CONNECTION         
enp0s10  ethernet  connected    Wired connection 1 
wlp3s0   wifi      unavailable  --                 
lo       loopback  unmanaged    --
Run Code Online (Sandbox Code Playgroud)

大多数人对此的问题似乎可以通过“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.
Run Code Online (Sandbox Code Playgroud)

在 /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]
Run Code Online (Sandbox Code Playgroud)

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

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

[connection]
wifi.powersave = 2
Run Code Online (Sandbox Code Playgroud)

重新启动后,界面再次被阻止...

我一定错过了一些非常明显的东西吗?因为这太疯狂了……

附:值得指出的是,这为我提供了范围内的 wifi 网络的预期列表,似乎表明硬件很好:

% sudo ifconfig wlp3s0 up
% sudo iwlist wlp3s0 scan
...
Run Code Online (Sandbox Code Playgroud)

小智 5

我遇到了同样的问题,所有命令的输出都相同,并且日志显示了相同的错误。运行# 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 
Run Code Online (Sandbox Code Playgroud)

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

希望这对任何阅读本文的人都有效,其他解决方案似乎都无法为我解决。