原因是内核在配置时不支持802.11的无线设备驱动。
解决办法:重新配置编译指定的Linux Kernel,将Device Drivers==>Network deivce support==>Wireless LAN==><*> USB ZD1201 based Wireless device support,编译即可
参考地址:https://www.cdsy.xyz/computer/system/linux/230721/cd44800.html
NetworkManager管理无线网卡的配置
root@firefly-rk3399:/etc/NetworkManager# cat system-connections/ZTE-5G-xxx.nmconnection
[connection]
id=ZTE-5G-A31601
uuid=c37e779b-6e9e-4adf-a87a-3314db616b31
type=wifi
interface-name=wlan0
[wifi]
mode=infrastructure
ssid=ZTE-5G-Axx
[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=mmadxxxx
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
[proxy]
大概直接写这个配置文件就好了。不用单独写wpa_supplicant配置以及启用dhclient了(如果没起图形可以用nmtui命令行来操作,不用手工写配置文件)。
首先是内核态的驱动以及firmware文件,这个比较容易理解。内核驱动起来后,ip link 可以查看到设备。
接下来就是需要工具操作网卡去连接无线SSID了。
一般都是通过wpa_supplicant这个工具,他支持wext(ioctl)以及nl80211(netlink)两种接口去操作无线网卡。
ioctl是老的无线网卡操作方式,netlink是现在信的操作方式。参考
https://zhuanlan.zhihu.com/p/82961389
可以直接写好配置文件,命令行启动wpa_supplicant去连接无线,连接上后,dhclient 去获取IP或者配置静态IP就可以联通网络了。
这样需要写脚本加到开机启动菜单,且无法查看无线连接状态。
可以安装iw这个包后赖查看无线状态(以前老的命令是iwconfig)
但其实最简单应该是通过NetworkManager来管理无线,包括扫描无线热点以及配置链接。图形以及命令行nmtui来都可以操作。确实比手工去写wpa_supplicant配置文件来的方便。