首篇

1.   下载

网卡 华硕WL-167G、TP-LINK TL-WN321G
驱动 RT73_Linux_STA_Drv1.0.3.6
下载地址:点我下载

2.       解压,修改

根据自带说明文档,修改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





3.       配置

root@zanget:modules#./Configure 
 
-------------------- Ralink RT73 Station Configuration -------------------- 
 
  Linux kernel source directory [/usr/src/linux-2.6.28-19-generic]: /opt/s3c-2416/linux-2.6.21
 
  Linux kernel source directory : /opt/s3c-2416/linux-2.6.21
 
  Module install directory : /lib/modules/2.6.28-19-generic/kernel/drivers/net


 

还不如直接修改 modules/config.mk

LINUX_SRC=/opt/s3c-2416/linux-2.6.21
LINUX_SRC=/opt/s3c-2416/linux-2.6.21
TARGET_MODDIR=/opt/s3c-2416/rootfs/custom/lib/modules/2.6.21.5-cfs-v19


 

4.       编译

root@zanget:modules# make all
cc -D__KERNEL__ -I/opt/s3c-2416/linux-2.6.21/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /opt/s3c-2416/linux-2.6.21/include/linux/modversions.h -Wall -Wstrict-prototypes -Wno-trigraphs   -c -o rtmp_main.o rtmp_main.c
cc1: 错误: /opt/s3c-2416/linux-2.6.21/include/linux/modversions.h:没有那个文件或目录
In file included from /opt/s3c-2416/linux-2.6.21/include/linux/bitops.h:9,
                 from /opt/s3c-2416/linux-2.6.21/include/linux/thread_info.h:20,
                 from /opt/s3c-2416/linux-2.6.21/include/linux/preempt.h:9,
                 from /opt/s3c-2416/linux-2.6.21/include/linux/spinlock.h:49,
                 from /opt/s3c-2416/linux-2.6.21/include/linux/module.h:9,
                 from rt_config.h:63,
                 from rtmp_main.c:40:
/opt/s3c-2416/linux-2.6.21/include/asm/bitops.h: 在函数‘____atomic_set_bit’中:
/opt/s3c-2416/linux-2.6.21/include/asm/bitops.h:40: 警告: 隐式声明函数‘local_irq_save’
/opt/s3c-2416/linux-2.6.21/include/asm/bitops.h:42: 警告: 隐式声明函数‘local_irq_restore’
在包含自 /opt/s3c-2416/linux-2.6.21/include/linux/kobject.h:25 的文件中,
                 从 /opt/s3c-2416/linux-2.6.21/include/linux/module.h:17,
//…

看看就知道,这个是针对X86的,在当前目录下找到Makefile.6,发现是针对模块编译的,随即使用:

root@zanget:modules# make -f Makefile.6 all
make -C /opt/s3c-2416/linux-2.6.21 SUBDIRS=/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules modules
make[1]: 正在进入目录 `/opt/s3c-2416/linux-2.6.21'
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/Makefile:9: config.mk: 没有那个文件或目录
make[2]: *** 没有规则可以创建目标“config.mk”。 停止。
make[1]: *** [_module_/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules] 错误 2
make[1]:正在离开目录 `/opt/s3c-2416/linux-2.6.21'
make: *** [all] 错误 2

看到错误才醒悟:当前文件夹下的名字不对,Makefile.6必须改动:

root@zanget:modules# mv Makefile Makefile.bak
root@zanget:modules# mv Makefile.6 Makefile


修改相应路径

ifdef NDDIR
NDDIR := $(NDDIR)
else
NDDIR := /etc/sysconfig/network-scripts
Endif

之前添加:

## Revision History by mike
##Configuration files on ARM busybox
BASE_DIR := /opt/s3c-2416/rootfs/custom
NDDIR = $(BASE_DIR)/etc/sysconfig/network
MOD_CONF = $(BASE_DIR)/etc/modprobe.d/module-renames
## Revision History end


修改目标

all:

make -C /opt/s3c-2416/linux-2.6.21 SUBDIRS=$(shell pwd) modules

install:

    make -C /opt/s3c-2416/linux-2.6.21 /

 

开始编译:

