WiFi学习总结
经过第二阶段的学习,对WiFi的从HAL层(wifi.c)到wpa_supplicant再到驱动(bcm4330 driver)的流程有了整体的把握。
WiFi的HAL层(wifi.c)的主要功能是加载卸载WiFi驱动和打开关闭并连接wpa_supplicant,它与wpa_supplicant的控制命令和数据传递的通讯方式是使用socket(包括两种socket类型和管道)。在HAL层与wpa_supplicant的连接过程中,创建了两个套接字:监听套接字和控制套接字;其中HAL层的控制命令通过控制套接字发送给wpa_supplicant,并通过监听套接字监听wpa_supplicant上传驱动发来的数据和消息。
Wpa_supplicant是用来支持WEP,WPA/WPA2和WAPI等加密认证方式和无线协议的,还作为WiFi HAL层和WiFi驱动的桥梁而存在。它与HAL和驱动的交互方式都是使用socket来实现,可以支持多种加密协议,管理一个控制接口列表,并通过socket将HAL层命令转接到WiFi驱动,还将从驱动发来的数据传递给HAL层最终到达应用层。Wpa_cli是对WiFi设备的使用的命令行调试工具,对wpa_cli访问wpa_supplicant的方式,可以参照WiFi.c,会发现他们与wpa_supplicant的交互方式是一样的,wpa_cli只是作为一个独立客户端对wpa_supplicant发起调试命令并带回调试

本文总结了WiFi从HAL层到wpa_supplicant再到驱动的流程。HAL层使用socket与wpa_supplicant通信,wpa_supplicant支持多种加密协议,作为HAL层与驱动的桥梁。WiFi驱动涉及SDIO设备的交互,分析了初始化、数据传输和编译过程。此外,补充了对mahimahi源码的分析,完成遗留任务。
最低0.47元/天 解锁文章
1537

被折叠的 条评论
为什么被折叠?



