MT7601驱动移植

1、解压MT7601驱动 
*tar -xvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 
cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913*

2、修改Makefile 
该版本的驱动包支持多种不同平台的编译配置,默认的Makefile编译平台是PC,见Makefile 第30行: 
#PLATFORM: Target platform 
PLATFORM = PC 
修改PC平台(Makefile第198行)对应的交叉编译参数和内核路径,如下: 
这里写图片描述 
修改为: 
这里写图片描述
保存关闭

3、检查wifi结点名称 
Android下的HAL和脚本中的wifi设备结点名称用的wlan0,嵌入Linux设备中wifi设备结点名称一般使用的ra0,所以,需要根据实际应用对象,进行修改,名称定义位置: 
*cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913 
vi include/rtmp_def.h +1604* 
如下: 
这里写图片描述 
所以,如果是为Android平台编译7601驱动,就需要开启编译宏参数:ANDROID_SUPPORT。这个参数是在os/linux/config.mk中定义的,见config.mk 第373行: 
ifeq ($(HAS_ANDROID_SUPPORT),y) 
WFLAGS += -DANDROID_SUPPORT 
endif 
即由HAS_ANDROID_SUPPORT=n或者HAS_ANDROID_SUPPORT=y来决定wifi结点名称是使用“wlan”,还是”ra”。该驱动包中默认使用的是Linux环境中的”ra”结点名称。

4、编译代码生成mt7601Usta.ko驱动模块 
由于我是为ARM平台的设备编译,上面修改的是PC平台的编译参数,而Makefile中依赖了ARCH参数,所以还应该指定ARCH=arm,下面就可以编译模块了: 
make ARCH=arm CHIPSET=7601U 
如果以上修改没有问题,编译通过之后即可以得到station模式的wifi驱动模块mt7601Usta.ko,如下: 
这里写图片描述

5、注意事项 
在编译时出错,如下图所示: 
这里写图片描述
原因是在修改Makefile的PC平台编译参数时指定了linux-3.0.y内核路径:”LINUX_SRC = /lodb3/Hi3518_SDK_V1.0.8.1/osdrv/kernel/linux-3.0.y”,但该路径下的内核没有提前编译,导致7601所依赖的内核配置文件和模块版本信息缺失而无法编译通过。解决办法:重新编译内核,内核编译通过后再编译7601驱动模块即可。

6、编译mt7601Uap.ko 
编译前的修改方法同上,此处不赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值