1. Introduction
-
development environment (computer)
Ubuntu20.04
-
Target platform: Rexchip Micro
RK356X
-
Target platform kernel version:
4.19.234
-
wifi module model:
AIC8800D80P Wi-Fi6/BT5.0
2. Hardware
-
wifi
modularPID:VID
=a69c:8d80
-
This module hangs on the
RK356X
on the PCIE interface of the-
01:00.0 Class 0280: a69c:8d80
-
Class 0280
: indicates a network controller (usually a wireless card) -
a69c:8d80
: are vendor and device IDs by which specific device information can be queried.
-
-
00:00.0 Class 0604: 1d87:3566
-
Class 0604
: denotes a PCI bridge (used to connect different PCI buses) -
1d87:3566
: is a vendor and device ID that identifies specific manufacturers and devices
-
-
3. Driver compilation
-
Get the driver source code from the manufacturer, the source code structure is as follows
-
PCIE/driver_fw/driver/aic8800
The driver source code is stored in the -
PCIE/driver_fw/fw/aic8800D80
directory holds the firmware that is relied upon when installing the driver
-
-
modifications
Makefile
-
Specify the target platform as Rexchip platform, modify the
Platform support list
as below -
Modify the Rexchip micro platform related configuration as follows, specify the kernel source code path and cross-compile toolchain, and modify them according to the actual situation
-
-
Modify the source code
aicwf_pcie_api.c
in line 232 to resolve a compilation error. -
make
Compile to get the driver fileaic8800D80_fdrv.ko
About 12 megabytes in size.
4. Install wifi firmware
-
The manufacturer has provided compiled wifi firmware
-
Copy the firmware to the RK3566 development board's
/lib/firmware/aic8800D80/
Under the path, the path must be correct, if you need to put the firmware in other paths, you need to modify the driver source code, we will not expand it here!
5. Installation of drivers
-
Copy the compiled driver to the development board.
insmod
mountingroot@RK356X:/tmp# insmod aic8800D80_fdrv.ko
-
The driver is loaded with the
dmesg
Log messages -
View the wifi counterpart of the
interface
6. Configure wifi to AP mode
- Refer to my other post
/zhijun1996/p/18545307