移植RT2870无线网卡驱动到s3c2416

发布者:自由漫步最新更新时间:2023-09-14 来源: elecfans关键字:移植  无线网卡驱动  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
我的情况是这样的:

点击(此处)折叠或打开

  1. [root@FriendlyARM /]# ifconfig ra0 up 

  2. (Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc] 

  3. -->RTUSBVenderReset 

  4. <--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. <==== rt28xx_init, Status=0 

  20. 0x1300 = 00064300

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


关键字:移植  无线网卡驱动  s3c2416 引用地址:移植RT2870无线网卡驱动到s3c2416

上一篇:关于《s3c2416裸跑环境配置》一文的一些补充
下一篇:从sys/power/state分析并实现S3C2416的睡眠和唤醒

推荐阅读最新更新时间:2024-11-07 14:07

PPP拨号在ARM2410平台上的移植
本次PPP移植是在三星arm2410的平台上进行的,所用的工作环境为:   Kernel: 2.4.18Sysvinit:2.86Tinylogin:1.4Glibc: 2.2.5CC:3.3PPP: 2.4.1U-boot:1.1.3一、具体操作步骤首先编译内核支持 PPP:   $make menuconfig l$make ARCH=arm CROSS_COMPILE=/../arm-linux- zImage$./mkimage2410 uImage其中mkimage2410文件来自u-boot1.1.1 需要根据你的路径修改mkimage2410的内容,指定mkimage文件的位置。   第二步,制作文件系统:   1.
[嵌入式]
linux-2.6.35.3内核移植(s3c2440)
宿 主机:Fedora13 目标 机:s3c2440 交叉 编译 器:arm-linux-gcc-3.4.1 交叉编译器路径:/usr/local/arm/3.4.1 要移植 的内核 版本:linux-2.6.35.3 文件 系统 类型: yaffs2 一、准备工作 1、下载 解压内核 从官网上下载linux-2.6.35的内核, ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ ,文件不大,约85M。 新建一个工作目录s3c2440,将内核源码包拷贝至工作目录下,再解压。 2、移植yaffs2驱动 下载最新的驱动http://www.aleph1.co.uk/cgi
[单片机]
51上移植ucosii的心得
  自嵌进式系统开发以来,很长时间都采用前后台系统软件设计模式:主程序为一个无穷循环,单任务顺序执行。通过设置一个或多个中断来处理异步事件。   这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。    μC/OS-II 是一种基于优先级的抢占式多 任务实时操纵系统,包含了实时内核、任务治理、时间治理、任务间通讯同步(信号量,邮箱,消息队列)和内存治理等功能。它可以使各个任务独立工作,互不干 涉,很轻易实现准时而且无误执行,使实时应用程序的设计和扩展变得轻易,使应用程序的设计过程大为减化。而且它内核源代码公然,可移植性强,为编程职员提 供了很好的一
[单片机]
uC/OS-II在51单片机上的移植2
文件名 : YY.C #i nclude #define MAX_STK_SIZE 64 void TaskStartyya(void *yydata) reentrant; void TaskStartyyb(void *yydata) reentrant; void TaskStartyyc(void *yydata) reentrant; OS_STK TaskStartStkyya ;//注意:我在ASM文件中设置?STACK空间为40H即64,不要超出范围。 OS_STK TaskStartStkyyb ;//用户栈多一个字节存长度 OS_STK TaskStartStkyyc ; void main(void)
[单片机]
Linux-2.6.32.2内核在mini2440上的移植(八)---添加ADC驱动
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,linux 版本:linux-2.6.32.2 7,参考文章: 嵌入式linux应用开发完全手册,韦东山,编著。 Mini2440 之Linux 移植开发实战指南 【1】关于S3C2440 的ADC 和触摸屏接口 在 S3C2440 芯片中,AD
[单片机]
Linux-2.6.32.2内核在mini2440上的<font color='red'>移植</font>(八)---添加ADC<font color='red'>驱动</font>
基於tiny4412的Linux內核移植--- 中斷和GPIO學習(2)
平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uImage做了稍許改動 我們以控制tiny4412上的LED1和LED2爲例,使用的GPIO是GPM4_0和GPM4_1對應的原理圖如下: datasheet如下: 在samsung的pinctrl驅動中加一些調試用的log: 1 diff --git a/drivers/gpio/gpiolib.c
[单片机]
基于ARM的嵌入式linux 内核的裁剪与移植
0 引言 微处理器的产生为价格低廉、结构小巧的CPU和外设的连接提供了稳定可靠的硬件架构,这样,限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,已经陆续出现了一些嵌入式操作系统(比较著名的有Vxwork、pSOS、Neculeus和Windows CE)。但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。而Linux的开放性,使得许多人都认为Linux非常适合多数Intemet设备。Linux操作系统可以支持不同的设备和不同的配置。Linux对厂商不偏不倚,而且成本极低,因而很快成为用于各种设备的操作系统。嵌入式linux是大势所趋
[单片机]
GD32代码移植STM32(一)
GAIWEI例子:GD32F103移植STM32F103 使用相同FLASH和管脚数量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。虽然两个款芯片的寄存器地址以及架构基本相同。但是需要注意的是GD32F10x主频是108兆,但是STM32F10x主频是72兆。所以需要针对以RCC时钟进行修改。 1.先将芯片的选项进行修改:查找对应芯片。 2.将STM32的启动文件替换成GD的启动文件。 3.修改时钟相关配置。 打开stm32f10x.h文件,#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*! Time out for HSE start up
[单片机]
GD32代码<font color='red'>移植</font>STM32(一)

