一、前言
移植此驱动前,需要在内核menuconfig中选择支持usb,wifi等驱动,如果之前使用过别的usb wifi模块那应该就可以按照下面的步骤移植。还需要支持wpa_supplicant工具。这里就不多介绍了,因为之前用过别的款式的usb wifi,下面就直接移植rtl8723du驱动。
二、移植
1.下载RTL8723DU源码
因为使用的是linux6.1的内核,发现网上的很多驱动版本都比较老,编译会报错,因为linux6.1中删除了一些函数的支持,所以需要找到比较新的版本。https://download.csdn.net/download/qq_37868856/92754892可以在此链接下载新版本的。
2.新建linux内核源码的drivers/net/wireless目录下创建rtl8723du文件夹,将下载到的源码解压到该目录下,因为我的这个已经编译过了所以多了一些文件。

3.创建Kconfig文件夹,写入以下内容
cpp
config RTL8723DU
tristate "Realtek 8723D USB WiFi"
help
Help message of RTL8723DU
4.修改drivers/net/wireless目录下的Kconfig文件以及Makefile文件
(1)Kconfig
增加一项如下所示
cpp
source "drivers/net/wireless/rtl8723du/Kconfig"
(2)Makefile
增加一项如下所示
cpp
obj-$(CONFIG_RTL8723DU) += rtl8723du/
5.编译
以上已经完成所有配置了,就可以在menuconfig中看到rtl8723du的驱动程序了,如下所示

将其选择为模块就可以了make编译了,会在rtl8723du文件夹下生成8723du.ko文件,放到板子上就可以加载运行了。
6.使用
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -d
udhcpc -i wlan0
7.测试速度,使用iperf3,速度大概就是40Mbits左右
