enable wifi using GUI on android
Kernel
將wireless adapter driver編成module, 放置android fs的/system/lib/modules
The patches for android source
$ vi external/wpa_supplicant/Android.mk
WPA_BUILD_SUPPLICANT := true
$ vi external/wpa_supplicant/.config
CONFIG_DRIVER_WEXT=y
wifi.interface=wlan0
$ vi hardware/libhardware_legacy/wifi/wifi.c
//vanixstatic const char DRIVER_MODULE_NAME[] = "zd1211";static const char DRIVER_MODULE_TAG[] = "zd1211 ";static const char DRIVER_MODULE_PATH[] = "/system/lib/modules/zd1211rw.ko";//註解wifi_load_driver functionint wifi_load_driver(){char driver_status[PROPERTY_VALUE_MAX];int count = 100; /* wait at most 20 seconds for completion */return 0;/*if (check_driver_loaded()) {return 0;}if (insmod(DRIVER_MODULE_PATH) <>return -1;property_set("ctl.start", FIRMWARE_LOADER);sched_yield();while (count-- > 0) {if (property_get(DRIVER_PROP_NAME, driver_status, NULL)) {if (strcmp(driver_status, "ok") == 0)return 0;else if (strcmp(DRIVER_PROP_NAME, "failed") == 0)return -1;}usleep(200000);}property_set(DRIVER_PROP_NAME, "timeout");return -1;*/}
$ vi frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java
private static final boolean LOCAL_LOGD = Config.LOGD || true;
The patches for android fs
$ vi init.rc
#wifimkdir /data/misc/wifi 0770 wifi wifimkdir /data/misc/wifi/sockets 0770 wifi wifimkdir /data/system/wpa_supplicant 0770 wifi wifimkdir /data/misc/dhcp 0770 dhcp dhcpchown dhcp dhcp /data/misc/dhcp#service name一定要是wlan_loaderservice wlan_loader /sbin/wlan_loaderoneshotdisableservice wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c /system/etc/wifi/wpa_supplicant.confgroup system wifidisabledoneshotservice dhcpcd /system/bin/dhcpcd wlan0group system dhcpdisabledoneshot
$ vi /sbin/wlan_load
#!/system/bin/shinsmod /system/lib/modules/zd1211rw.ko
$ vi /system/etc/wifi/wpa_supplicant.conf
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=systemupdate_config=1# 如果有紀錄加入過的網路的話, 會自動出現在檔案下方network={ssid="W320AP4"key_mgmt=NONE}network={ssid="Mtube5566"psk="password"proto=RSNkey_mgmt=WPA-PSKgroup=CCMP TKIPpriority=4}
請問一下
回覆刪除如果devkit8000要移植 WIFI到android上
方法是否雷同?
把 zd1211rw.ko 改成 rt3070sta.ko ?
再重新編譯android ?
方法上大致相同,我的經驗是可以使用但不保證穩定
回覆刪除可能是wireless driver跟android hal銜接上的問題
ps: 這是修改donut的部份,現在已經到gingerbread了 :s
作者已經移除這則留言。
回覆刪除目前還沒有使用gps module的經驗 : )
回覆刪除好快的回答!!
回覆刪除謝謝你
那我試試看donut的版本
最後 祝你新年快樂!!
光碟上有WF8000 的source code
回覆刪除我知道在linux2.6.28下編譯是可以的
修改了Makefile裡的
ifeq ($(PLATFORM),PC)
# Linux 2.6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
LINUX_SRC = /home/embest/linux-2.6.28-omap
LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE = arm-none-linux-gnueabi-
endif
但是 當我打下
make ARCH=ARM
出現以下錯誤
make[2]: *** [/home/ndhu/WF8000/os/linux/../../common/crypt_md5.o] Error 1
make[1]: *** [_module_/home/ndhu/WF8000/os/linux] Error 2
make[1]: Leaving directory `/home/embest/linux-2.6.28-omap'
make: *** [LINUX] Error 2
我下載新版的網卡驅動
回覆刪除參考你某一篇文章成功編譯出來
此方法是以SD卡啟動吧
有沒有方法直接寫入到system.img裡呢
以NAND方式啟動?
參考devkit8000燒錄root filesystem的方法
回覆刪除我想0xdroid應該會有說明
請問您有關beageleboard xm問題, 您是否有將非ti的wifi module for SDIO interface移植到beagleboard xm的經驗?
回覆刪除是否跟這篇介紹的方式雷同?