公司项目要用到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. 请求URL中有body怎么使用jmeter进行接口测试

    业务场景: 微信内免费领取激活码 1.点击“免费领取”按钮调取的接口 2.URL如下 https://yxyapi2.drcuiyutao.com/yxy-api-gateway/api/json/v ...

  2. js 变量与属性的区别

    在全局作用域下, 表明全局变量x,属性b,都是window的属性,因为在全局作用域下,浏览器默认会创建一个window对象. 说明变量x不能通过delete进行删除,但是属性y可以通过delete进行 ...

  3. python学习之基本类型

    #我的第一个python程序 print("hello world"); #多行字符串 print("""\ Usage: thingy [OPTIO ...

  4. HDU - 3949 :XOR(线性基,所有集合的不同异或和中,求从小到大第K个)

    XOR is a kind of bit operator, we define that as follow: for two binary base number A and B, let C=A ...

  5. Java关闭线程的安全方法

    Java之前有一个api方法可以直接关闭线程,stop(),由于这个方法是强制性地关闭线程,有的时候会发生错误,之后就取消了,现在可用的方法主要有两种: 1.  在线程中加入一个成员变量,当一个fla ...

  6. .Net Remoting编程 ---- 系列文章

    .Net Remoting(应用程序域) - Part.1 摘要: 本文是.Net Remoting系列的第一篇文章,讲述了Remoting的“前驱知识点”--应用程序域.传值封送(Marshal b ...

  7. rtrim,dirname,魔术常量用法

    $str = "Hello World!!!"; echo $str . "<br>"; echo rtrim($str,"!d" ...

  8. 加载rocksdb实例报错:java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\librocksdbjni3696928169151614297.dll

    项目的缓存中用到了rocksdb,实例化时报错了: Related cause: org.springframework.beans.factory.BeanCreationException: Er ...

  9. 从jvm角度来解析java语法糖

    java有很多语法糖,比如自动拆箱,自动装箱,foreach等等,这些原理相信每一个入门教程里都有讲,但是我相信不是每一个人 都通过查看这些语法糖的字节码来确认这些原理,因为我也是现在才想看一下. 1 ...

  10. MonGoDB问题笔记

    1. 最近出了一个问题,就是按日期查查不出来数据,经过折腾后发现,mongodb中的存储数据的日期格式与查询时使用的日期格式不匹配,导致查询出不来 //{"$and":[{ &qu ...