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安装bashroot@RK356X:/tmp# insmod aic8800D80_fdrv.ko
- 
驱动加载时的 dmesg日志信息
  
- 
查看wifi对应的 interface
  
6. 将wifi配置成AP模式
- 参考我的另一篇文章