使用wpa_cli和wpa_supplicant配置Liunx开发板的wlan0无线网
目录
1 简单介绍下wpa_cli和wpa_supplicant
1.1 wpa_supplicant 简介
1.2 wpa_cli 简介
1.3 它们之间的关系
2 启动wpa_supplicant
3 使用rz工具把wpa_cli命令上传到开发板
4 用wpa_cli配置网络
参考文献:
1 简单介绍下wpa_cli和wpa_supplicant
1.1 wpa_supplicant
简介
wpa_supplicant
是一个后台守护进程(daemon),它负责处理无线网络的认证和关联过程。它可以管理 WPA、WPA2、WEP 等多种安全协议,并支持通过 EAP(Extensible Authentication Protocol)进行企业级认证。- 它通常在系统启动时自动运行,并持续在后台监控无线网络接口的状态。
wpa_supplicant
可以通过配置文件(如/etc/wpa_supplicant.conf
)或命令行参数来指定要连接的无线网络及其认证信息。
1.2 wpa_cli
简介
wpa_cli
是一个命令行界面工具,用于与正在运行的wpa_supplicant
进程交互。它允许用户实时查看无线网络状态、扫描可用网络、添加或删除网络配置等。- 通过
wpa_cli
,你可以动态地控制和配置wpa_supplicant
的行为,而无需手动编辑配置文件或重启服务。 wpa_cli
可以以交互模式运行(提供一个命令行界面供用户输入命令),也可以以非交互模式运行(执行单个命令并退出)。
1.3 它们之间的关系
-
wpa_supplicant
是核心组件:- 它是实际执行无线网络连接和认证的后台进程。
- 它可以独立运行,不需要
wpa_cli
来完成基本的无线网络连接任务。
-
wpa_cli
是管理工具:- 它是一个辅助工具,用于与
wpa_supplicant
进行交互。 - 它通过 Unix 域套接字(默认位于
/var/run/wpa_supplicant/<interface>
或/var/run/wpa_supplicant-global
)与wpa_supplicant
进行通信。
- 它是一个辅助工具,用于与
-
通信机制:
wpa_cli
并不是传统意义上的“客户端”,而是通过本地 IPC(Inter-Process Communication)机制与wpa_supplicant
进行通信。- 这种通信通常是通过 Unix 域套接字实现的,而不是像客户端/服务器模型那样通过网络套接字通信。
2 启动wpa_supplicant
在我的开发板上,这个wpa_supplicant进程已经起来了
3 使用rz工具把wpa_cli命令上传到开发板
用MobaXterm连接了开发板的串口之后,敲rz命令
会出现: rz ready. Type "sz file ..." to your modem program
然后鼠标右键
然后选择你的文件,
然后
ls发现已经上传成功了
然后
mv spa_cli /system/
chmod 777 /system/spa_cli
4 用wpa_cli配置网络
cd /system/
./wpa_cli -p /run/wpa_supplicant
然后段错误
解决方法是把/system/bear.tbz2这个文件先删掉,不然进程抢wifi控制权了,删除之后要把开发板重启,否则执行命令还是报错,
然后用下面的命令配置网络
add_network
set_network 0 ssid "Turing" #这是无线网的名字
set_network 0 psk "turing2024" #这是无线网的密码
set_network 0 key_mgmt NONE
enable_network 0
然后
然后我要设置下网关
route add default gw 192.168.8.254
route: SIOCADDRT: File exists
参考文献:
linux下使用shell命令通过wpa_cli控制wpa_supplicant连接wifi - mcdull^0^ - 博客园