公司项目要用到usb无线网卡,芯片是ralink的RT2870.以下是将其驱动移植到s3c2416的步骤。
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
将ifeq ($(PLATFORM),SMDK)这句后面的两句改为:
LINUX_SRC =
/root/下载/linux-2.6.32.2
CROSS_COMPILE =
/usr/local/arm/4.4.3/bin/arm-linux-
WirelessLAN
(non-hamradio)
<>
<>
<>
不然你即使编译好了这个模块也不能用
配置好后保存,最好make下!
注意:如果编译出来模块比较大(10M左右)可以试试一下方法:
用命令:arm-linux-strip -S
****.ko
原理就是去除调试信息,如果出现错误有可能是你的arm-linux-gcc没指名路径,在前面再加上你的交叉编译路径即可。我的大小为800多K。
第二个值是交叉编译工具的路径。根据你自己的情况修改。
4.执行make
5.下载模块和配置文件
把make生成的在os/linux
目录生成最后的ko文件rt5370sta.ko传送到开发板的/lib/modules/2.6.32.2-FriendlyARM目录下。同时要将源代码根目录的RT2870STA.dat文件传送到/etc/Wireless/RT2870STA/
目录下,没有的话,新建目录即可。
6.安装模块。
insmod rt5370sta.ko
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
-
<</SPAN>--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 -
<</SPAN>====
rt28xx_init, Status=0
-
0x1300
= 00064300
再次ifconfig,就能看到ra0的网卡了。