Android9.0Wifi热点开启流程梳理

如果你也是年轻的程序员,关注我一起学习探讨

Wifi中主要通过WifiNative与WPAS通信。如果想从framework层控制WPAS层的OKC,步骤如下:

WifiNative-->com_android_server_wifi_WifiNative.cpp-->wifi.c-->wpa_supplicant.c

com_android_server_wifi_WifiNative.cpp是WifiNative的JNI,
wifi.c是底层wifi_start_supplicant() native方法的定义,
wifi.c中通过wifi_send_command() 使用ctrl_conn 中的wpa_ctrl 对象向WPAS 发送命令并接收回复。
wifi_ctrl_recv() 使用monitor_conn 中的wpa_ctrl 对象接收来自WPAS 的消息:

代码路径:
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiNative.java
/frameworks/opt/net/wifi/service/jni/com_android_server_wifi_WifiNative.cpp
/hardware/libhardware_legacy/wifi/wifi.c
/external/wpa_supplicant_8/wpa_supplicant/wpa_supplicant.c

posted @ 2020-06-27 15:07  一只程序猿的成长之路  阅读(957)  评论(0)    收藏  举报