请问全志R329如何通过wpa_cli手动调试wifi station?
本回答来源全志R329如何通过wpa_cli手动调试wifi station?
1 前提条件
勾选wifi驱动及其fw、wpa_supplicant和wpa_cli
2 调试步骤示例
(1) 加载驱动(rtl8723ds)
insmod /lib/modules/4.9.191/8723ds.ko
(2) 创建wpa_supplicant.conf文件
mkdir -p /var/run/wpa_supplicant
echo 'ctrl_interface=/var/run/wpa_supplicant' > /var/run/wpa_supplicant/wpa_supplicant.conf
echo 'update_config=1' >> /var/run/wpa_supplicant/wpa_supplicant.conf
(3) 启动wpa_supplicant进程
wpa_supplicant -Dnl80211 -iwlan0 -c/var/run/wpa_supplicant/wpa_supplicant.conf &
(4) 连接热点
wpa_cli -iwlan0 scan //触发扫描
wpa_cli -iwlan0 scan_results //获取扫描结果
wpa_cli -iwlan0 add_network //添加一个网络,若为第一次添加,则返回network id=0
wpa_cli -iwlan0 set_network 0 ssid \"XXXXXXXX\" //设置要连接热点的ssid,格式为\"XXXXXX\"或'"XXXXXX"'
wpa_cli -iwlan0 set_network 0 psk \"YYYYYYYY\" //设置要连接热点的pwd,格式为\"XXXXXX\"或'"XXXXXX"'
wpa_cli -iwlan0 select_network 0 //选择#id网络连接,禁用其它网络
wpa_cli -iwlan0 save_config //将当前连接信息保存至wpa_supplicant.conf中
其它常用命令:
wpa_cli -iwlan0 status //查看当前WPA/EAPOL/EAP状态
wpa_cli -iwlan0 list_networks //查看所有配置网络
wpa_cli -iwlan0 disable_network #id //禁用指定网络,必须通过enable/select_network #id重新启用网络
wpa_cli -iwlan0 remove_network #id //移除指定网络,若已连接,将断开连接
wpa_cli -iwlan0 disconnect //断开连接,可通过reconnect回连
wpa_cli -iwlan0 reconnect //回连
......
(5) 获取ip地址
udhcpc -i wlan0
(6) 确定网络连通性
举例:
ping网关: ping 192.168.1.1
ping外网: ping www.baidu.com //前提热点与外网连通