推荐帖子

[原创].使用Nios II 9.1 SP1 SBTE的Flash Programmer的几点注意事项.[Nios II]
自从Altera公司推出NiosII9.1SoftwareBuildToolsforEclipse(简称NiosII9.1SBTE),许多新特性的引入,令众多使用者感到欣慰,尤其是在编译的速度上。但是NiosII9.1SBTE并不完美,譬如说无法调用用户自定义外设的HAL文件、无法使用FlashProgrammer正常固化程序到EPCS。2010年2月27日,Altera公司释出9.1SP1,其中NiosIISBTE无法正常固化程序到EPCS的问题得到初步
yuphone FPGA/CPLD
CRC校验编程和硬件快速校验探讨
来源:单片机与嵌入式系统应用作者:大连理工大学邹久朋林瑶瑶周建引言循环冗余校验(CyclicRe&mdancyCheck,CRC)是最为常用的计算机和仪表数据通信的校验方法。CRC码是一种线性分组码,编码简单但具有很强的检错纠错能力。除了各种嵌入式仪表、变频器等设备,还有一些数字型传感器的输出数据也提供CRC码,如数字温度传感器DSl8820、集成温湿度采集芯片SHTll等。但是,各厂商所提供的CRC校验多项式(用于同通信码模除)互有差别,且有CRC一8和CRC一16
wuquan-1230 嵌入式系统
MCS-51系列单片机Keil C语言源程序集
MCS-51系列单片机KeilC语言源程序集MCS-51系列单片机KeilC语言源程序集verygood!最近正在学感谢楼主分享好东东,顶一个先!fx分享一下楼主的好资料!谢谢了。顶起,对我这些初学者真是宝贵啊……回复谢谢楼主分享顶楼主!谢谢分享!!!!!回复楼主wangwei20060608的帖子好东西啊,楼主辛苦了谢谢楼主分享谢谢楼主分享谢谢!好东西,感谢LZ分享~~~~好人哇下来看看
wangwei20060608 51单片机
BMS电池管理系统调试指导手册V1.0
分享一个北京一家bms厂家对于他们的bms电池系统的调试指导手册。BMS电池管理系统调试指导手册V1.0谢谢分享 不客气了谢谢分享!厉害了:)谢谢分享,受益了谢谢分享{:1_103:}谢谢分享下来看看 谢谢楼主了,学习一下。 谢谢分享谢谢分享!谢谢分享!谢谢分享学习了谢谢分享,下载学习了,刚好有一个电池项目,希望有帮助。
alan000345 汽车电子
TMS570LC43x LaunchPad board DCAN1与DACN2通信
对于TMS570LC43xLaunchPadboard,能够直接将DCAN1和DCAN2的Tx与Rx直接相连进行通信吗,就像用两个串口那样。如果能,该怎样连接,是DCAN1_Rx接DCAN2_Tx,DCAN1_Tx接DCAN2_Rx;还是DCAN1_Rx接DCAN2_Rx,DCAN1_Tx接DCAN2_Tx?TMS570LC43xLaunchPadboardDCAN1与DACN2通信请问你那里还有TMS570LC43x关于CAN的程序吗?能否发给我让我学习一下
LiYabin 微控制器 MCU
功率电子
问一下,功率电子仿真中,如何控制全桥或者半桥MOS管的开通与关断,怎么加PWM波信号呀,比如半桥中,我先让MOS管1先导通,然后经过一段死区之后,MOS管2再导通,怎么生成这两个PWM波,这部分涉及什么知识模块。(主要用simulink仿真)。功率电子【功率电子仿真中,如何控制全桥或者半桥MOS管的开通与关断,怎么加PWM波信号呀,比如半桥中,我先让MOS管1先导通,然后经过一段死区之后,MOS管2再导通,怎么生成这两个PWM波】通常生成PWM信号包括死区是使用专门的芯片。这类芯
爱干饭 汽车电子
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved