文档章节

TQ2440上移植RT3070AP过程

天嵌科技
 天嵌科技
发布于 2016/03/21 13:50
字数 911
阅读 14
收藏 0

   硬件:TQ2440,USB RT3070

  编译环境:ubuntu、TQ提供的EABI-4.3.3、网上下载的2010_0203_RT3070_SoftAP_v2.4.0.1_DPA包

  配置好编译环境,解压2010_0203_RT3070_SoftAP_v2.4.0.1_DPA

 

 

  移植过程:

 

  1、修改配置相关文件

  进入2010_0203_RT3070_SoftAP_v2.4.0.1_DPA

  下面有3个文件夹MODULE、NETIF、UTIL

  分别修改3个Makefile文件

  将PLATFORM = SMDK打开,其他注释掉

  然后配置平台,LINUX_SRC是内核的绝对路径

  ifeq ($(PLATFORM),SMDK)

  LINUX_SRC = /opt/EmbedSky/linux-2.6.30.4

  CROSS_COMPILE = arm-linux-

  endif

  另外需要修改的地方

  NETIF/os/linux/usb_main_dev.c中添加MODULE_LICENSE("GPL");

  MODULE/common/rtmp_init.c中的MODULE_LICENSE("RALINK");改为MODULE_LICENSE("GPL");

 

  2、编译

  用make或者make ARCH=arm KBUILD_NOPEDANTIC=1编译都行

  但是make编译时没有生成rtnet3070ap.ko

  进入NETIF文件夹直接make也可以生成ko文件

 

  3、拷到开发板上的文件

  上述三个文件夹的os/linux下的ko文件rtutil3070ap.ko、rt3070ap.ko、rtnet3070ap.ko

  再加一个MODULE下的RT2870AP.dat文件

  四个文件copy到u盘,插到开发板上

 

  4、开发板配置

  在开发板的/etc/Wireless下创建一个文件夹RT2870AP,将RT2870AP.dat放到此文件夹下

  将另外三个ko文件放到/usr下,这个可以自己定义

 

  5、加载

  按顺序加载

  #insmod rtutil3070ap.ko

  #insmod rt3070ap.ko

  #insmod rtnet3070ap.ko

  如果不允许加载

  用lsmod查看目前存在的模块

  如果有rt5370就卸载再上述顺序加载,TQ开发板默认安装了这个ko文件,卸载命令rmmod rt5370sta.ko

 

  6、可能遇到问题

  如果上述一切正常

  下面继续

  问题一:

  [root@EmbedSky  /usr]# ifconfig ra0 up

  <-- ERROR in Alloc TX TxContext[3] HTTX_BUFFER !!

  <-- RTMPAllocTxRxRingMemory, Status=3

  ERROR!!! RTMPAllocDMAMemory failed, Status[=0x00000003]

  !!! rt28xx Initialized fail !!!

  ifconfig: SIOCSIFFLAGS: Operation not permitted

  解决:

  修改MODULE NETIF UTIL三个目录下的include/os/rt_linux.h中BULKAGGRE_SIZE参数,将100改为60

  问题二:

  [root@EmbedSky  /usr]# ifconfig ra0 up

  <-- RTMPAllocTxRxRingMemory, Status=0

  -->RTUSBVenderReset

  <--RTUSBVenderReset

  RtmpOSFileOpen(): Error 2 opening /etc/Wireless/RT2870AP/RT2870AP.dat

  Open file "/etc/Wireless/RT2870AP/RT2870AP.dat" failed!

  1. Phy Mode = 0

  ERROR!!! RTMPReadParametersHook failed, Status[=0x00000001]

  ---> RTMPFreeTxRxRingMemory

  <--- RTMPFreeTxRxRingMemory

  !!! rt28xx Initialized fail !!!

  ifconfig: SIOCSIFFLAGS: Operation not permitted

  解决:

  应该是没有创建RT2870AP文件夹,创建好再把RT2870AP.dat烤过去,因为我先移植过RT3070STA,所以以为这个RT2870××.dat是通用的

 

  7、正常工作

  下面是正常打印

  [root@EmbedSky  /]# ifconfig ra0 up

  <-- RTMPAllocTxRxRingMemory, Status=0

  -->RTUSBVenderReset

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

  2. Phy Mode = 9

  NVM is Efuse and its size =2d[2d0-2fc]

  3. Phy Mode = 9

  MCS Set = ff 00 00 00 01

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  Main bssid = 7c:dd:90:56:6d:84

  <==== rt28xx_init, Status=0

  0x1300 = 00064320

  配置IP命令:

  ifconfig ra0 192.168.8.25

  #iwconfig ra0

  ra0 RTWIFI SoftAP ESSID:"RT2860AP" Nickname:""

  Mode:Managed Channel=11 Access Point: 7C:DD:90:56:6D:84

  Bit Rate=150 Mb/s

  用android手里可以查到RT2870AP的wifi信号

 

  8、关闭模块

  结束后,可以通过以下命令卸载模块:

  #ifconfig ra0 down

  #rmmod rtnet3070ap.ko

  #rmmod rt3070ap.ko

  #rmmod rtutil3070ap.ko

 

  修改后的源码包可以到下面地址下载,注意内核路径的设置

 

  http://download.csdn.net/detail/stephen_yu/7179827

 

  感谢stephen_kl的分享!

 

  供货情况:

  天嵌科技提供专业嵌入式板卡和行业解决方案。如有需要,可以联系天嵌科技的销售人员。

  销售电话:020-38219416    38373101

  技术支持:020-38219416转807     820

  网址:http://www.embedsky.com


本文转载自:http://www.embedsky.com/index.php?s=/News/show/id/390.html

共有 人打赏支持
天嵌科技
粉丝 4
博文 135
码字总数 40355
作品 0
广州
求一款可移植到ARM9上的流媒体播放器

ARM9板:tq2440 移植过mplayer1.1 ,但是怎么弄都播放不了mms,rtsp电台,请问还有没有其他可以移植的流媒体播放器。 请大神帮我解惑

FieldThomas
2012/09/04
490
0
qt+mplayer模式,播放器 嵌入式版

http://user.qzone.qq.com/406013154/blog/1340019613#!app=2&pos=1340019613 主机版本:ubuntu11.04 交叉编译器版本:arm-linux-gcc4.3.3 硬件平台:tq2440 主要技术内容: 1、跟文件系统的...

乐学为上
2012/06/19
0
0
基于platform总线的中断(按键)字符设备驱动设计

1、platform简介 为了理解platform总线设备驱动模型的实际运用,我首先分析了基于S3C2410的看门狗驱动实现过程,我本着将自己学过的知识在温习一遍的态度,完成了基于platform平台总线的外部...

长平狐
2012/09/03
268
0
基于ARM的多终端自助打印系统

这是以前做的一个创新项目。《基于ARM的多终端自助打印系统》。是和控制工程学院的建斌同学和仪器与电子学院的培松同学一起做的。 最后产品可以完成微信客户端扫码打印。感觉构思不错。现在把...

Linkerist
2017/12/01
0
0
从「林」开始: imx51-linux-rt3070ap-dhcpd

///////////////从「林」开始: imx51-linux-rt3070ap-dhcpd///////////// ///////////////////////////////////////////////////////////////// //environment: // compile system:Ubant......

ll124884135
2012/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
27
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部