此文章只作记录参考,如果文章中有错误或者不足, 请指正, 谢谢!

准备工作:

  1. 要移植驱动 , 必须找到原厂 SDK 的WIFI驱动, 代码虽非开源, 但在论坛里面大多能下载, 搜索mtk-openwrt-sdk-20170518-1443366e.tar 找到并下载, 博主这里就不提供了.

  2. 解压编译原厂SDK包, 编译MT7621 +MT7615E驱动,因为博主是以K2P 来移植, 添加了一个型号, 添加型号方法参考openwrt WIKI, 这里不过多介绍.

  3. 获取CC版本源代码git clone https://github.com/openwrt/chaos_calmer ,编译MT7621主芯片(这里选用相同的主要是作对比用,如果其他主芯片可以换).

开始移植

  1. 将原厂SDK $(TOPDIR)/package/ralink/ 目录拷贝到cc $(TOPDIR)/package/ 目录下,.

  2. 将原厂SDK $(TOPDIR)/dl/MT7615_LinuxAP_V4.4.1.2_20170514.tar.bz2 文件拷贝到cc $(TOPDIR)/dl/ 目录下

  3. 将 原厂SDK $(TOPDIR)/include/wifi.mk 文件拷贝到cc $(TOPDIR)/include/ 下, 对比SDK和cc $(TOPDIR)/include/kernel-default.mk文件将包含的wifi.mk 行复制到对应行, 如下, + 号行代表cc $(TOPDIR)/include/kernel-default.mk 文件中需要添加.

-
+include $(INCLUDE_DIR)/wifi.mkKERNEL_MAKEOPTS := -C $(LINUX_DIR) \HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \CROSS_COMPILE="$(KERNEL_CROSS)" \
@@ -32,6 +32,7 @@ export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include# defined in quilt.mkKernel/Patch:=$(Kernel/Patch/Default)
+WiFi/Patch:=$(WiFi/Patch/Default)KERNEL_GIT_OPTS:=ifneq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
@@ -47,6 +48,7 @@ ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")define Kernel/Prepare/Defaultxzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)$(Kernel/Patch)
+  $(call wifi-prepare)touch $(LINUX_DIR)/.quilt_usedendefelse
  1. 上述步骤做完后, 会发现依然没有编译选项去编译MT7615E的WIFI驱动, 对比编译目录linux的内核文件, 没有Kconfig 配置目录,将SDK $(LINUX)/ralink/ 目录 拷贝出来,放在cc 的目录下,这个目录由你自己决定, 因为后面可以选择是补丁的形式放到内核,或者在kernel-default.mk 内核解压后以拷贝的方式放进去, 我这里是选择拷贝,代码写在wifi.mk里面方便管理.
    下面的补丁文件以及rt_mmap.h, ralink-flash.c ralink-flash.h(编译时会报找不到头文件里面的内容,所以加入) ,用find 在SDK里面找.
    直接用rt_mmap.h这个文件,依然提示会找不到 RALINK_SYSCTL_BASE, 因为在cc中没有定义CONFIG_RALINK_MT7621,所以需要添加,或者改成其他可以的宏定义即可.

也可以下载: https://download.csdn.net/download/jianzhizuo/10844586

+   cp -f $(TOPDIR)/package/ramips/patch_file/1000-add-ramips-mt7615.patch $(TOPDIR)/target/linux/ramips/patches-3.18/
+  cp -f $(TOPDIR)/package/ramips/patch_file/1604-mt7615-buildin.patch $(TOPDIR)/target/linux/ramips/patches-3.18/
+  cp -rf $(TOPDIR)/package/ramips/ralink  $(LINUX_DIR);
+  cp -f $(TOPDIR)/package/ramips/patch_file/ralink-flash*   $(LINUX_DIR)/drivers/mtd/maps/
+  mkdir -p $(LINUX_DIR)/arch/mips/include/asm/rt2880
+  mkdir -p $(LINUX_DIR)/user_headers/include/asm/rt2880
+  cp -f $(TOPDIR)/package/ramips/patch_file/rt_mmap.h   $(LINUX_DIR)/arch/mips/include/asm/rt2880/
+  cp -f $(TOPDIR)/package/ramips/patch_file/rt_mmap.h   $(LINUX_DIR)/user_headers/include/asm/rt2880/
  1. 一个坑, 无法读取到eeprom 文件里面的mac地址, 还需要修改一个地方, MTK 在读取Factory 分区是写死的Factory,而cc默认这个分区是factory 小写f ,所以要改一下dts 对应或者修改驱动代码如下文件.

写在结尾

同版本内核移植并不难, 只是对比文件比较繁琐, 记录下只是想在后面移植其他驱动时方便查找
已经把MT7628的驱动也移植好了, 后面会写博文补充

如果你也在移植 按照这样修改还没有移植成功, 可能是我在记录时,少记录了些东西, 可以在下面留言,
因为你遇到的坑,我肯定也遇到过.

