1.下载驱动源码,雷凌官网的下载地址是:
http://www.ralinktech.com/en/04_support/support.php?sn=501
2.解压2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2
3.进入目录,修改Makefile
将PLATFORM = PC 注释掉,同时将#PLATFORM = SMDK的#去掉,即PLATFORM定义为SMDK.
将ifeq ($(PLATFORM),SMDK)这句后面的两句改为:
LINUX_SRC = /root/下载/linux-2.6.32.2
CROSS_COMPILE = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-
第一个值是mini2440光盘中的内核源码所解压的,这个源码对应的是你开发板中的内核,而且有友善配置好的配置文件。使用其他源码会出现各种问题,比如invalid module format和版本不对等。我的做法是,直接解压光盘的源码,然后执行
cp config_mini2440_w35 .config #w35是我的LCD型号,按你的具体情况选择配置文件
然后执行
make clean
make zImage
生成一个新内核,这么做的目的是,完全配置好了所需的一些文件,以免在编译模块时老是报错,开始我居然编译了一个12M的驱动模块,后来成功了,其实是只有800多KB。最后的rt5370sta.ko的大小仅供参考。
第二个值是交叉编译工具的路径。根据你自己的情况修改。
4.执行make
5.下载模块和配置文件
把make生成的在os/linux 目录生成最后的ko文件rt5370sta.ko传送到开发板的/lib/modules/2.6.32.2-FriendlyARM目录下。同时要将源代码根目录的RT2870STA.dat文件传送到/etc/Wireless/RT2870STA/ 目录下,没有的话,新建目录即可。
6.安装模块。
依次执行
depmod
modprobe rt5370sta
我的安装情况如下:
点击(此处)折叠或打开
- [root@FriendlyARM /]# cp /udisk/rt5370sta.ko /lib/modules/2.6.32.2-FriendlyARM/
- [root@FriendlyARM /]# depmod
- [root@FriendlyARM /]# modprobe rt5370sta
- rtusb init rt2870 --->
- usbcore: registered new interface driver rt2870
如果出现以下报错,说明你的内核源码错了,按照步骤3的说明重新去处理内核源码。
rt5370sta: version magic '2.6.32.59 mod_unload ARMv4 ' should be '2.6.32.2-Frie'
insmod: cannot insert 'rt5370sta.ko': invalid module format
最后就是插入网卡,这个时候ifconfig是看不到网卡的,你要启用网卡,用以下命令:
ifconfig ra0 up
我的情况是这样的:
点击(此处)折叠或打开
- [root@FriendlyARM /]# ifconfig ra0 up
-
(Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc]
-
-->RTUSBVenderReset
-
<--RTUSBVenderReset
- Key1Str is Invalid key length(0) or Type(0)
- Key2Str is Invalid key length(0) or Type(0)
- Key3Str is Invalid key length(0) or Type(0)
- Key4Str is Invalid key length(0) or Type(0)
- 1. Phy Mode = 5
- 2. Phy Mode = 5
- NVM is Efuse and its size =2d[2d0-2fc]
- phy mode> The chip does not support 5G band
- RTMPSetPhyMode: channel is out of range, use first channel=1
-
(Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc]
- 3. Phy Mode = 9
- AntCfgInit: primary/secondary ant 0/1
- AsicSetRxAnt, switch to main antenna
- MCS Set = ff 00 00 00 01
-
<==== rt28xx_init, Status=0
- 0x1300 = 00064300