1wifi 簡介(框架)

1、wifi 組建原理: java

        WIFI就是一種無線聯網的技術,之前經過網線鏈接電腦,而如今則是經過無線電波來連網;常見的就是一個無線路由器,那麼在這個無線路由器的電波覆蓋的有效範圍均可以採用WIFI鏈接方式進行聯網,若是無線路由器鏈接了一條ADSL線路或者別的上網線路,則又被稱爲「熱點」。 android

        通常架設無線網絡的基本配備就是 無線網卡 及 一個AP(無線接入點)。有了AP,就像通常有線網絡的Hub通常,無線工做站能夠快速且輕易地與網絡相連。特別是對於寬帶的使用,WiFi更顯優點,有線寬帶網絡(ADSL、小區LAN等)到戶後,鏈接到一個AP,而後在電腦中安裝一塊無線網卡便可上網。普通的家庭有一個AP已經足夠,甚至用戶的鄰里獲得受權後,則無需增長端口,也能以共享的方式上網。 網絡


2、=================== android WIFI 框架 ======================= app

--------------------------------------------------------------------------------------------------- 框架


3、 Android平臺Wifi 編譯前 基本代碼 路徑 及 文件名(根文件系統的源碼下) less

一、Wifi setting 部分(Java應用層)

位於packages/apps/Settings/src/com/android/settings/wifi/ socket

WifiSettings.java&WifiEnabler.java spa

二、JAVA Framework部分
位於frameworks/base/services/java/com/android/server/ server

WifiService.java &WifiWatchdogService.java
位於frameworks/base/wifi/java/android/net/wifi/ 進程

WifiManager.java&WifiMonitoer.java&WifiStateTracker.java &WifiNative.java

3.       Wifi的JNI部分

位於 frameworks/base/core/jni/android_net_wifi_Wifi.cpp

4.       Wifi的HAL層代碼(wpa_supplicant適配器層)

位於 hardware/libhardware_legary/wifi/wifi.c

5.       Wpa_supplicant程序的 源碼部分(tools)
位於 external/wpa_supplicant_6/

external/wpa_supplicant/
生成庫libwpa_client.so 和 守護進程wpa_supplicant
6.kernel (wifi 驅動*.ko)
位於 net/wireless     drivers/wlan_sd8688       arch/arm/mach-pxa/wlan_pm.c

4、每一層 編譯後 的所在位置

Java應用層
  -- Settings, Wifi Switcher等應用

  --> /system/app/

Java Framework層  

    --> 

        /system/framework/services.jar

JNI層  

  --> /system/framework/framework.jar

wpa_supplicant 適配器層

    --> /system/lib/libhardware_legacy.so

wpa_supplicant 程序

    --> /system/bin/wpa_supplicant

        /system/lib/libwpa_client.so

Kernel層
  -- kernel network drivers  




===================== android WIFI 框架 end ====================================

Wifi 網卡狀態

1.    WIFI_STATE_DISABLED: WIFI網卡不可用

2.    WIFI_STATE_DISABLING: WIFI正在關閉

3.    WIFI_STATE_ENABLED:WIFI網卡可用

4.    WIFI_STATE_ENABLING:WIFI網卡正在打開

5.    WIFI_STATE_UNKNOWN:未知網卡狀態



Rootfs中 關於wpa_supplicant的配置

1) /device/amlogic/f08refe1/BoardConfig.mk  //wpa_supplicant版本,driver
WPA_SUPPLICANT_VERSION := VER_0_6_X
BOARD_WPA_SUPPLICANT_DRIVER := WEXT
2) root/init.rc   //wpa_supplicant service
setprop wifi.interface wlan0
service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -d -c /data/misc/wifi/wpa_supplicant.conf
    socket wpa_wlan0 dgram 0666 wifi wifi
3) /system/etc/wifi/wpa_supplicant.conf//config for wpa_supplicant service
update_config=1
ctrl_interface=wlan0
eapol_version=1
ap_scan=1
fast_reauth=1

---------------------

相關文章
相關標籤/搜索