打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【原创】调试ralink 5370 wifi芯片(四)

今天开始调试如何同时开起android的softap和wifi功能。

1.softap的直接控制代码在system/netd/SoftapController.cpp

2.上一层控制代码在system/netd/CommandListener.cpp

3.framework层的代码在frameworks/base/services/java/com/android/server/NetworkManagementService.java.

4.setting中相关设置的代码在packages/apps/Settings/src/com/android/settings/wifi/WifiApEnabler.java
  和packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java中。

5.修改了softapcontroller.cpp中的代码,强制置顶了启用wlan1作为softap。
   最终hostapd可以启动,但是dnsmasq没有启动。

6.将frameworks/base/core/res/res/values/config.xml中的wlan0改为wlan1之后,重新烧写了系统,dnsmasq可以启动了。
  并且可以正常连接,无论是open还是wpa2都正常。

7屏蔽掉了第4步中两个.java中关闭对方的语句:setWifiApEnabled和setWifiEnabled
  先开启wifi后再开启softap出现如下报错:
  E/WifiStateMachine( 1047): Failed to start soft AP with a running supplicant
  先开启softap后再开启wifi后出现如下报错:
 E/WifiStateMachine( 1047): Cannot start supplicant with a running soft AP
 这两句话是在 frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java中报出的。

8, 在frameworks/base/services/java/com/android/server/WifiService.java中为softap单独建立一个wifistatemachine.

就可以实现wifi和softap一起工作。里面有绑定wlan1为softap的语句。

 

9.在wifiservice.java的checkAndStartWifi函数中设置setWifiApEnabled即可让开机自动启动softap.

 

至此,整个功能调试完毕,经验就是以后还是要多看代码,稳扎稳打。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
android系统 连接管理总结
谈谈Android中WIFI 架构和控制流程
android wifi ralink rt3070开发记录
Android启动过程分享一下
源码查找技巧
Android4.0中判断WIFI P2P选项是否显示的源码分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服