WL-167g(ASUS)USB无线网卡在ARM平台上的运行
2011-08-22 15:52:46| 分类: Technology|字号 订阅
一: ASUS WL-167g USB无线网卡用的是Ralink公司的WiFi芯片,俗称RT73系列。
二: 在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的加密方式。
二: 在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的加密方式。