移植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-
(交叉编译工具链所在的路径)
先看看内核配置是否把无线给加进去了:进入开发板内核 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
我的情况是这样的:
点击(此处)折叠或打开
- [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的网卡了。
如何验证我的无线网卡是否已经可以正常使用了??
请看我的下片文章:RT2870移植到s3c2416后续验证无线网卡:iwconfig的使用方法
移植RT2870无线网卡驱动到s3c2416的更多相关文章
- 在CDlinux下编译安装无线网卡驱动
环境 主机:ThinkPadT440P 系统:CDlinux9.7.1 概述 准备利用CDlinux来破解周围的wifi密码来免费蹭网,由于笔记本是新买的,系统没有自带驱动,只能自己手动到网上下载.编 ...
- TinkPad E40 CentOS 6.5 无线网卡驱动 RTL8191SEvB 安装
最近把一台老本TinkPad E40 安装了CentOS 6.5 其他都没什么问题,唯独没有无线网卡驱动. 通过命令: lspci | grep Network 查看无线网卡型号: 然后去瑞昱官网找驱 ...
- Ubuntu 安装BCM 43142无线网卡驱动
ubuntu14.04 安装 bcm43142无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo apt-get ins ...
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
一.前言 CentOS6.5不像CentOS7和Unbuntu那样自动安装好了无线网卡驱动,因此需要我们折腾一下. 二.安装前的准备工作 [a] 检查无线网卡驱动的安装情况(通过查看网络接口的安装 ...
- Ralink RT3290无线网卡驱动安装 (linux)
Ralink RT3290无线网卡驱动安装 (linux, 笔记备忘) 1. 设备信息查看无线网卡设备信息 # lspci : 2. 驱动下载http://pan.baidu.com/s/1sjsHN ...
- UBUNTU12.4 安装磊科无线网卡驱动
UBUNTU12.4 安装磊科无线网卡驱动 在淘宝低价买了一个网卡,回来发现不能用 ,擦 无语了. 无赖只能在网上各种找驱动,编译 安装 .今天在终于安装好了WIFI驱动了: 下载地址:https:/ ...
- iwpriv工具通过ioctl动态获取相应无线网卡驱动的private_args所有扩展参数
iwpriv工具通过ioctl动态获取相应无线网卡驱动的private_args所有扩展参数 iwpriv是处理下面的wlan_private_args的所有扩展命令,iwpriv的实现上,是这样的, ...
- linux 下手动编译安装无线网卡驱动
先参照 <本地yum源安装GCC >安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题.在这里做 ...
- ThinkPad E431/E531 ubuntu 14.04 安装无线网卡驱动
ubuntu系统装好之后无限网卡驱动并不能用.须要自己下载无线网卡驱动.以下是最简单的方法: sudo apt-get install linux-headers-generic build-esse ...
随机推荐
- 用 hash 找出指定一个数, 这个数是数组两个值的总和, 找出两个值的坐标
var twoSum = function(nums, target) { var len = nums.length; var exist = {} //这里利用了hash来存放已知的 exist[ ...
- Android application testing with the Android test framework
目录(?)[-] Android automated testing 1 How to test Android applications Tip 2 Unit tests vs functional ...
- Lua基础---流程控制语句
Lua提供了if语句和if else语句作为流程控制语句,当然,符合C的特点,流程语句之间可以实现嵌套操作,当然流程控制也可以和循环体结合进行控制. 1.if语句 if(布尔表达式) then --[ ...
- Android 进阶10:进程通信之 Messenger 使用与解析
读完本文你将了解: Messenger 简介 Messenger 的使用 服务端 客户端 运行效果 使用小结 总结 代码地址 Thanks 前面我们介绍了 AIDL 的使用与原理,这篇文章来介绍下 A ...
- 机器人研发十大热门编程语言:不死 Java、不朽 C/C ++、新贵 Python
流水的编程语言,铁打的 Java.C/C++. 进行人工智能机器人研发,应该选择哪种编程语言? 这是很多机器人专家在自身的职业生涯中都会存在的一个入门级思考.毕竟,在学习一门编程语言时,需要花费大量的 ...
- 一个高性能RPC框架的连接管理
既然说连接,先对EpollServer的连接管理做个介绍吧.客户端与服务器一次conn,被封装成为Connection类在服务器进行管理. 服务器连接有三种类型,分别为: enum EnumConne ...
- vs中删除nuget包
最近发现有些解决方案都是用来nuget包,这个偶尔能跑,但是有一个爱抽风的毛病,生成解决方案的时候报错:无法连接到远程服务器,真几把蛋疼.... 就是下图的情况 网上找了下不是很容易找到处理这个问题的 ...
- Robot Framework接口测试(3)--http请求之post
http请求更多的是post请求,我们可以:查看说明:很多网站在登录的时候需要加上头部信息即headers,这个信息可以通过抓包工具获得——fiddler,一个轻量级的抓包工具,大神用了都说好~这里模 ...
- c#联网判断
引用命名空间:sing System.Net.NetworkInformation; var address = "www.baidu.com"; Ping ping = null ...
- 学习动态性能表(5)--v$session
学习动态性能表 第五篇--V$SESSION 2007.5.29 在本视图中,每一个连接到数据库实例中的session都拥有一条记录.包括用户session及后台进程如DBWR,LGWR,arcch ...