此次实验是在 Android 设备中进行的,这里做个记录。
首先在 Android 设置中关闭 WLAN 以及 WLAN 扫描,然后用 lsmod
查看 WLAN 驱动状态,如果没有,就用 insmod
安装,驱动路径为 /vendor/lib/modules/qca_cld3_wlan.ko
。
启动并在后台运行 wpa_supplicant 服务端,命令如下:
/vendor/bin/hw/wpa_supplicant -i wlan0 -D nl80211 -c /vendor/etc/wifi/wpa_supplicant.conf -I /vendor/etc/wifi/wpa_supplicant_overlay.conf -O /data/vendor/wifi/wpa/sockets
在新终端中打开 wpa_cli(wpa_supplicant 客户端)并连接 wpa_supplicant 服务,命令如下:
wpa_cli -i wlan0 -p /data/vendor/wifi/wpa/sockets/
使用 scan
命令发起 WLAN 扫描:
使用 scan_result
命令查看扫描结果:
这里要连接 WLAN 的 SSID 为 vivo NEX S
。先使用 add_network
添加一个网络:
配置网络 0
,设置 SSID、密码和安全策略,命令如下:
set_network 0 ssid "vivo NEX S"
set_network 0 psk "12345678"
set_network 0 key_mgmt WPA-PSK
启用网络 0
,wpa_cli 会自动连接可用网络,命令如下:
enable_network 0
在新的终端中使用 dhcpcd 获取 IP 地址,直接运行 dhcpcd
命令:
用 ping 来测试网络,命令如下:
ping 192.168.43.1
至此,wpa_supplicant 连接过程结束,成功连接 WLAN 并可以正常通信。
留下评论
您的电子邮箱地址并不会被展示。请填写标记为必须的字段。 *