公司项目要用到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-   
(交叉编译工具链所在的路径)

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

DeviceDrivers 
--->

Networkdevice
support 
--->

WirelessLAN
(non-hamradio) 
--->

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

[*]  Wireless
Extension API
overRtNetlink

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

<>  
STRIP (Metricom starmode
radioIP)

<>  
USB ZD1201 based Wireless
devicesupport

<>  
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

最新文章

  1. Enterprise Achitect使用与类的关系的简单介绍
  2. java mysql 日期类型
  3. GridView与CheckBox完美结合
  4. Notepad++ Shortcuts 快捷键
  5. bhrs报表年结步骤
  6. 对话框Dialog
  7. Python3缩进对逻辑的影响
  8. 使用脚本管理IIS
  9. mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
  10. Libev学习笔记3
  11. 多线程面试题系列(5):经典线程同步 关键段CS
  12. MySQL中的内置系统函数
  13. 持久化 XSS:ServiceWorkers 利用
  14. 福利:工作经常用到的Mac软件整理(全)
  15. python基础知识8---条件和循环
  16. Rhel6.5 相关操作
  17. 一 Struts框架(上)
  18. Mybaits代码生成使用
  19. 【ASP.NET 插件】Plupload多格式多文件上传实现
  20. windows下一分钟配置ngnix实现HLS m3u8点播

热门文章

  1. 《转》浅谈EJB
  2. [emwin]关于渐变色使用须知
  3. HDU - 6197:array array array (简单LIS)
  4. 网络爬虫必备知识之urllib库
  5. SQLserver2008使用表达式递归查询
  6. SQL中遇到多条相同内容只取一条的实现
  7. NOIP2013 DAY2题解
  8. Redis 字符串(String)
  9. 记录一下 C51 里的位运算
  10. Indy10收发Hotmail邮件