Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
框架:
Android使用wpa_supplicant(开源软件项目,简称WPAS)服务对无线网络进行控制和管理,框架如下(摘自网络)
- Client调用方式指的是通过wpa_cli客户端的方式调用。也就是说wpa_cli和wpa_supplicant是C/S架构的关系,而
Framework层也是C/S的方式通过socket与WPAS通信。 - WPAS作为framework和driver的中继,也就是framework -> wpa_supplicant -> driver, driver -> wpa_supplicant -> framework, 不过其实wpa_supplicant与driver中间还有一层叫cfg80211,这里当是Kernel driver框架的一部分吧。
启动:
hardware/libhardware_legacy/wifi/wifi.c
int wifi_start_supplicant(int p2p_supported)
{
//static const char SUPPLICANT_NAME[] = "wpa_supplicant";
strcpy(supplicant_name, SUPPLICANT_NAME);