[RK3288][Android6.0] WiFi之wpa_supplicant初始化过程
2017-07-03 10:33
483 查看
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
主要结构体
流程说明
具体流程
参考
wpa_supplicant: 每个网络接口相对一个
wpa_params: 记录与网络接口无关的一些参数
wpa_global: 包含所有信息
a. wpa_supplicant_init(), 初始化WPAS
b. wpa_supplicant_add_iface(), 添加网络接口
c. wpa_supplicant_run(), 运行处理收发消息
2.2 wpa_supplicant_init()
a. eap_register_methods() 注册EAP方法
b. 申请struct wpa_global内存
c. 设置wpa_global中的wpa_params中的参数
d. wpa_supplicant_global_ctrl_iface_init(), 初始化wpa_global中的ctrl_interface
e. wifi_display_init(), wifi display 初始化
2.3 wpa_supplicant_add_iface()
a. wpa_supplicant_alloc(), 分配struct wpa_supplicant
b. wpa_supplicant_init_iface(), 网络初始化工作,包括读取配置文件,初始化驱动,创建和driver通信的netlink,获取硬件特性以及能力,wpa,控制接口,bss, eapol初始化
c. wpa_supplicant_ctrl_iface_init(), 创建和Framework通信的socket
2.4 wpa_supplicant_run()
socket都是通过eloop_register_read_sock()接口来把回调函数注册到eloop循环中,一旦有event到来就能接收到
wpa_supplicant 的初始化
OS: Android 6.0
Kernel: 3.10.92
主要结构体
流程说明
具体流程
参考
主要结构体:
wpa_interface: 每个网络接口的表示,可以支持多个wpa_supplicant: 每个网络接口相对一个
wpa_params: 记录与网络接口无关的一些参数
wpa_global: 包含所有信息
流程说明:
2.1 main()a. wpa_supplicant_init(), 初始化WPAS
b. wpa_supplicant_add_iface(), 添加网络接口
c. wpa_supplicant_run(), 运行处理收发消息
2.2 wpa_supplicant_init()
a. eap_register_methods() 注册EAP方法
b. 申请struct wpa_global内存
c. 设置wpa_global中的wpa_params中的参数
d. wpa_supplicant_global_ctrl_iface_init(), 初始化wpa_global中的ctrl_interface
e. wifi_display_init(), wifi display 初始化
2.3 wpa_supplicant_add_iface()
a. wpa_supplicant_alloc(), 分配struct wpa_supplicant
b. wpa_supplicant_init_iface(), 网络初始化工作,包括读取配置文件,初始化驱动,创建和driver通信的netlink,获取硬件特性以及能力,wpa,控制接口,bss, eapol初始化
c. wpa_supplicant_ctrl_iface_init(), 创建和Framework通信的socket
2.4 wpa_supplicant_run()
socket都是通过eloop_register_read_sock()接口来把回调函数注册到eloop循环中,一旦有event到来就能接收到
具体流程:
参考:
《深入理解Android Wi-Fi、NFC和GPS卷》wpa_supplicant 的初始化
相关文章推荐
- [RK3288][Android6.0] WiFi的驱动初始化过程小结
- rk3288 android6.0 wifi子系统 - wpa_supplicant简要介绍
- [RK3288][Android6.0] WiFi之wpa_supplicant与内核通信的socket
- [RK3288][Android6.0] WiFi的配置文件wpa_supplicant.conf
- [RK3288][Android6.0] WiFi之通过wpa_cli分析WPAS的连接过程
- [RK3288][Android6.0] WiFi之wpa_supplicant服务启动
- [RK3288][Android6.0] WiFi之wpa_supplicant的socket(服务端)
- [RK3288][Android6.0] WIFI接入过程的加密和认证方式小结
- [RK3288][Android6.0] WiFi之同步网络时间过程
- [RK3288][Android6.0] WiFi之Framework连接过程小结
- [RK3288][Android6.0] WiFi之无线网络配置的关闭过程
- [RK3288][Android6.0] Wifi Service初始化流程小结
- [RK3288][Android6.0] WiFi之无线网络配置的忘记(移除)过程
- [RK3288][Android6.0] WiFi之wpa_supplicant扫描过程
- [RK3288][Android6.0] WiFi在Setting中的开启过程小结
- [RK3288][Android6.0] WiFi之无线网络配置的保存过程
- [RK3288][Android6.0] WiFi之无线网络配置的断开过程
- [RK3288][Android6.0] WiFi之Framework扫描过程
- [RK3288][Android6.0] WiFi之mac80211知识点小结