RK3568 编译rtl8723DU驱动

  • 编译源码
    • 1.解压rtl8723du
    • 2.修改Makefile
  • 验证
    • 1.加载模块
    • 2.开启wifi

在驱动开发中,驱动的编译与集成是实现设备功能的关键环节。本文聚焦于基于 RK3568 处理器平台编译 RTL8723DU WiFi/BT 二合一模块驱动的完整流程,涵盖源码编译到驱动调试的全链条操作,旨在为开发者提供可落地的技术指南,解决驱动移植过程中常见问题。

编译源码

1.解压rtl8723du

可以找原厂提供源码

tar -vxf rtl8723DU_WiFi_linux_v5.13.4.2-4.tar.gz 

在这里插入图片描述

2.修改Makefile

rk3568使用的是USB接口,其他开发板可以根据情况调整

######################### Interface ###########################
CONFIG_USB_HCI = y
CONFIG_PCI_HCI = n
CONFIG_SDIO_HCI = n
CONFIG_GSPI_HCI = n

修改Platform Related下的配置
我们使用 的不是CONFIG_PLATFORM_I386_PC所以修改y->n
在这里插入图片描述
仿照其他rk设备新增一个rk3568的配置CONFIG_PLATFORM_ARM_RK3568并设置为y
在这里插入图片描述
设置编译配置

