一、wpa_supplicant是什么
目前越来越多的设备载体开始带有无线功能,而对无线网络的配置现在可以使用wireless-tools或者wpa_supplicant。
二者区别如下:
1、wpa_supplicant不支持所有驱动,目前也只能连接到已经配置好ESSID的。
2、wireless-tools几乎支持所有的驱动,但不能连接到那些只支持WPA的AP。
目前有些芯片厂商会定制自己的WIFI协议处理模块,对无线网络的配置一般会基于wireless-tools开发
一些私有的iwpriv命令和我AP进行交互。
wpa_supplicant类似中间件,负责用户层和WIFI底层驱动交互信息的中转。同时wpa_supplicant也会解析WIFI交互协议和作为一个认证服务端进行AP的连接认证。
二、wpa_supplicant & wpa_cli无线网络配置
对于wpa_supplicant源代码,经过编译之后会产生两个可执行文件:wpa_supplicant和wpa_cli。
1、wpa_supplicant是核心程序,作为一个服务端在后台运行。
2、wpa_cli类似一个客户端,通过socket通信方式与wpa_supplicant进行交互来达到对附件网络的搜索,设置和连接。
对于如何通过wpa_supplicant连接AP信号,其过程如下:
1、首先wpa_supplicant作为一个服务端先运行起来。运行如下命令,启动服务:
wpa_supplicant -iwlan0 -Dwext -c /xx/wpa_xx.conf -dd -B
命令常用参数描述如下:
-i : 网络接口名称
-c: 配置文件名称
-C: 控制接口名称
-D: 驱动类型名称
-p: 驱动参数
-b: 桥接口名称
-B:后台运行
-d: 增加调试信息