feat: M3 complete — WiFi, BT keyboard and mouse

Bluetooth (RTL8723D USB combo chip):
- GPIO pin 357 (active low) enables WiFi/BT hardware via x6200_gpio_set()
- bluez5_utils 5.64 (downgraded from 5.79 — HID input plugin broken in 5.79)
- rtl8723d_config.bin added to overlay (missing from linux-firmware package)
- S45wifi-bt: GPIO enable + modprobe btusb/uhid/hidp at boot
- S85bt-keyboard: auto-connect loop with scan+connect every 20s

WiFi (RTL8723DU):
- out-of-tree lwfinger/rtw88 driver (RTW88_8723DU not in kernel 6.1 mainline)
- linux-firmware RTL_RTW88 for rtw88/rtw8723d_fw.bin
- regulatory.db for cfg80211
- wpa_supplicant with multi-network config in /etc/wpa_supplicant.conf
- S46wifi: wpa_supplicant + udhcpc at boot

Key findings:
- RTL8723D USB WiFi (0bda:d723) requires out-of-tree rtw88 on kernel 6.1
- BT and WiFi share same USB device, both need GPIO 357 = 0 to power on
- bluez5 5.79 HID input plugin not linked into bluetoothd (build system bug)
This commit is contained in:
Joakim
2026-05-09 21:02:53 +02:00
parent e67ff6c019
commit 2526d5b087
19 changed files with 964 additions and 16 deletions

View File

@@ -126,7 +126,17 @@ BR2_PACKAGE_STRACE=y
# - Network Manager (using simple /etc/network/interfaces for now)
# ---------------------------------------------------------------------------
BR2_GLOBAL_PATCH_DIR="../br2_external/board/x6200/patches"
# x6200
BR2_PACKAGE_X6200_CONTROL=y
# MISC
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_CTYPES=y
BR_PACKAGE_JOE=y
# Audio
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_ALSA_UTILS_AMIXER=y
@@ -135,12 +145,47 @@ BR2_PACKAGE_ALSA_LIB=y
BR2_PACKAGE_ALSA_LIB_MIXER=y
BR2_PACKAGE_ALSA_LIB_PCM=y
BR2_PACKAGE_ALSA_LIB_RAWMIDI=y
BR2_PACKAGE_X6200_CONTROL=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_CTYPES=y
BR2_PACKAGE_PULSEAUDIO=y
BR2_PACKAGE_PULSEAUDIO_DAEMON=y
BR2_PACKAGE_PULSEAUDIO_MODULE_ALSA=y
BR2_PACKAGE_PULSEAUDIO=y
BR2_PACKAGE_PULSEAUDIO_DAEMON=y
BR2_PACKAGE_PULSEAUDIO_MODULE_ALSA=y
# X11
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XAPP_XINIT=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_LIBINPUT=y
BR2_PACKAGE_XKEYBOARD_CONFIG=y
BR2_PACKAGE_LIBINPUT=y
BR2_PACKAGE_XTERM=y
# GTK3
BR2_PACKAGE_LIBGTK3=y
BR2_PACKAGE_LIBGTK3_X11=y
BR2_PACKAGE_LIBEPOXY=y
# BT TGB MOUSE & WIFI
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
BR2_PACKAGE_EUDEV=y
BR2_PACKAGE_XKEYBOARD_CONFIG=y
BR2_PACKAGE_XINPUT=y
BR2_PACKAGE_XAPP_XRANDR=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW88=y
BR2_PACKAGE_RTW88=y
BR2_PACKAGE_LINUX_FIRMWARE_REGULATORY=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y