全志科技
直播中

张莹

7年用户 1009经验值
私信 关注
[问答]

怎样去手动调试wifi station呢

  • 在某些情况,需要手动调试wifi station
    wpa_cli作为wpa_supplicant的客户端,通过socket与之通信,实现对wifi的管理和控制,因此可借助wpa_cli实现wifi station相关操作,具体命令支持列表可通过"wpa_cli -h"查看。

回帖(1)

贾玲

2021-12-29 13:55:08
调试步骤
3.1 前提条件
勾选wifi驱动及其fw、wpa_supplicant和wpa_cli
3.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.1ping外网:
ping www.baidu.com       //前提热点与外网连通
举报

更多回帖

发帖
×
20
完善资料,
赚取积分