问题现象
[19:37:52:198]# nmcli dev status
[19:37:52:311]DEVICE TYPE STATE CONNECTION
[19:37:52:322]lo loopback connected (externally) lo
[19:37:52:323]wlan0 wifi unavailable --
[19:37:52:323]dummy0 dummy unmanaged --
[19:37:52:339]sit0 iptunnel unmanaged --
如上,尝试添加connection也会因为unavailable而失败。
此时尝试通过配置wpa_supplicant连接也会失败,原因没有深究,总之表层原因是认证超时。如果禁用了networkmanager,就可以通过supplicant连接了。
[19:38:32:532]wlan0: authentication with c8:7f:54:c2:25:98 timed out
解决方法
在supplicant添加dbus配置解决,由于使用buildroot构建系统,因此在make menuconfig → Target packages → Networking applications → wpa_supplicant 勾选以下两项即可。
对应到config中为:
BR2_PACKAGE_WPA_SUPPLICANT_DBUS=Y
BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=Y
如果读者使用的不是buildroot环境,尝试自己对wpa_supplicant重新编译即可。
完成之后,可以通过networkmanager使用wlan0正常连接无线网络。
# nmcli dev status
DEVICE TYPE STATE CONNECTION
wlan0 wifi connected ASUS
lo loopback connected (externally) lo
dummy0 dummy unmanaged --
sit0 iptunnel unmanaged --