zoukankan      html  css  js  c++  java
  • Android Wifi software layers

    //based on Android2.3 QCom MSM7227A AR6003-v806 source.

    learning by wifi sta enabling

    Load driver:

    1. com.android.server.WifiService.setWifiEnabled(true)
    2. android.net.wifi.WifiStateTracker.loadDriver()
    3. hardware/libhardware_legacy/wifi/wifi.c: wifi_load_driver()
      • start init service "init.svc.wlan_tool" with parameter "load" to load driver
      • check value of  property wlan.driver.status to make sure driver is loaded
    4. check /init.rc. service wlan_tool: /system/bin/wlan_tool :system/wlan/atheros/AR6kSDK.build_3.1_RC.806/host/tools/wlan_tool/wlan_tool. it is a linux shell script
      • it is a onshot service
      • loaddriver():reload():do_insmod():insmod /system/wifi/ar6000.ko

    Start supplicant:

    1. see "Load driver" step 1
    2. see "Load driver" step 2
    3. see "Load driver" step 3
    4. check /init.rc. service "wpa_supplicant" : /system/bin/wpa_supplicant -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
      • wpa_supplicant now running.

    Connect to wpa_supplicant and monitor wifi states:

    1. android.net.wifi.WifiStateTracker.startEventLoop()
    2. android.net.wifi.WifiMonitor.MonitorThread.run()
    3. MonitorThread.connectToSupplicant()
      • hardware/libhardware_legacy/wifi/wifi.c:wifi_connect_to_supplicant():wpa_ctrl_open()
    4. MonitorThread.handleSupplicantStateChange():MonitorThread.handleDriverEvent()
    5. if driver state change to "STARTED", start scan:andorid.net.wifi.WifiStateTracker.scan()

    Scan AP:

    1. andorid.net.wifi.WifiStateTracker.scan()
    2. android.net.wifi.WifiStateTracker.android_net_wifi_scanCommand():
      • doCommand("DRIVER SCAN-ACTIVE");
      • doCommand("SCAN")
    3. hardware/libhardware_legacy/wifi/wifi.c:wifi_send_command()
      • wpa_ctrl_request
  • 相关阅读:
    练习题 求字符串是否为回文
    JavaScript效果下载网站!
    遍历页面所有的Checkbox,显示选中的ID
    祝福自己生日快乐!
    【原创】datalist repeater 控件的行鼠标单击 以及 滑过特效
    删除此文 并不能解决问题
    javascript屏蔽脏字
    【MM系列】SAP 物料凭证增强
    【MM系列】SAP 客户增强
    【MM系列】SAP 交货单屏幕增强
  • 原文地址:https://www.cnblogs.com/jan4984/p/3329078.html
Copyright © 2011-2022 走看看