移植RT2870无线网卡驱动到s3c2416

公司项目要用到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  注释掉,同时将#PLATFORM = SMDK的#去掉,即PLATFORM定义为SMDK.
将ifeq ($(PLATFORM),SMDK)这句后面的两句改成:
LINUX_SRC = /root/下载/linux-2.6.32.2   (这里根据本身的开发板的内核源码路径来定义)
CROSS_COMPILE = /usr/local/arm/4.4.3/bin/arm-linux-    (交叉编译工具链所在的路径)php

 

  先看看内核配置是否把无线给加进去了:进入开发板内核 make menuconfig html

 DeviceDrivers  --->     linux

                Networkdevice support  --->web

WirelessLAN (non-hamradio)  ---> less

  [*]Wireless LAN drivers (non-hamradio) & WirelessExtensions                    ide

     [*]  Wireless Extension API overRtNetlink                                       工具

         ---  Obsolete Wireless cards support(pre-802.11)                                  spa

<>   STRIP (Metricom starmode radioIP)                                          调试

<>   USB ZD1201 based Wireless devicesupport                                    orm

<>   IEEE 802.11 for H

否则你即便编译好了这个模块也不能用

配置好后保存,最好make下!

  生成一个新内核,这么作的目的是,彻底配置好了所需的一些文件,以避免在编译模块时总是报错,开始我竟然编译了一个12M的驱动模块,后来成功了,实际上是只有800多KB。最后的rt5370sta.ko的大小仅供参考。

注意:若是编译出来模块比较大(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

若是出现如下报错,说明你的内核源码错了,按照步骤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
个人状况是这样的:

点击(此处)折叠或打开

  1. [root@FriendlyARM /]# ifconfig ra0 up 
  2. (Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc] 
  3. -->RTUSBVenderReset 
  4. <</SPAN>--RTUSBVenderReset 
  5. Key1Str is Invalid key length(0) or Type(0) 
  6. Key2Str is Invalid key length(0) or Type(0) 
  7. Key3Str is Invalid key length(0) or Type(0) 
  8. Key4Str is Invalid key length(0) or Type(0) 
  9. 1. Phy Mode = 5 
  10. 2. Phy Mode = 5 
  11. NVM is Efuse and its size =2d[2d0-2fc] 
  12. phy mode> The chip does not support 5G band 
  13. RTMPSetPhyMode: channel is out of range, use first channel=1 
  14. (Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc] 
  15. 3. Phy Mode = 9 
  16. AntCfgInit: primary/secondary ant 0/1 
  17. AsicSetRxAnt, switch to main antenna 
  18. MCS Set = ff 00 00 00 01 
  19. <</SPAN>==== rt28xx_init, Status=0 
  20. 0x1300 = 00064300

再次ifconfig,就能看到ra0的网卡了。

 如何验证个人无线网卡是否已经能够正常使用了??

 请看个人下片文章:RT2870移植到s3c2416后续验证无线网卡:iwconfig的使用方法

http://blog.sina.com.cn/s/blog_7d7e9d0f0101l13k.html 

相关文章
相关标签/搜索