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

@@ -41,12 +41,15 @@ The product name **Virtuoso** is reserved for when (if!) Mestre actually deliver
| # | Milestone | Status |
|---|----------------------------------------------------------------------|--------|
| 1 | Boot a recent Buildroot LTS on the X6200 (serial console) | 🟡 In progress |
| 2 | Forward-port LCD panel driver — full display output | ⚪ Planned |
| 3 | piHPSDR running on X6200 with working audio | ⚪ Planned |
| 4 | `mestre` service: evdev → ALSA virtual MIDI bridge | ⚪ Planned |
| 5 | End-to-end: X6200 controlling Hermes-Lite 2 as a control head | ⚪ Planned |
| 6 | First-boot wizard, settings persistence, polished UX | ⚪ Planned |
| 1 | Boot a recent Buildroot LTS on the X6200 (serial console) | ✅ 2026-05-03 |
| 2 | Working audio stack | ✅ 2026-05-06 |
| 3 | WiFi and Bluetooth keyboard and mouse | ✅ 2026-05-09 |
| 4 | Forward-port LCD panel driver — full display output | ✅ 2026-05-03 |
| 5 | piHPSDR running on X6200, controlled by mouse and keyboard | ⚪ Planned |
| 6 | piHPSDR audio — HL2 audio via SoC speaker | ⚪ Planned |
| 7 | `mestre` service: evdev → ALSA virtual MIDI bridge | ⚪ Planned |
| 8 | End-to-end: X6200 controlling Hermes-Lite 2 as a control head | ⚪ Planned |
| 9 | First-boot wizard, settings persistence, polished UX | ⚪ Planned |
| ∞ | Earn the right to call it Virtuoso | ⚪ TBD |
## Architecture
@@ -66,7 +69,7 @@ The architecture is deliberately patch-free: piHPSDR is used as-is, and the MIDI
## Building
> ⚠️ **Pre-1.0**: build instructions are aspirational while milestone 1 is in progress.
> ⚠️ **Pre-1.0**: actively developed. Core build works; some milestones still in progress.
### Prerequisites
@@ -114,4 +117,4 @@ Mestre stands on the shoulders of others. In particular:
## License
GPL-2.0-or-later, matching the kernel-derived components Mestre vendors.
Userland components written specifically for Mestre may be re-licensed (e.g. to MIT) on a per-component basis where doing so doesn't conflict with this overall license; such cases will be marked clearly in the relevant subdirectory.
Userland components written specifically for Mestre may be re-licensed (e.g. to MIT) on a per-component basis where doing so doesn't conflict with this overall license; such cases will be marked clearly in the relevant subdirectory.