简单一下记录移植MT7601U AP Linux 驱动至Orangepi-PC2开发板的过程。

二  环境描述

1、Orangpi-PC2开发板(Linux Orangepi 3.10.65 #12 SMP PREEMPT Sat Mar 4 18:05:52 CST 2017 aarch64 aarch64 aarch64 GNU/Linux)

2、wifi网卡(360 mini wifi ,芯片组MT7601U)

3、OrangePi-PC2开发SDK

4、MT7601U AP for Linux 驱动

三  移植过程

1、首先修改工程Makefile

下载的驱动中没有针对ORANGEPI-PC2平台的定制宏,这里需要自己手动添加:

(1)在开始30行左右添加如下内容:

#PLATFORM: Target platform

PLATFORM = ORANGEPI_PC2

(2)在200行左右添加如下内容:

ifeq ($(PLATFORM),ORANGEPI_PC2)

# Linux 3.10 Change to your local setting

LINUX_SRC = /work/orangePi/OrangePi_H5SDK/kernel

LINUX_SRC_MODULE = /work/orangePi/OrangePi_H5SDK/kernel/drivers/net/wireless/

CROSS_COMPILE = /work/orangePi/OrangePi_H5SDK/toolchain/gcc-linaro-aarch/bin/aarch64-linux-gnu-

endif

Note:我的SDK是放在/work/orangePi目录下的

(3)在400行左右将下面的内容

$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules

替换为

ifeq ($(PLATFORM),ORANGEPI_PC2)

$(MAKE) ARCH=arm64 CROSS_COMPILE=$(CROSS_COMPILE) -C  $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules

else

$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules

endif

2、修改驱动源码,支持360 wifi网卡

360 mini wifi的USB ID是ID 148f:760b,需要将该ID添加到rtusb_dev_id列表中,否则加载驱动后会探测不到网卡;

修改rtusb_dev_id.c文件的dev id列表如下:

/* module table */

USB_DEVICE_ID rtusb_dev_id[] = {

{USB_DEVICE(0x148f,0x6570)}, /* Ralink 6570 */

{USB_DEVICE(0x148f,0x7650)}, /* MT7650 */

{USB_DEVICE(0x148f,0x6370)}, /* Ralink 6370 */

{USB_DEVICE(0x148f,0x7601)}, /* MT 6370 */

{USB_DEVICE(0x148f,0x760b)}, /* 360 mini wifi */

{ }/* Terminating entry */

};

3、修改申请的DMA内存大小,否则驱动会加载失败,提示如下错误:

--> RTMPAllocTxRxRingMemory

[   74.801467]

[   74.807607] ---> RTMPFreeTxRxRingMemory

[   74.811927]

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

[   74.823792]

[   74.828817] rt2870: probe of 4-1:1.0 failed with error -1

[   74.835193] usbcore: registered new interface driver rt2870

解决方法:将rt_linux.h中的BULKAGGRE_SIZE调整为10,rtmp_usb.h中的RXBULKAGGRE_SIZE调整为2;  (备注:后续还需要定位一下为什么orangePi-PC2的DMA 内存剩下这么小)

4、编译驱动

直接使用make命令即可;

5、编译成功后会在os/Linux目录下生成mt7601Uap.ko内核模块,将该模块拷贝至Orangepi开发板上(我这里已经配置好了samba共享),并加载;

6、使用ifconfig命令配置该网卡,

ifconfig ra0 10.10.10.100

使用iwconfig命令应该会看到如下信息:

ra0       RTWIFI SoftAP  ESSID:"RT2860AP"

Mode:Managed  Channel=11  Access Point: 24:05:0F:64:BB:E9

Bit Rate=150 Mb/s

使用手机搜索一下周围的wifi热点,应该会发现名称为RT2860AP的热点;

7、至此驱动部分移植完成,后续还需进行热点配置的调试;

mt7601u linux驱动编译,移植MT7601U AP Linux 驱动至Orangepi-PC2开发板相关推荐

  1. linux内核编译最详细,Linux内核编译详细教程,linux内核编译

    Linux内核编译详细教程,linux内核编译 尝试编译下Linux-kernel 4.14.14,使用Ubuntu 16.04 64位 系统. kernel-4.14.14 内核文件约96MB,解压 ...

  2. tq2440 linux,移植最新内核Linux4.1.6到TQ2440开发板教程(一)-Go语言中文社区

    本次移植主要是移植最新内核Linux4.1.6到TQ2440开发板 开发板:TQ2440 内核:Linux4.1.6 目的:在开发板上实现内核的启动,并挂上nfs根文件系统 1. 下载最新内核linu ...

  3. Mastering Embedded Linux Programming 学习 (二)在百问网157开发板上,编译构建u-boot

    Mastering Embedded Linux Programming 学习 (二)在百问网157开发板上,编译构建u-boot 一.下载u-boot源码 git clone https://git ...

  4. Mastering Embedded Linux Programming 学习 (三)在百问网157开发板上,编译构建linux内核

    Mastering Embedded Linux Programming 学习 (三)在百问网157开发板上,编译构建linux内核 一.下载内核源码 wget http://ftp.sjtu.edu ...

  5. Mastering Embedded Linux Programming 学习 (五)在百问网157开发板上,解决网络配置问题

    Mastering Embedded Linux Programming 学习 (五)在百问网157开发板上,解决网络配置问题 思考.参考 搜索发现,需要配置设备树,参考这个链接 修改设备树 找到百问 ...

  6. arm linux打印机驱动编译方法,嵌入式linux驱动打印机HP系列

    arm linux打印机驱动编译方法和过程记录(2017.03.15): 改动添加概述: 添加foo2zjs工具(用于发送数据到打印机进行打印): 添加gohstscript工具(用于转换文档格式到打 ...

  7. 树莓派Linux内核编译、文件系统、Linux内核驱动基础框架、驱动测试步骤、总线地址

    树莓派高阶开发课程 1. ubuntu18.04版本安装          让程序猿搭建环境太搞笑了,轻松easy! ========================================= ...

  8. Ubuntu linux 手动编译安装 Realtek 8852 无线网卡驱动 非常简单 添加Manjaro教程

    由于8852是刚出的支持wifi6的无线网卡,因此只有Windows驱动,而Linux 用只能自己编译驱动,好在不麻烦. 本驱动置只支持5.4及以上内核,请确认. 安装必要工具: sudo apt-g ...

  9. linux怎么编译并安装busybox,linux下安装busybox

    1.获取busybox源码并解压,这里使用天嵌提供的"busybox-1.16.0.tar.bz2" #tar xvf busybox-1.16..tar.bz2 -C / 解压的 ...

最新文章

  1. centos7 安装git_如何在 CentOS 7 上挂载 Amazon EFS 文件系统?
  2. arm el2与el3_ARMv8的学习笔记
  3. 1.1 JAVA集合
  4. (转)Shell中获取字符串长度的七种方法
  5. 深入浅出VC++串口编程之基于Win32 API
  6. rsync服务扩展应用
  7. 我的INI 配置文件读写动态库
  8. .net remoting与web service的区别
  9. ps如何修改图片大小尺寸_如何查看图片尺寸,大小及如何修改图片尺寸—淘宝美工入门课03...
  10. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面....
  11. [转]web实时视频流从0到1(ffmpeg+nginx-http-flv-module+flv.js)
  12. xmapp mysql打不开_XAMPP 的MYSQL无法启动
  13. Springboot读取application.properties文件乱码
  14. 2021年上半年国家软考系统分析师论文和案例分析
  15. 进销存excel_EXCEL进销存系统升级版,自动库存更新,利润毛利分析一键操作
  16. 杭州/北京内推 | 蚂蚁集团数字身份及安全生态团队招聘学术实习生
  17. cxf调用webservice
  18. Linux下通过CCID协议与USB设备进行交互经验总结
  19. 软件调试系列:软件崩溃篇之内存异常崩溃
  20. 汽车防抱死系统_ABS_建模与模糊PID控制研究

热门文章

  1. Windows2016配置多人远程桌面登录
  2. 阿里首次公开了量子通信技术:应用于云计算服务
  3. Alamofire -安全认证
  4. ajax 文件上传 iframe,AJAX_iframe实现Ajax文件上传效果示例,复制代码 代码如下: span styl - phpStudy...
  5. Postfix 发送邮件失败问题,求大神
  6. A.pro读算法--报刊(咕)
  7. 本笔记为阿里云天池龙珠计划SQL训练营的学习内容 TASK 5
  8. frida药监局爬虫app签名逆向,数据采集
  9. TryHackMe-红队-07_武器化
  10. php做五星评价系统,微信小程序之五星评价功能制作