华硕WL-167G USB 无线网卡ARM移植 (1:编译: 版本RT.1036 )

时间:2022-06-19 00:27:10

首篇

 

 

 

1.   下载

网卡 华硕WL-167GTP-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__

 

新加0083200833

 

 

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.h25 的文件中,

                  /opt/s3c-2416/linux-2.6.21/include/linux/module.h17

//…

看看就知道,这个是针对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

 

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