1. 简介

  • 开发环境Ubuntu20.04

  • 目标平台:瑞芯微RK356X

  • 目标平台内核版本:4.19.234

  • wifi模块型号:AIC8800D80P Wi-Fi6/BT5.0

2. 硬件

  • wifi模块的PID:VID = a69c:8d80

  • 此模块挂在RK356X的PCIE接口上

    • 01:00.0 Class 0280: a69c:8d80

      • Class 0280: 表示网络控制器(通常是无线网卡)
      • a69c:8d80: 是供应商和设备的 ID,具体的设备信息可以通过这些 ID 查询。
    • 00:00.0 Class 0604: 1d87:3566
      • Class 0604: 表示 PCI 桥(用于连接不同的 PCI 总线)
      • 1d87:3566: 是供应商和设备的 ID,用于标识具体的制造商和设备

3. 驱动编译

  • 从厂家处获取驱动源码,源码结构如下

    • PCIE/driver_fw/driver/aic8800目录下存放的就是驱动源码

    • PCIE/driver_fw/fw/aic8800D80 目录下存放着安装驱动时依赖的固件

  • 修改Makefile

    • 指定目标平台为瑞芯微平台,修改Platform support list如下

    • 修改瑞芯微平台相关配置如下,指定内核源码路径和交叉编译工具链,按实际情况进行修改

  • 修改源码aicwf_pcie_api.c的第232行,解决编译报错问题

  • make编译,得到驱动文件aic8800D80_fdrv.ko,大约12M大小

4. 安装wifi固件

  • 厂家已经提供了编译好的wifi固件

  • 将固件拷贝到RK3566开发板的/lib/firmware/aic8800D80/路径下,路径必须正确,如需将固件放在其它路径,需要修改驱动源码,在此就不展开了

5. 安装驱动

  • 将编译好的驱动拷贝到开发板上,insmod安装

    root@RK356X:/tmp# insmod aic8800D80_fdrv.ko
  • 驱动加载时的dmesg日志信息

  • 查看wifi对应的interface

6. 将wifi配置成AP模式

  • 参考我的另一篇文章

https://www.cnblogs.com/zhijun1996/p/18545307

爱科微AIC8800D80P Wi-Fi6模块驱动移植的更多相关文章

  1. 飞凌OK6410开发板SDIO无线8189WIFI模块驱动移植

    为什么要移植?开发板不是已经提供了无线驱动吗? 貌似是这样的..本来是好用的.加入自己第三方驱动后发现WIFI用不了...最后发现飞凌提供的内核里面没有8189芯片的代码...问售后他们说那边是好的. ...

  2. MT7601 WG209模块驱动移植,并连接路由器

    驱动位置: https://github.com/Aplexchenfl/WG209_MT7601 下载之后,查看 Makefile 在这里,我修改了 kernel的位置以及编译器的版本 执行 mak ...

  3. 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  4. 如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  5. linux模块驱动之led(ioremap)

    一:led内核驱动 (1)在编写led内核驱动时,我们首先要进行内核裁剪,因为友善之臂将LED灯的驱动默认加载到内核中,所以编写模块驱动程序前就要先把原先的LED灯驱动裁剪掉: led驱动在源码里面的 ...

  6. 微控工具xp模块-开发版[微信(wechat)二次开发模块]

    http://repo.xposed.info/module/com.easy.wtool   微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方 ...

  7. 国产芯片任重道远 国科微SSD主控芯片的“追赶之路”(不能只提供一颗芯片,而是要将芯片、国密算法、固件Firmware、BIOS和操作系统紧密联系在一起,变成完整解决方案交给行业用户,才能真正体现自身的价值)

    集微网消息,“中国芯”战略之路道阻且长,踏入这个赛道的攻坚者们需要十年如一日的技术突破,需要集合产业势能,共同协作,方能建立中国核心技术真正的竞争力. 国产化之路任重道远,SSD芯片初见成效 信息时代 ...

  8. Springboot基于enable模块驱动

    enable作为模块驱动在Spring Farmework.Spring Boot.Spring Cloud使用,都是通过注解的形式以@enable作为前缀,一些常用注解如 | 框架 | 注解 | 模 ...

  9. web自动化测试-模块驱动测试实例和数据驱动测试实例

    一.模块驱动测试实例 把登录和退出统一封装在login类中,若把login类单独放在一个文件中,就可以给任一测试脚本调用,这里就跟测试脚本放一起 from selenium import webdri ...

  10. [转帖]国科微发布纯正国产SSD主控 龙芯IP内核,速度可达500MB/s

    国科微发布纯正国产SSD主控龙芯IP内核,速度可达500MB/s https://www.expreview.com/68071.html 自主内核 龙芯处理器. 2019.4. 在存储芯片领域,中国 ...

随机推荐

  1. Uncaught SyntaxError: The requested module ‘/node_modules/.vite/vue-router.js?v=2f0f3daf’ does not provide an export named ‘VueRouter’

    Uncaught SyntaxError: The requested module '/node_modules/.vite/vue-router.js?v=2f0f3daf' does not p ...

  2. liunx下安装Nginx

    Linux下nginx的安装以及环境配置 https://blog.csdn.net/qq_42815754/article/details/82980326 第一步:下载nginx压缩包 在这里可以 ...

  3. 每天那么多工作,我为什么能做到 "不忘事" ?

    大家好,我是程序员鱼皮. 我相信很多朋友都遇到过丢失工作.或者忘记事情的情况,尤其是事情一多,就更容易遗漏:而如果在工作中你漏掉了某项任务,需要上级或同事重复提醒你,是很影响别人对你的印象的. 那么如 ...

  4. Windows 查看当前登录用户名

    使用 PowerShell 输入 whoami,PowerShell 将以 hostname\username 的方式输出主机名和用户名: $ whoami hostname\username 使用 ...

  5. 如何选择 Linux 发行版

    简介 要建立云服务器,首先需要安装操作系统.在现代环境中,几乎所有情况下都是指 Linux 操作系统.从历史上看,Windows 服务器和其他类型的 Unix 在特定的商业环境中都很流行,但现在几乎每 ...

  6. 解密Prompt系列37. RAG之前置决策何时联网的多种策略

    之前我们分别讨论过RAG中的召回多样性,召回信息质量和密度,还有calibration的后处理型RAG.前置判断模型回答是否要走RAG的部分我们之前只提及了自我矛盾和自我拒绝者两个方案.这一章我们再补 ...

  7. TypeScript 高级教程 – 把 TypeScript 当编程语言使用 (第二篇)

    前言 上一篇, 我们提到, TypeScript 进阶有 3 个阶段. 第一阶段是 "把 TypeScript 当强类型语言使用", 我们已经介绍完了. 第二阶段是 "把 ...

  8. Angular – ESLint

    介绍 Angular wrap 了一层 ESLint, 定义了一些 best practice guide. 这篇说说如何 setup 它. 这个 ESLint 并不是 under Angular T ...

  9. POJ-3176 Cow Bowling(基础dp)

    The cows don't use actual bowling balls when they go bowling. They each take a number (in the range ...

  10. 普元中间件Primeton AppServer6.5部署SuperMap iServer

    本文使用Windows环境普元中间件Primeton AppServer6.5(以下简称PAS)部署SuperMap iServer 一.部署前准备 本文使用SuperMap iServer 11.0 ...