1. 系统架构
Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示:
一切尽在上图中,下面将对每部分进行详细分析。
1.1 WifiService
由SystemServer启动的时候生成的ConnecttivityService创建,负责启动关闭wpa_supplicant,启动和关闭WifiMonitor线程,把命令下发给wpa_supplicant以及更新WIFI的状态。
处理其它模块通过IWifiManager接口发送过来的远端WiFi操作。
1.2 WifiMonitor
负责从wpa_supplicant接收事件通知。
1.3 wpa_supplicant
1) 读取配置文件
2) 初始化配置参数,驱动函数
3) 让驱动scan当前所有的bssid
4) 检查扫描的参数是否和用户设置的相符
5) 如果相符,通知驱动进行权限和认证操作
6) 连上AP
1.4 Wifi驱动模块
厂商提供的sou