一:简要说明
交叉编译wpa_supplicant工具后会有wpa_supplicant和wpa_cli两个程序生产,如果知道需要连接的wifi热点及密码的话不需要遍历及查询所有wifi热点的名字及信号强度等信息的话,使用wpa_supplicant即可,否则还需要使用wpa_cli来查询遍历wifi热点及配网。
wpa_cli不能单独使用,需要先启动wpa_supplicant后在运行wpa_cli,因为wpa_supplicant作为服务端,wpa_cli作为客户端需要访问wpa_supplicant
二:加载无线网卡驱动
WiFi的扫描及配网本质是网卡驱动实现的,所以必须先加载网卡驱动
insmod cfg80211.ko
insmod rtl8733bu.ko
mkdir /tmp/wpa_supplicants 这个是wpa_supplicants的运行路径,wpa_supplicants的配置文件会指定ctrl_interface 到这里,默认是/var/run/wpa_supplicants
三:扫描遍历wifi热点及配网
1 : ./wpa_supplicant -i wlan0 -c wpa_supplicant.conf -B
wpa_supplicant.conf 配置如下
ctrl_interface=/tmp/wpa_supplicants
update_config=1
2: 扫描WiFi热点
./wpa_cli -i wlan0 -p /tmp/wpa_supplicants scan
注意1:如果没有加-p指定 wpa_supplicants路径,则会提示下面错误,因为默认路径为
/var/run/wpa_supplicant,或者将配置中的/tmp/wpa_supplicants改成/v