最近移植wifi到eclair,froyo平台。由於沒有記錄下移植步驟和心得,以至於每次都浪費了大量的精力。在此記錄下移植步驟和心得,並和大家分享,如果有錯誤歡迎指正。
1、在你的boardconfig.mk檔案中增加一行(根據你的無線網絡卡型別來設定):
2、在你的board配置目錄下建立乙個wpa_supplicant.conf檔案,輸入如下內容:
2: update_config=1
3、copy網路驅動模組ko檔案到你的board配置目錄下,下文假設網絡卡驅動模組為lk_drv_usb_rtl8192.ko。
4、修改board配置目錄下的androidboard.mk,增加如下**:
2: all_prebuilt += $(file)
3: $(file) : $(local_path)/lk_drv_usb_rtl8192.ko | $(acp)
4: $(transform-prebuilt-to-target)
5:
6: file := $(target_out_etc)/wifi/wpa_supplicant.conf
7: all_prebuilt += $(file)
8: $(file) : $(local_path)/wpa_supplicant.conf | $(acp)
9: $(transform-prebuilt-to-target)
5、修改hardware/libhardware_legacy/wifi/wifi.c檔案。
重新定義wifi_driver_module_path和wifi_driver_module_name巨集,定義如下:
#ifndef wifi_driver_module_path
2:#define wifi_driver_module_path "/system/lib/modules/lk_drv_usb_rtl8192.ko"
3:#endif
4:#ifndef wifi_driver_module_name
5:#define wifi_driver_module_name "lk_drv_usb_rtl8192"
6:#endif
6、修改init.rc檔案,修改如下:
2: chmod 0660 /system/etc/wifi/wpa_supplicant.conf
3: chown wifi wifi /system/etc/wifi/wpa_supplicant.conf
4: mkdir /data/misc/wifi 0771 wifi wifi
5:
6: mkdir /data/misc/wifi/sockets 0771 wifi wifi
7: # wpa_supplicant socket
8: mkdir /data/system/ 0771 system system
9: mkdir /data/system/wpa_supplicant 0771 wifi wifi
10:
11: mkdir /data/misc/dhcp 0771 system system
12:
13: setprop wifi.inte***ce wlan0
14:
15: ice wpa_supplicant /system/bin/wpa_supplicant -dd -dwext -iwlan0 -c /system/etc/wifi/wpa_supplicant.conf
16: group system wifi inet
17: disabled
18: oneshot
19:
20: ice dhcpcd /system/bin/dhcpcd wlan0
21: group system dhcp
22: disabled
23: oneshot
注意如果有問題,請給各個目錄設定為777屬性,把檔案設定為666的檔案屬性試試。
7、最好是clean掉,全部重新編譯。享受終於可以享受wifi了!
頂 0 踩
Android WIFI狀態監控
android 的wifi狀態可以分為兩大類,兩者均可通過廣播監聽,相應的action在wifimanager類中 第一類 有無wifi源及各個狀態間轉變 可監聽 wifi state changed action。如下圖所示,雙擊可放大 有五種情況 1 1 disabled 1 2 disabli...
Android wifi簡要分析
這裡列了很多,但是大致可以分為四個主要的類scanresult wificonfiguration wifiinfo wifimanager 1 scanresult,主要是通過wifi 硬體的掃瞄來獲取一些周邊的wifi 熱點的資訊。在我們進行wifi 搜尋的時候,一般會搜到這些資訊,首先是接入點...
android wifi 網路檢測
獲取當前網路狀態 獲取網路狀態 return private int getnetworktype else 判斷網路屬性 判斷是否是wifi if nettype connectivitymanager.type wifi else if nettype connectivitymanager.t...