TQ2440上移植RT3070AP的过程

TQ2440 以稳定的性能,过硬的质量,丰富的扩展接口,优质的售后服务和技术支持,赢得众多企业的青睐和支持。
  硬件: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

粽子糖果 发表于11-04 08:34 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

粽子糖果
粽子糖果(总统)
金币:41631个|学分:51991个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号