🛠 Wi-Fi et Bluetooth du module RTL8723DS sur le Lichee RV Dock
Objectives
The Wi-Fi SKU of the Lichee RV kit includes a Realtek RTL8723DS: Wi-Fi 4 (802.11b/g/n 2.4 GHz) + Bluetooth 4.2. On the D1 side, the chip is connected via 4-bit SDIO to the mmc1 controller (with a reset GPIO on PG12) and Bluetooth on uart1 with RTS/CTS flow control and wake lines PG16-PG18 — the mainline device tree for the Dock describes exactly this wiring. This tutorial: bring up wlan0 in station mode with wpa_supplicant, verify the interface, then bring up the Bluetooth HCI. This is real-world hardware: the RTL8723DS requires firmware + vendor driver, unlike a standard USB module.
Hardware
- Lichee RV Dock with the RTL8723DS Wi-Fi/BT option (the bare Dock has NO network, neither wired nor wireless)
- Mainline image with Realtek firmware: the Buildroot defconfig
sipeed_lichee_rv_dockincludes BR2_PACKAGE_RTL8723DS / RTL8723DS_BT + wpa_supplicant + bluez; under Ubuntu/Debian, install firmware-realtek - 2.4 GHz only access point (the chip does not see 5 GHz)
Complete code
# 1) Vérifier la présence matérielle
dmesg | grep -iE 'mmc1|rtl8723|bluetooth'
ip link # wlan0 doit exister même non connecté
# 2) Wi-Fi station avec wpa_supplicant
rfkill unblock wifi
wpa_passphrase "MonSSID" "motdepasse" | sudo tee /etc/wpa_supplicant.conf >/dev/null
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -C /var/run/wpa
sudo wpa_cli -p /var/run/wpa status state # attendre COMPLETED
sudo udhcpc -i wlan0 # ou dhclient wlan0 selon la distro
ping -c 3 1.1.1.1
# 3) Persister (Ubuntu : netplan + wpa_supplicant, ou NetworkManager)
sudo nmcli device wifi connect "MonSSID" password "motdepasse" # si NetworkManager
# 4) Bluetooth 4.2 : le nœud « realtek,rtl8723ds-bt » de uart1 (ttyS1)
# attend une initialisation HCI (service vendor ou hciattach) :
sudo systemctl start hciuart 2>/dev/null || \
sudo hciattach /dev/ttyS1 rtl8723ds 1500000 # selon l'image
sudo hciconfig hci0 up && sudo hcitool scan
Expected verification
ip -br link shows wlan0 UP with an IP address after DHCP; wpa_cli status returns state=COMPLETED; ip route get 1.1.1.1 confirms that traffic exits via wlan0. dmesg traces the chip attachment on mmc1 (the PG12 GPIO reset is driven by the driver). On the BT side, hciconfig hci0 displays a MAC address and hcitool scan sees neighboring devices. Under the Buildroot image for the board, everything is already packaged: this is the shortest path to validate this tutorial.
Common errors
- Dock without the Wi-Fi option: wlan0 never exists on the bare SKU — check your purchase (Dock +3 $ SKU with RTL8723DS at launch).
- Missing firmware:
dmesgshows "Direct firmware load for rtl8723d... failed"; install the firmware (linux-firmware or Buildroot package). - 5 GHz SSID: the chip is 2.4 GHz only; an empty scan often comes from a 5 GHz only AP.
- Antenna: the module has a ceramic antenna + IPEX connector; if the assembly expects an external antenna that is not connected, the signal is tiny.
- Two network managers fighting (NetworkManager + manual wpa_supplicant): keep only one, otherwise "Device or resource busy".
- Bluetooth expected automatically: unlike Wi-Fi, the RTL8723DS BT requires an HCI init (hciattach/vendor service) before creating hci0.
Other tutorials for this board
- Premier boot du Lichee RV Dock avec Ubuntu 24.04 RISC-V
- LEDs du Lichee RV Dock : LED verte et RGB WS2812 pilotée par le LEDC du D1
- Audio sur le Dock : enregistrer au micro numérique et jouer sur le haut-parleur 3 W
- GPIO, touche utilisateur ADC et PWM sur le connecteur 2×20 du Lichee RV
- Tina Linux : l'OpenWrt vendor d'Allwinner pour le Lichee RV, installation et sysconfig
- Construire une image mainline complète avec Buildroot (defconfig officiel du Dock)
Code examples for this board
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash