尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Linux驱动-网络设备-移植 RTL8723DU(wifi)驱动

发布时间:2026/9/24 8:47:24

资讯中心
01
ARTICLE

Linux驱动-网络设备-移植 RTL8723DU(wifi)驱动

Linux驱动-网络设备-移植 RTL8723DU(wifi)驱动
提示Linux驱动-网络设备-移植 RTL8723DU(wifi)驱动文章目录前言一、参考资料二、编译WIFI驱动WIFI驱动包三、配置wifi驱动修改 Makefile 文件make 命令进行编译编译指令makeARCHarm64CROSS_COMPILE/home/topeet/rk356x_linux/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu--C /home/topeet/rk356x_linux/kernelM/home/topeet/rk356x_linux/kernel/drivers/net/wireless/rtl8723DU_WiFi_linux_v5.13.4.2-4modules四、验证移植驱动是否成功-检查网卡总结前言Linux驱动-网络设备-移植 RTL8723DU(wifi)驱动这里举例如何移植WIFI驱动。 思路对于绝大多数 WIFI驱动和RJ485 网线驱动一样要么原厂BSP工程师 已经写好了、要么第三方公司WIFI芯片芯片公司已经写好了你只需要移植到系统里面去就可以了。对于硬件连接这个偏向于硬件工程师的工作就是芯片如何焊接到主板上偏向于硬件工程师的工作需要了解下那么如何移植基本操作要会不管哪一款WIFI芯片移植工作大同小异。一、参考资料从零到一在RK3588 Android12上实战RTL8723DU WiFi蓝牙双模驱动移植linux 移植rtl8723du蓝牙驱动二、编译WIFI驱动WIFI驱动包如如下这样wifi 芯片供应商会提供类似的驱动包将 wifi 厂家提供的驱动资料包拷贝到 Linux 源码的 kernel/drivers/net/wireless 目录下 然后解压缩三、配置wifi驱动修改 Makefile 文件CONFIG_MULTIDRVnCONFIG_RTL8188EnCONFIG_RTL8812AnCONFIG_RTL8821AnCONFIG_RTL8192EnCONFIG_RTL8723BnCONFIG_RTL8814AnCONFIG_RTL8723CnCONFIG_RTL8188FnCONFIG_RTL8188GTVnCONFIG_RTL8822BnCONFIG_RTL8723Dy//因为适配的模块是 RTL8723du 所以此选项为 yCONFIG_RTL8821CnCONFIG_RTL8710BnCONFIG_RTL8192FnCONFIG_RTL8822CnCONFIG_RTL8814BnCONFIG_RTL8723Fn #########################Interface###########################CONFIG_USB_HCIy//模块为 usb 接口 设置为 yCONFIG_PCI_HCInCONFIG_SDIO_HCInCONFIG_GSPI_HCInCONFIG_PLATFORM_I386_PCn//此选项修改为 nCONFIG_PLATFORM_ANDROID_X86nCONFIG_PLATFORM_ANDROID_INTEL_X86nCONFIG_PLATFORM_JB_X86nCONFIG_PLATFORM_ARM_S3C2K4nCONFIG_PLATFORM_ARM_PXA2XXnCONFIG_PLATFORM_ARM_S3C6K4nCONFIG_PLATFORM_MIPS_RMInCONFIG_PLATFORM_RTD2880BnCONFIG_PLATFORM_MIPS_AR9132nCONFIG_PLATFORM_RTK_DMPnCONFIG_PLATFORM_MIPS_PLMnCONFIG_PLATFORM_MSTAR389nCONFIG_PLATFORM_MT53XXnCONFIG_PLATFORM_ARM_MX58_241HnCONFIG_PLATFORM_FS_MX61nCONFIG_PLATFORM_ACTIONS_ATJ227XnCONFIG_PLATFORM_TEGRA3_CARDHUnCONFIG_PLATFORM_TEGRA4_DALMOREnCONFIG_PLATFORM_ARM_TCC8900nCONFIG_PLATFORM_ARM_TCC8920nCONFIG_PLATFORM_ARM_TCC8920_JB42nCONFIG_PLATFORM_ARM_TCC8930_JB42nCONFIG_PLATFORM_ARM_RK2818nCONFIG_PLATFORM_ARM_RK3066nCONFIG_PLATFORM_ARM_RK3568y//新增此选项设置为 y//将下面的 3188 改成 3568CONFIG_PLATFORM_ARM_RK3188nifeq($(CONFIG_PLATFORM_ARM_RK3568),y)EXTRA_CFLAGS-DCONFIG_LITTLE_ENDIAN-DCONFIG_PLATFORM_ANDROID-DCONFIG_PLATFORM_ROCKCHIPS#defaultsettingforAndroid4.1,4.2,4.3,4.4EXTRA_CFLAGS-DCONFIG_IOCTL_CFG80211-DRTW_USE_CFG80211_STA_EVENTEXTRA_CFLAGS-DCONFIG_CONCURRENT_MODE#defaultsettingforPowercontrol #EXTRA_CFLAGS-DRTW_ENABLE_WIFI_CONTROL_FUNCifeq($(CONFIG_SDIO_HCI),y)EXTRA_CFLAGS-DRTW_SUPPORT_PLATFORM_SHUTDOWNendif #defaultsettingforSpecialfunctionARCH:arm64//修改为 arm64CROSS_COMPILE:/home/topeet/rk356x_linux/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linuxgnu/bin/aarch64-linux-gnuKSRC:/home/topeet/rk356x_linux/kernelMODULE_NAME:wlan//模块名称endifmake 命令进行编译编译指令makeARCHarm64 \CROSS_COMPILE/home/topeet/rk356x_linux/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-\-C/home/topeet/rk356x_linux/kernel \M/home/topeet/rk356x_linux/kernel/drivers/net/wireless/rtl8723DU_WiFi_linux_v5.13.4.2-4\ modulesmake调用编译构建工具。ARCHarm64作用指定目标 CPU 架构为 ARM64。为什么需要因为您的 Ubuntu 是 x86_64而 RK356x 开发板是 ARM64编译驱动必须告诉系统目标架构才能加载正确的内核头文件和编译规则。CROSS_COMPILE/home/topeet/rk356x_linux/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-作用指定交叉编译工具链的前缀。为什么需要编译 ARM64 代码不能用 Ubuntu 自带的 gcc那是给 x86 用的必须用专门的交叉编译器。这个路径指向了工具链的 bin 目录前缀是 aarch64-linux-gnu-Makefile 会自动拼接成 aarch64-linux-gnu-gcc、aarch64-linux-gnu-ld 等。-C /home/topeet/rk356x_linux/kernel作用告诉 make 先切换到 /home/topeet/rk356x_linux/kernel 这个目录。为什么需要驱动编译需要依赖内核的顶层 Makefile、.config 配置和头文件所以必须进入内核源码目录去读取这些信息。M/home/topeet/rk356x_linux/kernel/drivers/net/wireless/rtl8723DU_WiFi_linux_v5.13.4.2-4作用指定外部模块驱动源码的路径。为什么需要M 是 Linux 内核编译外部模块的标准写法告诉内核构建系统“我要编译的驱动代码不在内核源码树里而是在 M 指向的这个目录下”。modules作用指定编译目标为 内核模块。结果编译完成后会在驱动目录下生成 .ko 文件例如 8723du.ko这就是可以 insmod 加载到开发板内核里的驱动模块。编译完成之后生成 wlan.ko 驱动模块四、验证移植驱动是否成功-检查网卡将编译好的 wlan.ko 拷贝到开发板上 加载 wlan.ko加载完成之后 生成 wlan 的 wifi 网卡至此 移植 RTL8723DUwifi 驱动 实验完成总结这里讲解了 移植WIFI驱动 基础必备知识遇到实际问题可以参考细节也蛮多的但是基础知识务必掌握实际工作中如何编译到内核可以查阅资料这里知识编译成.ko文件 然后验证移植是否成功而已。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。