分析WifiStateMachine如何启动wifi驱动
2017-04-08 00:53
295 查看
WifiStateMachine中通过mWifiNative.loadDriver()来加载驱动,loadDriver对应jni的一个native方法,grep搜索下结果如下
./opt/net/wifi/service/jni/com_android_server_wifi_WifiNative.cpp:1062: { “loadDriver”, “()Z”, (void *)android_net_wifi_loadDriver }
然后所有wifi_load_driver在hardware/libhardware_legacy/wifi/wifi.c中搜索到
从代码可以看出通过查看系统属性可以知道wifi现在所处的状态。
本质上wifi_load_driver是hal中的方法,而com_android_server_wifi_WifiNative.cpp能直接使用中间的细节没有去深究。
./opt/net/wifi/service/jni/com_android_server_wifi_WifiNative.cpp:1062: { “loadDriver”, “()Z”, (void *)android_net_wifi_loadDriver }
然后所有wifi_load_driver在hardware/libhardware_legacy/wifi/wifi.c中搜索到
从代码可以看出通过查看系统属性可以知道wifi现在所处的状态。
本质上wifi_load_driver是hal中的方法,而com_android_server_wifi_WifiNative.cpp能直接使用中间的细节没有去深究。
相关文章推荐
- 安卓StateMachine分析举例---WifiStateMachine
- SREng用法简要说明(如何获得日志/删启动项目/服务/驱动/BHO等)
- Windows Vista 性能分析:如何使用 xperf 获取精确的启动性能数据
- 分析mtk6516如何加入自己的驱动
- 简要分析Uboot是如何启动内核!
- 如何调整Linux内核启动中的驱动初始化顺序
- 启动log---分析PCI设备加载驱动
- 简要分析Uboot是如何启动内核!
- Linux USB驱动框架分析 - 技术文档 - 安装启动 Linux时代 - 开源、自由、共享 - 中国最大的Linux技术社区
- 如何调整Linux内核启动中的驱动初始化顺序
- 简要分析Uboot是如何启动内核! 分类: uboot深入浅出
- 该如何选择,顺序工作流(Sequential Workflow)还是状态机器工作流(State Machine Workflow)
- 如何调整Linux内核启动中的驱动初始化顺序
- U-BOOT全线移植分析系列之四——U-boot如何引导Linux内核启动
- 如何调整Linux内核启动中的驱动初始化顺序
- 【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列之四--U-boot如何引导Linux内核启动?
- 如何调整Linux内核启动中的驱动初始化顺序
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE/SYSTEM/Curre
- 分析mtk6516如何加入自己的驱动
- Android wifi驱动--偏下层的分析