目录
1 说明
rtl8723DS是Wi-Fi、蓝牙二合一芯片方案。Wi-Fi支持2.4G频段,支持AP与STA共存的工作模式,使用SDIO接口。蓝牙支持4.2协议,使用UART接口。本文内容来源于调试广州眺望电子科技有限公司rk3399开发板的过程中总结的经验。本文涉及的wifi模块和开发包购买自深圳市必联电子有限公司。rtl8723DS开发包可咨询供应商或者从百度网盘获取。
链接:https://pan.baidu.com/s/1wqnxBAqXHUU7IQphmYn8LA
提取码:odw5
2 移植说明
具体的资料包要找供应商获取。下文说明AP和STA共存(也可以只使用一个)使用的移植过程。在使用过程中注意网络节点的对应关系,官方文档推荐wlan0工作在STA模式,wlan1工作在AP模式。
2.1 编译内核和驱动
相关资料
rtl8723DS_WiFi_linux_v5.6.8_34158.20190625_COEX20190530-3030.tar.gz
Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf
修改内核
将驱动包解压之后拷贝KSRC\drivers\net\wireless并改名字为rtl8723ds,KSRC为内核路径。
修改KSRC\drivers\net\wireless\rtl8723ds\Makefile,
CONFIG_PLATFORM_I386_PC = n
增加如下内容:
CONFIG_PLATFORM_RK3399 = y
ifeq ($(CONFIG_PLATFORM_RK3399), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_HISILICON -DCONFIG_CONCURRENT_MODE
#CONFIG_CONCURRENT_MODE宏支持STA和AP可共存
ARCH := arm
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
CROSS_COMPILE = /home/lijun/rk3399-linux/buildroot/output/rockchip_rk3399/host/bin/aarch64-buildroot-linux-gnu-
KSRC := /home/lijun/rk3399-linux/kernel/
#KSRC以实际环境而变
MODULE_NAME := rtl8723ds
#MODULE_NAME可任意命名
endif
修改KSRC\drivers\net\wireless\Makefile,
增加一行内容:obj-$(CONFIG_RTL8723DS) += rtl8723ds/,其中rtl8723ds即为驱动包的名字,CONFIG_RTL8723DS中的RTL8723DS参考于驱动包中的Kconfig文件中的”config RTL8723DS”行。
修改内核根目录\drivers\net\wireless\Kconfig,
增加一行内容:source "drivers/net/wireless/rtl8723ds/Kconfig",其中rtl8723ds即为驱动包的名字。
编译内核和驱动
cd KSRC,KSRC为内核根目录
make menuconfig
确保Device Drivers->Network device support为’*’,Device Drivers->Network device support-> Wireless LAN (NEW)为’*’,Device Drivers->Network device support-> Wireless LAN (NEW)->Realtek 8723D SDIO or SPI WiFi (NEW)为’M’,将cfg80211被编译进内核,