一、linux驱动实验-14.1-imx6ull驱动MT7601

一、开发环境和准备资料

1.1、开发环境

1.2、准备资料

MT7601源码:

http://链接:https://pan.baidu.com/s/1u8HJett5bmHgWzyktPQdhg 提取码:njt2

二、源码移植

2.1、解压

        将下载的源码放在虚拟机目录下解压; 

2.2、修改MakeFile

        ①、增加linux内核和编译器路径

ifeq ($(PLATFORM),PC)
# Linux 2.6
LINUX_SRC = /home/zk/linux/IMX6ULL/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
# LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE = /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
endif

 2.3、修改设备名

2.4、修改USB设备ID

{USB_DEVICE(0x2717,0x4106)}, /* xiaomi wifi */

 三、make编译

 3.1、有“__DATE__”报错,有几种办法解决

        ①、找打源文件,注释掉该语句

3.2、unknown filed 'private'错误

         是因为在配置Makefile时,我们指定的内核在配置时不支持802.11的无线设备驱动,解决办法如下,重新编译内核后再make

 3.3、incompatible types when assigning to type ‘int’ from type ‘kuid_t’

 数据类型不匹配,有两种方法解决:

        ①、将int改成kuid_t

        ②、加上.val

        再次make,编译成功

四、驱动加载

        将内核和驱动分别放在对应的路径里,重新启动开发板;

        modprobe加载驱动,报错:

       解决办法如下,将rt_linux.h中的BULKAGGRE_SIZE调整为10,rtmp_usb.h中的RXBULKAGGRE_SIZE调整为2;  (备注:后续还需要定位一下为什么?)

         重新make生成新的驱动驱动文件后加载:

        输入ifconfig -a看看,确实有wlan00

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值