WL-167g(ASUS)USB無線網絡卡在ARM平臺上的執行
二: 在Linux-2.6.30以上的版本已經支援rt73系列的無線網絡卡。
三: 核心配置
(1): 網路協議棧支援, MAC80211必選的。
[ * ] Networking support --->
[ * ] Wireless --->
< * > cfg80211 - wireless configuration API
[ * ] Wireless extensions sysfs files
< M > Generic IEEE 802.11 Networking Stack (mac80211)
(2): WiFi網路驅動
Device Drivers --->
[ * ] Network device support --->
[ * ] Wireless LAN --->
[ * ] Wireless LAN (IEEE 802.11) --->
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
[*] Support downloading firmware images with Host AP driver
[*] Support for non-volatile firmware download
<M> Ralink driver support --->
<M> Ralink rt2501/rt73 (USB) support
<M> Ralink rt2800 (USB) support
[*] Ralink debug output
(3): 支援在使用者層載入 Firmware.
Device Drivers --->
Generic Driver Options --->
[*] Select only drivers that don't need compile-time external firmware
[*] Prevent firmware from being built
{M} Userspace firmware loading support
四: 載入WiFi(rt73)驅動模組
(1): insmod cfg80211.ko
(2): insmod mac80211.ko
(3): insmod firmware_class.ko
(4): insmod rt2x00lib.ko
(5): insmod rt2x00usb.ko
(6): insmod crc-itu-t.ko
(7): insmod rt73usb.ko
五: 移植無線網路工具包
(1): 下載: wireless_tools.29.tar.gz
(2): 編譯
(3): 生成必要的檔案: libiw.so.29; iwconfig; iwlist.
六: ifconfig wlan0 up
此時出現如下錯誤資訊:
phy0 -> rt2x00lib_request_firmware: Info - Loading firmware file 'rt73.bin'.
rt73usb 2-1:1.0: firmware: requesting rt73.bin
phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
ifconfig: SIOCSIFFLAGS: No such file or directory
錯誤原因: 載入韌體rt73.bin失敗。
解決辦法: (1): 獲取rt73.bin, 方法有下載包:rt73-k2wrlz-3.0.3.tar.bz2, 或者直接從ubuntu的/lib/firmware目錄下拷貝。
(2): 在ARM目標板上: mkdir -p /lib/firmware/
(3): cp rt73.bin /lib/firmware/
(4): cat /proc/sys/kernel/hotplug, 如果顯示為:/sbin/hotplug
那麼,需要執行:echo /sbin/mdev > /proc/sys/kernel/hotplug
否則,依然無法載入韌體。
七: 配置無線引數
(1): iwlist scanning
(2): iwconfig wlan0 essid "xxxx" key "xxxx"
注意: 第一條命令是掃描 WiFi站點。
第二條是設定SSID和金鑰,這裡的金鑰只支援WEP,此命令不支援WPA的加密方式。