当我使用 NetworkManager 命令工具扫描无线网络时,输出为空。
root@radxa:~# nmcli dev wifi list
SSID BSSID MODE FREQ RATE SIGNAL SECURITY ACTIVE
root@radxa:~#
但如果使用iwlist
,扫描就可以了:
root@radxa:~# iwlist wlan0 scan
Cell 01 - Address: 78:A1:06:7F:CF:C9
ESSID:"olivia"
Protocol:IEEE 802.11bgn
Mode:Master
Frequency:2.462 GHz (Channel 11)
Encryption key:on
Bit Rates:300 Mb/s
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Quality=0/100 Signal level=7/100
设备状态:
root@radxa:~# nmcli device status
DEVICE TYPE STATE
wlan0 802-11-wireless unavailable
eth0 802-3-ethernet connected
但如果使用 nmcli 连接会出错:
root@radxa:~# nmcli device wifi connect "olivia" password "makeit458"
Error: No network with SSID 'olivia' found.
Linux版本:
Linux version 3.0.36+ (build@radxa-x1) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#6 SMP PREEMPT Tue Aug 19 15:17:11 CST 2014
答案1
我终于发现问题了,wpa_supplicant没有运行。
尝试这个:
sudo systemctl start wpa_supplicant.service
现在再次检查 wifi 列表:
nmcli dev wifi list
像这样连接到网络:
nmcli --ask connection up <ssid>
答案2
我有类似的问题,以上答案都对我不起作用。我发现在我的例子中,网络管理器正在配置 wlan0 接口的随机 MAC 地址,但此操作失败。运行这个命令:
sudo journalctl -u NetworkManager -f
我看到这样的循环消息:
jubilinux NetworkManager[277]: <info> [1478194251.3439] device (wlan0): supplicant interface state: disabled -> inactive
jubilinux NetworkManager[277]: <warn> [1478194251.3589] device (wlan0): set-hw-addr: new MAC address 3E:78:9C:B5:29:39 not successfully set (scanning)
jubilinux NetworkManager[277]: <info> [1478194252.3378] device (wlan0): supplicant interface state: inactive -> disabled
解决方案是通过添加到配置文件来禁用网络管理器的随机 MAC 地址功能:
/etc/NetworkManager/NetworkManager.conf
入口:
[device]
wifi.scan-rand-mac-address=no
答案3
对我有用的是从任何配置中删除对 wifi 设备的引用/etc/network/interfaces
。
例如我有一个文件/etc/network/interfaces.d/something.conf
包含
auto wlx0012456789
iface wlx... inet dhcp
(对于许多用户来说,这可能是 wlan0,而不是我拥有的 wlx... 接口)。
删除(或用 注释掉#
)并重新启动网络管理器服务 ( sudo systemctl restart network-manager.service
) 效果很好。