supplicant 启动流程梳理,适用于AndroidO

目录

 

1.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiController.java

2.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java

3.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiNative.java

4.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WificondControl.java

5.system/connectivity/wificond/client_interface_binder.cpp

6.system/connectivity/wificond/client_interface_impl.cpp

7.frameworks/opt/net/wifi/libwifi_system/supplicant_manager.cpp


1.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiController.java

在WifiController进入StaEnabledState时,调用WifiStateMachine的setSupplicantRunning(true)方法。

supplicant 启动流程梳理,适用于AndroidO

2.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java

发送CMD_START_SUPPLICANT消息出去。

supplicant 启动流程梳理,适用于AndroidO

在消息处理流程中,先加载驱动,加载成功后,然后再调用WifiNative的enableSupplicant()方法。3

supplicant 启动流程梳理,适用于AndroidO

supplicant 启动流程梳理,适用于AndroidO

supplicant 启动流程梳理,适用于AndroidO

3.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiNative.java

调到WificondController中的enableSupplicant()方法。

supplicant 启动流程梳理,适用于AndroidO

4.frameworks/opt/net/wifi/service/java/com/android/server/wifi/WificondControl.java

supplicant 启动流程梳理,适用于AndroidO

5.system/connectivity/wificond/client_interface_binder.cpp

调用到client_interface_impl中的EnableSupplicant()的方法。

supplicant 启动流程梳理,适用于AndroidO

6.system/connectivity/wificond/client_interface_impl.cpp

supplicant 启动流程梳理,适用于AndroidO

 

7.frameworks/opt/net/wifi/libwifi_system/supplicant_manager.cpp

通过setprop ctl.start servicename的方式来启动wpa_suppllicant

supplicant 启动流程梳理,适用于AndroidO

supplicant 启动流程梳理,适用于AndroidO