root@zanget:modules# make
make -C /opt/s3c-2416/linux-2.6.21 SUBDIRS=/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules modules
make[1]: 正在进入目录 `/opt/s3c-2416/linux-2.6.21'
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.o
In file included from /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rt_config.h:99,
                 from /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c:40:
include/asm-i386/atomic.h:17: error: conflicting types for 'atomic_t'
include/asm/atomic.h:16: error: previous declaration of 'atomic_t' was here
include/asm-i386/atomic.h:45: error: expected identifier or '(' before 'void'
include/asm-i386/atomic.h:60: error: expected identifier or '(' before 'void'
include/asm-i386/atomic.h:77: error: expected ')' before '==' token
include/asm-i386/atomic.h:94: error: expected identifier or '(' before 'void'
//…


 

查看rt_config.h:99 就知道,这个是针对i386的,直接修改:

modules/rt_config.h

00100: //Revision History by mike
00101: //#include <asm-i386/atomic.h>
00102: #include <asm/atomic.h>
00103: //Revision History End

 

重新开始编译:

root@zanget:modules# make
make -C /opt/s3c-2416/linux-2.6.21 SUBDIRS=/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules modules
make[1]: 正在进入目录 `/opt/s3c-2416/linux-2.6.21'
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c: In function 'CMDHandler':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c:300: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c: In function 'usb_rtusb_probe':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c:2065: error: 'struct net_device' has no member named 'get_wireless_stats'
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c:2085: warning: unused variable 'device'
make[2]: *** [/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.o] 错误 1
make[1]: *** [_module_/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules] 错误 2
make[1]:正在离开目录 `/opt/s3c-2416/linux-2.6.21'
make: *** [all] 错误 2

 

这位仁兄给了如何修改这种错误:

http://hi.baidu.com/inter_recoba20/blog/item/3bd1b953ac74b612377abe20.html

我当然是直接注解:


modules/rtmp_main.c

02064: #if WIRELESS_EXT >= 12
02065:
02066: //Revision History by mike
02067: /* V20 to V21
02068: * ----------
02069: * - Remove (struct net_device *)->get_wireless_stats()
02070: */
02071: // netdev->get_wireless_stats = rt73_get_wireless_stats;
02072: //Revision History end
02073: netdev->wireless_handlers = (struct iw_handler_def *) &rt73_iw_handler_def ;
02074: #endif

 

之后编译就正常了:

root@zanget:modules# make
make -C /opt/s3c-2416/linux-2.6.21 SUBDIRS=/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules modules
make[1]: 正在进入目录 `/opt/s3c-2416/linux-2.6.21'
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c: In function 'CMDHandler':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c:300: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c: In function 'usb_rtusb_probe':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_main.c:2092: warning: unused variable 'device'
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeHandler':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:321: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:398: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeSuspend':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:461: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:496: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmePeriodicExec':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:607: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'STAMlmePeriodicExec':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:852: warning: unused variable 'RxSignal'
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeEnqueue':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3270: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeEnqueueForRecv':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3356: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeDequeue':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3398: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeQueueEmpty':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3483: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeQueueFull':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3504: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'MlmeQueueDestroy':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3525: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'AsicSwitchChannel':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3822: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3828: warning: comparison is always true due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:3880: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c: In function 'AsicAdjustTxPower':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/mlme.c:4439: warning: comparison is always false due to limited range of data type
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/connect.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutDataPacketComplete':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:159: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutNullFrameComplete':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:206: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutRTSFrameComplete':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:258: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutMLMEPacketComplete':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:322: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutPsPollComplete':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:372: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBInitRxDesc':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:532: warning: passing argument 6 of 'RTusb_fill_bulk_urb' from incompatible pointer type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutDataPacket':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:558: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:581: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:594: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:622: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:631: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutNullFrame':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:668: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:687: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutRTSFrame':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:733: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:751: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutMLMEPacket':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:789: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:812: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBBulkOutPsPoll':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:848: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:864: warning: passing argument 4 of 'RTUSBInitTxDesc' from incompatible pointer type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBCleanUpDataBulkOutQueue':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:1098: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBCleanUpMLMEBulkOutQueue':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:1126: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c: In function 'RTUSBCancelPendingBulkOutIRP':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_bulk.c:1275: warning: comparison of distinct pointer types lacks a cast
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_io.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_io.c: In function 'RTUSBEnqueueCmdFromNdis':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_io.c:629: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_io.c: In function 'RTUSBEnqueueInternalCmd':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_io.c:733: warning: comparison of distinct pointer types lacks a cast
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/sync.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/assoc.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/auth.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/auth_rsp.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c: In function 'RTMPSendPacket':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:284: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c: In function 'RTUSBRejectPendingPackets':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:1410: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c: In function 'RTMPDeQueuePacket':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:1641: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:1659: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:1694: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:1725: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c: In function 'RTUSBDequeueMLMEPacket':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:2272: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:2289: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c: In function 'RTUSBCleanUpMLMEWaitQueue':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:2324: warning: comparison of distinct pointer types lacks a cast
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c: In function 'MiniportMMRequest':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtusb_data.c:2458: warning: comparison of distinct pointer types lacks a cast
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c: In function 'NICReadEEPROMParameters':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1053: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1066: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1083: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1183: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1187: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1195: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:1199: warning: comparison is always false due to limited range of data type
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c: In function 'RTMPCckBbpTuning':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_init.c:3207: warning: comparison is always true due to limited range of data type
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/sanity.o
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/sanity.c: In function 'RTMPWPAWepKeySanity':
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/sanity.c:1177: warning: unused variable 'i'
/opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/sanity.c:1176: warning: unused variable 'CipherAlg'
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_wep.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_info.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rtmp_tkip.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/wpa.o
  CC [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/md5.o
  LD [M]  /opt/s3c-2416/usb-wireless/linux/rt73_Linux_STA_Drv1.0.3.6/modules/rt73.o
  Building modules, stage 2.
  MODPOST 1 modules
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!

 

内核里添加了对无线的支持,进入内核目录,运行

root@zanget:linux-2.6.21#make menuconfig

选择

device driverNetwork device supportWireless LAN (non-hamradio)Wireless LAN drivers (non-hamradio) & Wireless Extensions

 

重新编译内核即可,最后重新网卡驱动