轉(zhuǎn)載請注明來源:http://blog.csdn.net/ccwwff/archive/2011/06/09/6535290.aspx
首先應(yīng)該確定與CPU的USBHost接口驅(qū)動通信應(yīng)該正常。
然后按以下順序進(jìn)行配置。
一、在linux內(nèi)核配置,加入以下wireless配置,然后編譯燒錄內(nèi)核:
Drivers->Networking->Wireless->
CONFIG_IEEE80211
-*- Improved wireless configurationAPI
[*] nl80211 new netlink interfacesupport
-*- Wireless extensions
<*> Generic IEEE 802.11Networking Stack (mac80211)
Rate control algorithm selection --->
[ ] Enable LED triggers
Export mac80211 internals in DebugFS
[ ] Enable packet alignmentdebugging
[ ] Enable debugging output
{*} Generic IEEE 802.11 NetworkingStack (DEPRECATED)
[*] Enable full debugging output
-*- IEEE 802.11 WEP encryption(802.1x)
<*> IEEE 802.11i CCMPsupport
<*> IEEE 802.11i TKIPencryption
<*> Software MAC add-on tothe IEEE 802.11 networking stack
[*] Enable full debugging output
二、準(zhǔn)備如下文件及工具,其源碼可以上網(wǎng)搜索:
iwpriv,iwlist, iwconfig, wget, wpa_supplicant, rt3070sta.ko, RT2870STA.DAT;
然后按以下順序進(jìn)行wifi調(diào)試環(huán)境配置:
1.建立文件/system/etc/wifi/wpa_supplicant.conf,內(nèi)容如下,以下主要配置ssid用,可根據(jù)當(dāng)前環(huán)境調(diào)試用AP(無線路由器)熱點(diǎn)的配置進(jìn)行設(shè)置,這個是用來調(diào)試用的,在android環(huán)境,有其它配置方法:
ctrl_interface=DIR=/data/misc/wifiGROUP=system
update_config=1
ap_scan=1
network={
ssid="example_essid"
psk="password"
}
2.建目錄dhcp,及其空文件dhcpcd-tiwlan0.pid:
#mkdir/data/misc/dhcp
#cd/data/misc/dhcp
#vidhcpcd-tiwlan0.pid
3. 設(shè)置網(wǎng)絡(luò)接口:
#setpropwifi.interface "tiwlan0"
#setpropwlan.interface "tiwlan0"
4.安裝wifi驅(qū)動,RT2870STA.DAT拷貝至/etc/Wireless/RT2870
#insmod/sdcard/ rt3070sta.ko
6.拷貝無線工具iwpriv,iwlist, iwconfig, wpa_supplicant至/system/bin目錄
Iwpriv:可查看網(wǎng)絡(luò)節(jié)點(diǎn),輸入以下命令,如rt3070sta.ko安裝成功,會顯示我們想要的網(wǎng)絡(luò)節(jié)點(diǎn):
#iwpriv
7.ifconfig打開網(wǎng)絡(luò)節(jié)點(diǎn)tiwlan0:
#ifconfigtiwlan0 up
8.iwlist tiwlan0 scanning 搜索顯示ssid:
#iwlisttiwlan0 scanning
9.設(shè)置wifiessid, 并動態(tài)分配IP, dhcpcd是android一個dhcp庫,注意要加&,后臺運(yùn)行,否則后面的命令就輸不了了:
#/system/bin/wpa_supplicant -dd -Dwext -itiwlan0 -c/system/etc/wifi/wpa_supplicant.conf &
#/system/bin/dhcpcdtiwlan0 &
10.ping , 檢查連接情況,如果出現(xiàn)連接響應(yīng),那就恭喜了:
#ping192.168.1.1 &
11.下面就可以通過網(wǎng)絡(luò)測試你的網(wǎng)絡(luò)速度如何了,wget命令就可以簡單搞定了,如下所示,如果是USB1.1host, 就不要期待有多高的速度了,2-3Mbps就不錯了,我這邊用OTG(USB2.0),連接54Mbps無線路由器,100MB的文件,50秒左右搞定了,平均16Mbps,看起來還不錯。將RT3070模塊直接連接PC,下載速度基本在16Mbps左右,最高20Mbps左右。
#/bin/busyboxwget ftp://192.168.1.1/file -O filepath
12.推薦讀取資料:rt3070驅(qū)動中Readme,iwpriv使用文檔,iwpriv可以讀取RT3070芯片寄存器的值,進(jìn)行調(diào)試。
三、androidwifi優(yōu)化調(diào)試
1.(休眠/喚醒)調(diào)試,USB支持遠(yuǎn)程(休眠/喚醒),這個對于手持設(shè)備功耗至關(guān)重要。
2.init.rc需增加以下幾行,及其它必要的配置:
servicewpa_supplicant /system/bin/wpa_supplicant -dd -Dwext -itiwlan0 -c/system/etc/wifi/wpa_supplicant.conf
groupsystem wifi inet
disabled
oneshot
servicedhcpcd /system/bin/dhcpcd tiwlan0
groupsystem dhcp
disabled
oneshot
3.可在Androidsetting應(yīng)用程序里配置你的ssid了。
androidftp工具, 測試網(wǎng)絡(luò)速度;
4.可以安裝一個FTP工具測試一下你的網(wǎng)速,推薦AndFTP.apk.