腾达PCI无线网卡(W322P+)

最近组装的机器用的是CentOS 6.3 Final系统,内核中不识别这款PCI网卡Tenda Internal PCI Adapter (W322P+),需要手工编译其驱动。光盘中拷出for Linux的源码,解压到任意文件夹内,建议放在/opt/wireless下面。

腾达这款网卡用的芯片型号是RT2860,驱动器文件为:rt3562sta.o/rt3562sta.ko,支持的kernel版本:2.4/2.6。

1. 修改Makefile

set the “MODE = STA” in Makefile and chose the TARGET to Linux by set “TARGET = LINUX”
define the linux kernel source include file path LINUX_SRC
modify to meet your need.

在Makefile中确保第一二行为:

RT28xx_MODE = STA
TARGET = LINUX

确保PLATFORM = PC这行之前的注释符#去掉。

如果你修改过kernel的路径,那么你需要修改下面的地址。另外如果你的内核是2.4的,也需要修改下面的部分参数。

ifeq ($(PLATFORM),PC)
# Linux 2.6
LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE =
endif

保存后,编辑os/linux/config.mk文件,开启各种需要的参数和功能。比如我开启了:

HAS_WPA_SUPPLICANT=y

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

HAS_QOS_DLS_SUPPORT=y

HAS_DOT11_N_SUPPORT=y

HAS_STATS_COUNT=y

HAS_RESOURCE_PRE_ALLOC=y

如果有夸平台编译,需要修改下面的cc和ld,以及flags。其他的不用管了。

最后回到主目录,make。

复制文件

cp RT2860STA.dat  /etc/Wireless/RT2860STA/RT2860STA.dat

在os/linux/下会生成一个rt3562sta.ko文件(Kernel 2.6),insmod后即可使用,NetworkManager能识别网络。

重启后可能驱动不正常加载,移除后重新插入就行,我在/opt里写了个shell脚本:

#!/bin/sh
rmmod rt3562sta
insmod /home/hlx98007/wireless/os/linux/rt3562sta.ko

最后在/etc/rc.local中添加/opt/startup.sh一行,重启后会自动重新加载驱动,这样就直接就可以用了。

作者:小老外

我还需要不断地学习。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据