USB无线网卡STA模式移植到A9

一、开发环境

宿主机:redhat5.3

交叉编译器:arm-linux-gcc (4.5.1)

目标:tiny4412开发板 linux内核:3.5.0

无线网卡型号:360 wifi2代

:360 wifi2代所用的网卡芯片为 Ralink的解决方案,芯片型号为MT7601(可以上网查),在无线网卡的使用中有二种方式:一种直接使用360自带的软件来直接安装驱动。一种是使用其对应的芯片方案驱动。对应咱们只能使用对应的芯片方案来驱动无线网卡。

可以参考下面博客:

http://blog.163.com/gl_jiang@126/blog/static/7610097220144145340238/

二、下载相对应方案的无线网卡驱动

进入http://www.mediatek.com/en/downloads/下载MT7601的驱动或者同一系列的驱动,下载下来的包为:DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2

三、解压并且修改与编译

1、解压


2、修改Makefile,让其支持arm体系

2.1、默认的编译平台为x86的cpu,在Makefile的30行可以看到


2.2、由于需要的平台为arm体系


3、修改交叉编译器与源码树路径

由于接下来是把其驱动编译成模块,因此需要设置内核源码树所在的路径,以及相对的交叉编译器。

把下面

改为

4、修改支持360 wifi2代的usb设备id

4.1、首先在没有接入360wifi的redhat上查看usb设备

 

4.2、接入360wifi后再次查看usb设备

 

从上面可以看出360 wifi2代的usb设备id分别为148f:760b

4.3、修改源码使其支持其id

 

在其文件中可以找到下面代码:

 

修改添加360 wifi2代ID:


5、修改头文去除调试信息

 


6、编译

# make

7、拷贝到arm开发板文件系统

编译成功后会在os/linux目录下产生mt7601Usta.ko 文件,将其拷贝到开发板的文件系统或者nfs系统

在开发板上创建/etc/Wireless/RT2870STA目录

# mkdir /etc/Wireless/RT2870STA -p

把编译好的源码中的.ko和RT2870STA.dat拷贝到开发板根文件系统

# cp os/linux/mt7601Usta.ko /work/system/zxl4412_root

# cp RT2870STA.dat /work/system/zxl4412_root/etc/Wireless/RT2870STA

1、安装360 wifi驱动

# insmod mt7601Usta.ko (加载的过程有点慢,耐心等待下)

安装完毕后插入360 wifi到开发板上,下面是开发板打印的信息:

 

在开发板打印的信息中有下面的错误:

[   81.805000] ERROR!!! Failed to allocate memory - TxRxRing

2、驱动加载错误解决

需要设置DMA缓冲区的大小,在u-boot参数设置即可,在bootargs添加coherent_pool=2M。如:


重新加载后正确的信息:


至此,360 wifi2代移植成功。接下来就是如何使用360 wifi2了







  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值