记录mt7615e wifi 驱动移植到openwrt cc相关推荐

  1. 海华cywdhd wifi驱动移植

    由于公司产品之前用的wifi芯片太贵,成本太高,最近选购了海华的wifi芯片,厂家提供了驱动源码以及固件.nvram等等资源.师父将本次wifi驱动移植任务交给我,本文简单记录下wifi驱动移植的过程 ...

  2. wifi模块服务器项目心得,一次关于WiFi 驱动移植的总结复盘

    1 简介 WiFi 是什么?能用来做什么? 都 2021 年了,相信您对 WiFi 一定不陌生了. 可以参考这里的百度百科释义:[百度百科 - WiFi(https://baike.baidu.com ...

  3. 图文讲解 WiFi 驱动移植过程,很肝~

    关注.星标公众号,直达精彩内容 来源:嵌入式基础学习 作者:小二 本篇文章打算对WiFi 驱动移植文章进行一次系统性的总结.复盘,分享一下自己的思考过程,遇到的问题等. 希望对您有点帮助??????? ...

  4. 嵌入式linux usb wifi驱动移植

    文档名称:嵌入式linux usb wifi驱动移植 版本历史 版本号        时间        内容 v1.0b001        2012-6-18        初始版本,介绍在嵌入式 ...

  5. 我对 WiFi 驱动移植过程,做了一次总结复盘

    关注+星标公众号,不错过精彩内容 作转自 | 嵌入式基础学习 在今天分享一篇关于 WiFi 驱动的文章,希望对正在做 WiFi 驱动的同学有帮助. 1 简介 WiFi 是什么?能用来做什么? 都 20 ...

  6. EP-N8530S USB WIFI 驱动移植

    /************************************************************************ EP-N8530S USB WIFI 驱动移植* 说 ...

  7. I.MX6 AW-NB177NF WIFI 驱动移植问题

    /********************************************************************************* I.MX6 AW-NB177NF ...

  8. 联咏平台(Novatek) | RTL8188FU WIFI驱动移植

    目录 1 开发环境 2 内核配置 2.1 配置支持USB设备 2.2 配置支持 wifi 设备 2.3 配置支持 wifi 网络 IEEE 802.11 2.4 编译内核 3 wifi 驱动移植 3. ...

  9. Linux环境下使用WIFI模块:WIFI驱动移植

    WIFI驱动移植 实验平台 内核版本:Linux-4.19.5 开发板:SAMSUNG JZ2440 WIFI模块:Ralink rt3070 查看WIFI设备的PID 直接将WIFI模块接到电脑的U ...

  10. A20 wifi驱动移植

    A20 wifi驱动移植 本驱动移植是在ak27的平台上移植8089wifi驱动,驱动名字为eagle 一.lichee部分移植 测试模式部分: dragonboard下的文件主要是针对wifi在测试 ...

最新文章

  1. 计算机网页基础课专业,关于《计算机应用基础》课程网页下的学习资源使用说明....
  2. PHPcms 系统简单使用
  3. 如何把a1的图纸变成a0_「云顶之弈装备解析」面对回蓝——青龙刀与大天使究竟该如何取舍...
  4. SkyWalking之高级玩法
  5. haddler处理队列 netty_如何实现延迟队列
  6. 科研实习 | 香港科技大学统计机器学习实验室张潼教授招收暑期科研实习生
  7. Java IO 系列(01)-Java IO概述
  8. 【李宏毅机器学习】Basic Concept 基础概念(p4) 学习笔记
  9. 东南大学数字信号处理实验_数字与信号处理实验1 离散时间信号分析
  10. Java 实现图片合成
  11. html show指定显示什么,Dialog show() 方法 定义和用法_HTML对象
  12. zw版【转发·台湾nvp系列Delphi例程】HALCON DivImage2
  13. 问题六十一:三次b样条(b-spline)曲线的控制点和曲线形状的对应——以回旋体的“基本曲线”为例(2)
  14. Metasploit+Beef整合攻击——超详细
  15. DNA序列转换为RNA序列
  16. 2022-01-08:数组中只有0和1,每过1代,0旁边只有1个1,当前0会变成1。每过1代,0旁边有2个1,当前0还是0。 比如10001,经过1代,会变成11011,再过1代,还是11011 。
  17. IP地址后面/24/26/27/28/29/30网关数量分别是多少?如何计算?
  18. 5种高大上的yml文件读取方式,你知道吗?
  19. js 如何处理缓存?如何清除缓存。
  20. ASO马甲包:马甲包上架注意事项

热门文章

  1. 利用Aspose.PDF for .NET实现pdf转word
  2. 怎么复制PDF文件页面?用什么方法操作
  3. 鸿蒙 悟空遥控,利用悟空遥控推送软件,成功实现高德地图等三方APP装
  4. 如何去除图片背景变透明?在线抠图软件怎么用?
  5. 行为型设计模式:模板模式
  6. 9月最新Jmeter面试题
  7. Flask + PostgreSQL部署在Heroku上的薅羊毛线报网站
  8. comsol 超声声场模拟_Comsol Multiphysics 声场仿真模块整体介绍
  9. 基于opencv的车牌号码识别 必备基础知识
  10. 1.Java学习笔记第一节(尚硅谷视频整理)