此次实验是在 Android 设备中进行的,这里做个记录。

首先在 Android 设置中关闭 WLAN 以及 WLAN 扫描,然后用 lsmod 查看 WLAN 驱动状态,如果没有,就用 insmod 安装,驱动路径为 /vendor/lib/modules/qca_cld3_wlan.ko

lsmod 结果图
lsmod 查看 wlan 驱动

启动并在后台运行 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_supplicant 运行图
运行 wpa_supplicant 服务

在新终端中打开 wpa_cli(wpa_supplicant 客户端)并连接 wpa_supplicant 服务,命令如下:

wpa_cli -i wlan0 -p /data/vendor/wifi/wpa/sockets/
wpa_cli 运行图
运行 wpa_cli 并连接 wpa_supplicant 服务

使用 scan 命令发起 WLAN 扫描:

wpa_cli 扫描图
启动 WLAN 扫描

使用 scan_result命令查看扫描结果:

wpa_cli 扫描结果图
查看扫描结果

这里要连接 WLAN 的 SSID 为 vivo NEX S。先使用 add_network 添加一个网络:

wpa_cli 添加网络图
添加一个网络

配置网络 0,设置 SSID、密码和安全策略,命令如下:

set_network 0 ssid "vivo NEX S"
set_network 0 psk "12345678"
set_network 0 key_mgmt WPA-PSK
wpa_cli 配置网络图
设置网络参数

启用网络 0,wpa_cli 会自动连接可用网络,命令如下:

enable_network 0
wpa_cli 连接网络
启用和连接网络

在新的终端中使用 dhcpcd 获取 IP 地址,直接运行 dhcpcd 命令:

dhcpcd 配置 IP 地址图
通过 DHCP 配置 IP 地址

用 ping 来测试网络,命令如下:

ping 192.168.43.1
PING 测试网络图
测试网络连通性

至此,wpa_supplicant 连接过程结束,成功连接 WLAN 并可以正常通信。

留下评论

您的电子邮箱地址并不会被展示。请填写标记为必须的字段。 *

正在加载...