编译(前面的步骤见:编译、配置: 版本RT.1036,由于前版本的bug,现特更新为官方最新版本)
1. 下载
网卡 华硕WL-167G、TP-LINK TL-WN321G
驱动 RT73_Linux_STA_Drv1.1.0.4
点我进入下载页面:
Ralink Part Number |
Date |
Version |
Release |
RT5390PCIe |
11/26/2010 |
2.4.0.2 |
|
RT3090PCIe |
11/26/2010 |
2.4.0.2 |
|
RT8070/RT3070/RT3370 USB |
08/31/2010 |
2.4.0.1 |
|
RT3572USB |
09/15/2010 |
2.4.0.2 |
|
RT2860PCI/mPCI/CB/PCIe(RT2760/RT2790/RT2860/RT2890) |
07/16/2010 |
2.4.0.0 |
|
RT3062PCI/mPCI/CB/PCIe(RT3060/RT3062/RT3562/RT3592) |
11/26/2010 |
2.4.1.0 |
|
RT2860WebUI |
09/18/2009 |
2.2.0.0 |
|
RT2870USB(RT2870/RT2770) |
07/09/2010 |
2.4.0.1 |
|
RT2870WebUI |
08/20/2009 |
2.2.0.0 |
|
RT2501USB(RT73:RT2571W/RT2573/RT2671) |
08/17/2010 |
1.1.0.4 |
|
点我进入下载地址
查看Release Notes,和1.0.3.6 (编译,配置)相比,的改进/更新:
[V 1.1.0.4]
1.) Support Kernel 2.6.31
[V 1.1.0.3]
1.) Support kernel 2.6.29.
2.) Fix DHCP Tx using high data rate
*******************************************************************
[V 1.1.0.2]
1.) Support kernel 2.6.27.
*******************************************************************
[V 1.1.0.1]
1.) Modify for kernel 2.6.24 and up.
*******************************************************************
[V1.1.0.0]
1.) Use USB single write and new firmware to support USB single write.
2.) Support USB 1.1 and improve its throughput.
3.) Fix the bug: reboot AP,sta unload then load, excuting supplicant would
crash.
4.) Fix the AdHoc problem with Connexant STA at A band.
5.) Fix the problem: can't link to Broadcom AP,when AP set auth:wpa2 cipher:aes
6.) Ap set 802.1x & Fragmentation set 256,station can't connect AP
7.) There are hidden AP in enviroment,sta connect to AP hardly.
[V1.0.5.0]
1.) Fix the bug about deciding which BSSID is higher in IBSS mode.
[V1.0.4.1]
1.) Support configuration by NetworkManager
2.) Support linux kernel version 2.6.21
*******************************************************************
[V1.0.4.0]
1.) Support big endian
2.) Support x64 platform
3.) Support ATE function
4.) Fix the rekey issue on WPA-Preshared
5.) Add A-band country region code #8(W53), #9(J52), #10
6.) Fix Long/Short Preamble setting
7.) Show mix mode in the results of site survey if any
8.) Driver sends disassociate event to WPA Supplicant when AP turns off
9.) Bug Fixed: compile failed on FC5 kernel more than 2.6.15
*******************************************************************
看到前面的主要BUG部分有修正。。。
在有了前天(编译和配置)的移植基础,下面的就是按部就班了:
此处(在编译中)已修正,直接跳过
根据自带说明文档,修改rtmp_def.h尾部如下: 00831: /* Revision History by mike to support ASUS device of rt73 */ / 00832: {USB_DEVICE(0x0B05,0x1723)}, /* ASUS WL-167G ASUS */ / 00833: {USB_DEVICE(0x0B05,0x1724)}, /* ASUS */ / 00834: {USB_DEVICE(0,0)}} /* end marker */ 00835: 00836: 00837: #endif // __RTMP_DEF_H__ 新加00832,00833行 |
当然跳过./Configure,编辑 Makefile.6,
root@zanget:modules# mv Makefile Makefile.bak root@zanget:modules# cp Makefile.6 Makefile |
2. 修改
A. 将开头部分修改成:
#PLATFORM=PC
#PLATFORM=CMPC
## Revision History by mike
PLATFORM=ARM
## Revision History end
B. 内核树目录
ifeq ($(PLATFORM),PC)
LINUX_SRC =/lib/modules/$(shell uname -r)/build
endif
ifeq ($(PLATFORM),CMPC)
LINUX_SRC = /home/fonchi/vendor/kernel-default-2.6.21/linux-2.6.21
endif
## Revision History by mike
ifeq ($(PLATFORM),ARM)
LINUX_SRC = /opt/s3c-2416/linux-2.6.21
Endif
## Revision History end
C. 然后是NDDIR部分
## Revision History by mike
##Configuration files on ARM busybox
ifeq ($(PLATFORM),ARM)
BASE_DIR := /opt/s3c-2416/rootfs/custom
NDDIR = $(BASE_DIR)/etc/sysconfig/network
MOD_CONF = $(BASE_DIR)/etc/modprobe.d/module-renames
ND_CONF = $(BASE_DIR)/etc/sysconfig/network/ifcfg-rausb0
else
## Revision History end
ND_CONF=/etc/sysconfig/network-scripts/ifcfg-rausb0
endif
D. 然后是install部分
install:
make -C $(LINUX_SRC) /
3. 编译
root@zanget:modules# make root@zanget:rt73# make make -C /opt/s3c-2416/linux-2.6.21 SUBDIRS=/opt/s3c-2416/wireless-usb/driver/RT.1104/Module modules make[1]: 正在进入目录 `/opt/s3c-2416/linux-2.6.21' CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_main.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.o /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c: In function 'STAMlmePeriodicExec': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c:860: warning: unused variable 'RxSignal' /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c: In function 'AsicSwitchChannel': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c:3932: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c:3938: warning: comparison is always true due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c:3990: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c: In function 'AsicAdjustTxPower': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/mlme.c:4574: warning: comparison is always false due to limited range of data type CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/connect.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.o /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c: In function 'RTUSBInitRxDesc': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c:550: warning: passing argument 6 of 'RTusb_fill_bulk_urb' from incompatible pointer type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c: In function 'RTUSBBulkOutDataPacket': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c:649: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c: In function 'RTUSBBulkOutNullFrame': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c:705: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c: In function 'RTUSBBulkOutRTSFrame': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c:769: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c: In function 'RTUSBBulkOutMLMEPacket': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c:830: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c: In function 'RTUSBBulkOutPsPoll': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_bulk.c:882: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_io.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/sync.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/assoc.o /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/assoc.c: In function 'link_status_handler': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/assoc.c:749: warning: embedded '/0' in format /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/assoc.c:773: warning: embedded '/0' in format CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/auth.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/auth_rsp.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_data.o /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_data.c: In function 'RTUSBRxPacket': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_data.c:2233: warning: ISO C90 forbids mixed declarations and code /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtusb_data.c:2271: warning: ISO C90 forbids mixed declarations and code CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.o /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c: In function 'NICReadEEPROMParameters': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1188: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1201: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1218: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1318: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1322: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1330: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:1334: warning: comparison is always false due to limited range of data type /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c: In function 'RTMPCckBbpTuning': /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_init.c:3558: warning: comparison is always true due to limited range of data type CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/sanity.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_wep.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_info.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rtmp_tkip.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/wpa.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/md5.o CC [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/netif_block.o LD [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rt73.o Building modules, stage 2. MODPOST 1 modules CC /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rt73.mod.o LD [M] /opt/s3c-2416/wireless-usb/driver/RT.1104/Module/rt73.ko |
经过多次版本修正,官方驱动这次一下就成功了!
最后重新网卡驱动
4. 附加:
下面的部分上次(点我:编译)已经添加,下面只做标记
WARNING: "wireless_send_event" [/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rt73.ko] undefined! CC /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rt73.mod.o LD [M] /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rt73.ko make[1]:正在离开目录 `/opt/s3c-2416/linux-2.6.21'
当然还要解决这个问题: WARNING: "wireless_send_event" [/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rt73.ko] undefined!
参看http://blog.chinaunix.net/u1/34190/showart_289626.html
内核里添加了对无线的支持,进入内核目录,运行 root@zanget:linux-2.6.21#make menuconfig 选择 【device driver】→【Network device support】→【Wireless LAN (non-hamradio)】→【Wireless LAN drivers (non-hamradio) & Wireless Extensions】 |
配置见下一篇文章