busybox ifconfig -a 查看网口

sudo iw list|grep MHz 查看信道
Android平台API直接通过mWifiManager.setWifiEnabled来打开热点,即调用WifiManager的方法:
Z:\KK\frameworks\base\wifi\java\android\net\wifi\WifiManager.java

到服务器端进程:
Z:\KK\frameworks\base\services\java\com\android\server\wifi\WifiService.java

从而调用到Wifi状态机中的实例,接着会调到mSoftApStartingState
Z:\KK\frameworks\base\wifi\java\android\net\wifi\WifiStateMachine.java

加载AP对应的驱动,通过JNI调用本地方法加载驱动:

加载驱动成功后状态又被迁移至mSoftApStartingState

SoftApStartingState 会检测上层传下的参数的有效性并调用startSoftApWithConfig 配置、打开SoftAP

接着调用到startAccessPoint()函数
Z:\KK\frameworks\base\services\java\com\android\server\NetworkManagementService.java

在此可强制修改热点的信道,如上已将mConnector.execute直接写入了36信道。

下载AP对应的 firmware
wifiFirmwareReload(wlanIface, “AP”);
设置ap的ssid 信道 加密方式 以及密码
mConnector.execute(“softap”, “set”, wlanIface, wifiConfig.SSID,
“broadcast”, “36”, getSecurityType(wifiConfig),
new SensitiveArg(wifiConfig.preSharedKey));3、运行softap
mConnector.execute(“softap”, “startap”);
这里通过一个NativeDaemonConnector的实例mConnector 调用c++程序

最后调用到了 “./system/netd/CommandListener.cpp” 中的CommandListener::SoftapCmd::runCommand

调用”set“ 命令, 调用到 rc = sSoftapCtrl->setSoftap(argc, argv);来配置网络

asprintf(&wbuf, “interface=%s\ndriver=nl80211\nctrl_interface=”
“/data/misc/wifi/hostapd\nssid=%s\nchannel=%d\nieee80211n=1\n”
“hw_mode=a\nignore_broadcast_ssid=%d\n”,
argv[2], argv[3], channel, hidden);
则是热点打开生成的配置文件内容,会接收到上层传来的信道和接口进行配置,此处我们若要改成5G热点,需如上修改协议hw_mode=a,至此热点配置修改已完成。

更多相关文章

  1. Android(安卓)原生 MediaPlayer 和 MediaCodec 的区别和联系(二)
  2. android 上层wifi模块调用分析
  3. android打电话发短信
  4. Android震动器Vibrator调用
  5. Android(安卓)异步加载深入解析
  6. Android(安卓)WebView加载H5音视频自动播放、关闭Activity停止播
  7. Android(安卓)启动过程
  8. android中HttpURLConnection调用getResponseCode()时崩溃 解决方
  9. Android(安卓)4.0 Launcher2源码分析——启动过程分析

随机推荐

  1. org.gradle.api.GradleException: Lint f
  2. Android(安卓)Camera照相机
  3. Android(安卓)Framewok引用第三方jar包
  4. android之OnGestureListener实现图片的左
  5. Android(安卓)增量更新实例
  6. 没看完的Android(安卓)+ Handler + Runna
  7. Get the screen size in Android
  8. Android智能指针
  9. Android重启应用程序代码
  10. android常用开源库分享