2-1.1_15节_使用WIFI网卡6_仿手机写wifi操作程序
==============================
1. 仿手机写一个WIFI操作程序,作为STA,有这几个功能:
a. 自动扫描WIFI热点
b. 点击某个WIFI热点后会去连接它, 必要(非open的)时让你输入密码
c. 曾经连接过的WIFI热点会保留它的密码等信息, 以后会自动连接
2.wpa_supplicant(service) <======== wpa_cli(client) wpa_cli通过socket去连接wpa_supplicant
依照wpa_cli,给wpa_supplicant发各种命令,比如:
scan
add_network
set_network
select_network
save_config
$ wpa_cli
> status 查看连接状态,有AP的热点名等
> scan 扫描AP
> scan_results 扫描的结果
> add_network 连接热点
...
> quiet
或
$ wpa_cli status
$ wpa_cli scan
$ wpa_cli scan_results
$ wpa_cli add_network
3.当运行wpa_supplicant时就会在/var/run/wpa_supplicant/下创建文件wlan0
ls /var/run/wpa_supplicant/ -l
srwxrwx--- 1 0 0 0 Nov 22 2013 wlan0
之后wpa_cli和wpa_supplicant之间就可以通过这个socket文件进行通信。
wpa_cli.c中的wpa_cli_open_connection()就是去打开这个socket文件,通过wpa_request()向wpa_supplicant发送请求命令得到结果。
Linux下是通过send()发的,Windows下是通过Writefile()发的
4.从Uboot中拷贝过来parse_line() main_loop()中的。