公司项目要用到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

移植RT2870无线网卡驱动到s3c2416的更多相关文章

  1. 在CDlinux下编译安装无线网卡驱动

    环境 主机:ThinkPadT440P 系统:CDlinux9.7.1 概述 准备利用CDlinux来破解周围的wifi密码来免费蹭网,由于笔记本是新买的,系统没有自带驱动,只能自己手动到网上下载.编 ...

  2. TinkPad E40 CentOS 6.5 无线网卡驱动 RTL8191SEvB 安装

    最近把一台老本TinkPad E40 安装了CentOS 6.5 其他都没什么问题,唯独没有无线网卡驱动. 通过命令: lspci | grep Network 查看无线网卡型号: 然后去瑞昱官网找驱 ...

  3. Ubuntu 安装BCM 43142无线网卡驱动

    ubuntu14.04 安装 bcm43142无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo apt-get ins ...

  4. CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动

    一.前言 CentOS6.5不像CentOS7和Unbuntu那样自动安装好了无线网卡驱动,因此需要我们折腾一下. 二.安装前的准备工作   [a] 检查无线网卡驱动的安装情况(通过查看网络接口的安装 ...

  5. Ralink RT3290无线网卡驱动安装 (linux)

    Ralink RT3290无线网卡驱动安装 (linux, 笔记备忘) 1. 设备信息查看无线网卡设备信息 # lspci : 2. 驱动下载http://pan.baidu.com/s/1sjsHN ...

  6. UBUNTU12.4 安装磊科无线网卡驱动

    UBUNTU12.4 安装磊科无线网卡驱动 在淘宝低价买了一个网卡,回来发现不能用 ,擦 无语了. 无赖只能在网上各种找驱动,编译 安装 .今天在终于安装好了WIFI驱动了: 下载地址:https:/ ...

  7. iwpriv工具通过ioctl动态获取相应无线网卡驱动的private_args所有扩展参数

    iwpriv工具通过ioctl动态获取相应无线网卡驱动的private_args所有扩展参数 iwpriv是处理下面的wlan_private_args的所有扩展命令,iwpriv的实现上,是这样的, ...

  8. linux 下手动编译安装无线网卡驱动

    先参照 <本地yum源安装GCC >安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题.在这里做 ...

  9. ThinkPad E431/E531 ubuntu 14.04 安装无线网卡驱动

    ubuntu系统装好之后无限网卡驱动并不能用.须要自己下载无线网卡驱动.以下是最简单的方法: sudo apt-get install linux-headers-generic build-esse ...

随机推荐

  1. phpcms内容限制(转发自王小明爱红领巾)

    因为页面显示需要对文章内容做剪切,所以用到{str_cut($r[content],60)},但是出现了乱码 所以 {str_cut(strip_tags($r[content]),60)}加stri ...

  2. R-一页多图

    https://blog.csdn.net/ailsa__/article/details/45932753

  3. ES中保护对象的措施总结

    必要性:  JS中的对象可随意修改属性值,可随意添加删除属性,太乱,数据安全得不到保障. 如何保护: 保护属性: 保护对属性值的修改 对象属性分为: 命名属性: 可直接用.访问到的属性 数据属性: 直 ...

  4. 正则化项L1和L2的区别

    https://blog.csdn.net/jinping_shi/article/details/52433975 https://blog.csdn.net/zouxy09/article/det ...

  5. HDU - 5297:Y sequence (迭代&容斥)

    Yellowstar likes integers so much that he listed all positive integers in ascending order,but he hat ...

  6. 一种 jquery 检索方案

    整理自:http://www.cnblogs.com/linjiqin/archive/2011/03/18/1988464.html <!DOCTYPE HTML PUBLIC "- ...

  7. 剑指offer—第二章算法之快速排序

    算法:排序和查找(二分查找,归并排序,快速排序),位运算等. 查找:顺序查找,哈希查找,二叉排序树查找,哈希表. 二分查找可以解决:"旋转数组中的最小数字","数字在排序 ...

  8. DbEntry 访问Access2010数据库

    在用DbEntry访问Access2010的时候报错如下: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序 解决方案: 安装AccessDatabaseEngine组 ...

  9. webpack中多模块依赖

    多模块依赖 刚才的例子,我们仅仅是跑通了webpack通过entry.js入口文件进行打包的例子.下面我们就来看一下它是否真的支持CommonJs和AMD两种模块机制呢?下面我们新建多几个js文件吧! ...

  10. 笔记:LIR2032 电池充电记录

    笔记:LIR2032 电池充电记录 LIR2032 电池是锂电池,形状和 CR2032 一样,只不过可以充电,材料是锂离子. 一个单颗的 LIR2032 电池容量只有 40mAH,容量很小. 那么就需 ...