ifeq ($(CONFIG_PLATFORM_ARM_RK3568), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_ROCKCHIPS
# default setting for Android 4.1, 4.2, 4.3, 4.4
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
# default setting for Power control
#EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
ifeq ($(CONFIG_SDIO_HCI), y)
EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN
endif
# default setting for Special function
ARCH := arm64
# 编译路径根据自己实际路径配置
CROSS_COMPILE := /home/chenmy/rk356x/RK356X_Android11.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
# 配置kernel路径
KSRC := /home/chenmy/rk356x/RK356X_Android11.0/kernel
MODULE_NAME := wlan
endif

修改完成后,开始编译,我们为了方便直接可以将rtl8723du编译成模块,方便调试,
直接在目录下执行make
在这里插入图片描述
编译报错:
在这里插入图片描述
解决方案:
屏蔽#EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
在这里插入图片描述
具体修改内容如下:

# 修改:CONFIG_PLATFORM_I386_PC = y -> CONFIG_PLATFORM_I386_PC = n
# 新增:CONFIG_PLATFORM_ARM_RK3568 = y
# 新增:
ifeq ($(CONFIG_PLATFORM_ARM_RK3568), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_ANDROID -DCONFIG_PLATFORM_ROCKCHIPS
# default setting for Android 4.1, 4.2, 4.3, 4.4
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
# default setting for Power control
#EXTRA_CFLAGS += -DRTW_ENABLE_WIFI_CONTROL_FUNC
ifeq ($(CONFIG_SDIO_HCI), y)
EXTRA_CFLAGS += -DRTW_SUPPORT_PLATFORM_SHUTDOWN
endif
# default setting for Special function
ARCH := arm64
# 编译路径根据自己实际路径配置
CROSS_COMPILE := /home/chenmy/rk356x/RK356X_Android11.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
# 配置kernel路径
KSRC := /home/chenmy/rk356x/RK356X_Android11.0/kernel
MODULE_NAME := wlan
endif

在这里插入图片描述
修改完成后最终编译成功

验证

1.加载模块

在这里插入图片描述

2.开启wifi

在这里插入图片描述
手动连接wifi后,可以看到wifi已经连接成功了。在这里插入图片描述

并且能够正常上网
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87791.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87791.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/87791.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Simulink的二关节机器人独立PD控制仿真

文章目录 理论模型仿真窗口控制函数目标函数仿真 本文是刘金琨. 机器人控制系统的设计与MATLAB仿真的学习笔记。 理论模型 对于二关节机器人系统,其动力学模型为 D ( q ) q C ( q , q ˙ ) q ˙ r D(q)\ddot qC(q,\dot q)\dot q r D(q)q​C(q,q˙​)q˙​r 式…

【技术架构解析】国产化双复旦微FPGA+飞腾D2000核心板架构

本文就一款基于飞腾D2000核心板与两片高性能FPGA的国产化开发主板进行技术解析,包括系统架构、主要硬件模块、关键接口及软件环境,重点阐述各子系统间的数据路径与协同工作方式,旨在为行业内同类产品设计与应用提供参考。 随着国产化要求的加…

Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?

目录1 示例代码2 欢迎纠错3 论文写作/Python 学习智能体1 示例代码 直接上代码。 def grpby1():xls "book.xls"df pd.DataFrame(pd.read_excel(xls, engine"xlrd"))print(df)"""序号 分类 销量0 1 文学 51 2 计算机…

【解决“此扩展可能损坏”】Edge浏览器(chrome系列通杀))扩展损坏?一招保留数据快速修复

引言 如果你想保留你的数据,敲重点:不要点击修复,不要修复,不要修复 在使用 Microsoft Edge 浏览器时,您可能会遇到扩展程序显示“此扩展程序可能已损坏”的提示,且启用按钮无法点击。这一问题让许多用户感…

AI专业化应用加速落地,安全治理挑战同步凸显

7月2日,2025全球数字经济大会在北京国家会议中心开幕。本届大会以“建设数字友好城市”为主题,聚焦数字技术对城市发展的影响。开幕式上,一首完全由AI生成的MV成为焦点——从歌词、谱曲、演唱到视频制作全流程AI生成,展现人工智能…

Python统一调用多家大模型API指南

随着大模型技术的快速发展,市场上出现了越来越多的LLM服务提供商,包括OpenAI、Anthropic、Google、百度、阿里云等。作为开发者,我们经常需要在不同的模型之间切换,或者同时使用多个模型来满足不同的业务需求。本文将详细介绍如何…

【ESP32】1.编译、烧录、创建工程

标题打开一个Hello world工程并烧录 点击环境搭建链接 遇到的问题: 1.ESP32在VSCODE中烧录代码时,跳出窗口,OPenOCD is not running ,do you want to launch it? 可能是OCD没安装,重新安装 ESP-IDF试一下,在终端命令窗…

调参——optuna

它基于贝叶斯优化(Bayesian Optimization)思想,通过构建一个概率模型来预测超参数组合的性能,从而高效地探索超参数空间。相比传统网格搜索(Grid Search)或随机搜索(Random Search)&…

Redis的缓存击穿和缓存雪崩

Redis缓存击穿和缓存雪崩是两种常见的缓存问题,它们都可能导致系统性能下降甚至崩溃。以下是对它们的详细解释:一、缓存击穿定义缓存击穿是指一个特定的缓存数据失效(例如过期),而此时大量请求同时访问这个数据&#x…

Python训练营Day4

浙大疏锦行 Python训练营Day4 内容,pandas处理表格信息: 查看表格统计信息: data.mean()data.mode()data.median() 查看表格信息: data.info()data.describe()data.isnull()data.head() 填充空缺列: 数值型&#xff…

React 基本介绍与项目创建

为什么使用 React 以及前端框架 工作原理 React 通过构建虚拟 DOM(Virtual DOM)来高效管理界面。当组件的状态或属性发生变化时,React 会重新渲染生成新的虚拟 DOM,并通过 Diff 算法找出新旧虚拟 DOM 树之间的差异,最…

OpenCV CUDA模块设备层-----“小于阈值设为零” 的图像处理函数thresh_to_zero_func()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 OpenCV CUDA 模块(cudev) 中的一个仿函数生成器,用于创建一个 “小于阈值设为零” 的图像处理函数对象。 这个函…

数字图像处理学习笔记

1-图像处理基础_哔哩哔哩_bilibili 输出图像像素点需要将图象值要作类型转换,转成Int 图像仿射变换 线性变换平移 线性变换: 1,变换前直线,变换后仍然直线 2,直线比例不变 3,直线到远点的距离不变 仿射变…

用systemd管理GreatSQL服务详解

用systemd管理GreatSQL服务详解 1.GreatSQL服务文件 官网 greatsql.service 文件 [Unit] DescriptionGreatSQL Server Documentationman:mysqld(8) Documentationhttp://dev.mysql.com/doc/refman/en/using-systemd.html Afternetwork.target Aftersyslog.target [Install] …

【AIGC】深度剖析AI伦理:强化隐私防线,推动算法公平性的核心议题

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC 文章目录 🍊1 人工智能兴起背后的伦理及道德风险1.1 算法偏见与歧视1.2 数据隐私侵权1.3 透明度受限1.4 决策失衡1.5 AI生成内容的危险性 🍊2 建构AIGC伦理观:实现人机共创的永…

WebSocket技术全面解析:从历史到实践

WebSocket技术全面解析:从历史到实践 WebSocket作为一种全双工通信协议,彻底改变了Web应用的实时交互模式。它于2011年被IETF正式标准化为RFC 6455,解决了传统HTTP协议在实时通信中的根本缺陷。本文将深入探讨WebSocket的发展历程、技术原理、…

单用户模式、紧急模式、救援模式有什么区别

文章目录 **一、单用户模式(Single User Mode)****功能与用途****启动特点****进入方式** **二、紧急模式(Emergency Mode)****功能与用途****启动特点****进入方式** **三、救援模式(Rescue Mode)****功能…

【大模型入门】访问GPT的API

目录 0 前言 免费访问GPT的API Windows下环境变量的设置 1 非流式输出 1.1 使用requests库 1.2 使用OpenAI库 2 流式输出 2.1 使用requests库 2.2 使用OpenAI库 3 使用OpenAI库与GPT聊天(存储对话历史版) 4 嵌入向量embeddings 4.1 创建嵌入向…

Jenkins 部署脚本

java版 #!/bin/bashAPP_NAME"springboot-demo-0.0.1-SNAPSHOT" JAR_PATH"/home/package/target/${APP_NAME}.jar" LOG_PATH"/home/package/logs/app.log"# 查找并停止旧进程 PID$(ps aux | grep "$APP_NAME.jar" | grep -v grep | awk…

NV183NV185美光固态闪存NV196NV201

美光固态闪存技术深度解析:NV183、NV185、NV196与NV201系列 一、技术架构与核心参数对比 1. 制程工艺与容量布局 美光NV183/NV185/NV196/NV201系列采用176层3D NAND技术,通过垂直堆叠提升存储密度。其中: NV183:主打256GB容量段…