保姆级教程:在RK3588开发板上给RTL8188EUS USB无线网卡编译Linux内核驱动

张开发
2026/4/7 3:03:48 15 分钟阅读

分享文章

保姆级教程:在RK3588开发板上给RTL8188EUS USB无线网卡编译Linux内核驱动
RK3588开发板实战手把手集成RTL8188EUS无线网卡驱动全流程最近在调试一块RK3588开发板时发现板载WiFi模块信号不稳定于是决定外接RTL8188EUS USB无线网卡。本以为这种常见芯片的驱动集成会很简单结果发现官方SDK的环境配置、内核编译流程与常规Linux开发板差异不小。本文将完整记录从驱动源码获取到功能验证的全过程特别针对RK3588开发环境中的特殊配置点进行详解。1. 开发环境准备与驱动源码获取在开始之前需要确认开发环境已正确配置。RK3588官方SDK通常包含交叉编译工具链和内核源码建议使用Ubuntu 20.04 LTS作为开发主机系统。首先检查SDK目录结构典型布局如下RK3588_SDK/ ├── kernel/ # 内核源码目录 ├── build.sh # 官方编译脚本 └── tools/ # 交叉编译工具链获取RTL8188EUS驱动源码。虽然Realtek官方提供了驱动但社区维护的版本通常兼容性更好。推荐使用lwfinger维护的版本git clone https://github.com/lwfinger/rtl8188eu.git驱动源码需要放置到内核的wireless驱动目录中。RK3588的SDK对无线驱动有特殊目录结构要求cp -r rtl8188eu/ RK3588_SDK/kernel/drivers/net/wireless/rockchip_wlan/rtl8188eus/注意不同版本SDK的路径可能略有差异建议先查看drivers/net/wireless/rockchip_wlan/下已有驱动的组织方式。2. 内核配置与驱动集成RK3588的SDK对内核配置做了定制化处理需要特别注意以下几点2.1 修改Kconfig系统首先在rockchip_wlan/Kconfig末尾添加source drivers/net/wireless/rockchip_wlan/rtl8188eus/Kconfig然后在新建的rtl8188eus目录下创建Kconfig文件内容如下# SPDX-License-Identifier: GPL-2.0 config RTL8188EUS tristate Realtek 8188EUS USB WiFi depends on USB help This is a driver for RTL8188EUS 802.11n USB wireless LAN cards.2.2 修改Makefile在rockchip_wlan/Makefile中添加obj-$(CONFIG_RTL8188EUS) rtl8188eus/2.3 设备树配置在设备树文件通常位于arch/arm64/boot/dts/rockchip/目录下中添加以下节点/ { wireless_wlan: wireless-wlan { compatible wlan-platdata; wifi_chip_type rtl8188eus; WIFI,vbat_gpio gpio1 RK_PD7 GPIO_ACTIVE_HIGH; status okay; }; };提示如果网卡不需要外部供电控制可以省略vbat_gpio这一行。3. 内核编译与驱动启用RK3588的SDK提供了专用编译脚本但需要先进行内核配置cd RK3588_SDK/kernel export ARCHarm64 make rockchip_linux_defconfig make menuconfig在menuconfig界面中按以下路径启用驱动Device Drivers → Network device support → Wireless LAN → M Realtek 8188EUS USB WiFi保存配置后返回SDK根目录执行编译./build.sh kernel编译完成后生成的驱动模块位于kernel/drivers/net/wireless/rockchip_wlan/rtl8188eus/8188eu.ko4. 驱动加载与功能验证将编译好的内核镜像和驱动模块部署到开发板。建议先只更新boot.img进行初步验证sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rockchip_wlan/rtl8188eus/8188eu.ko检查驱动是否加载成功dmesg | grep 8188 iwconfig扫描可用WiFi网络iwlist wlan0 scan | grep -i ssid连接WiFi网络iwconfig wlan0 essid 你的WiFi名称 key 你的密码 dhclient wlan0进行网络性能测试需要另一台设备作为服务器# 在开发板上运行 iperf3 -s # 在测试电脑上运行 iperf3 -c 开发板IP -b 1000M -t 105. 常见问题排查在实际操作中可能会遇到以下典型问题驱动加载失败检查dmesg输出常见原因是内核版本不匹配需要重新编译驱动无法扫描到网络确认设备树配置正确特别是电源控制GPIO如有连接不稳定尝试调整驱动参数如禁用电源管理echo options 8188eu rtw_power_mgnt0 /etc/modprobe.d/8188eu.conf编译错误确保使用的SDK版本与内核版本匹配必要时更新SDK对于RK3588开发板还需要特别注意供电问题。USB无线网卡工作时功耗较大建议使用带外接电源的USB Hub。

更多文章