Files
Shen Mintao c79f1b9fec fix(legacy-mcu1): preserve Bluetooth patches for product 0x8820
Keep the product-specific syscfg writes and restore all patch uploads, including patch configuration. Derive the syscfg condition from the current product readback without retaining a loader flag.

Update regression checks for full patch uploads on both products and syscfg write failures, and document the reported hardware results and remaining validation.
2026-10-28 20:51:06 +08:00

1.7 KiB

Product 0x8820 loader checks

Run python3 tests/issue119-8820/test_loader.py with a C compiler available. The test extracts the actual system configuration, normal-mode upload branch, and busy-connect guard and runs them against mocked USB requests. It checks that both product 0x8820 and regular D80 devices upload the complete adid/patch/extended-patch/patch-table/patch-config layer before starting FMAC. Alternating and reprobed devices receive the extra syscfg writes only when their current product readback is 0x8820. The checks also retain the MCU1 cache fix, propagate read/cache/syscfg write errors, and reject a new connect without overwriting an operation already in progress.

The hardware follow-up in PR #119 corrects the initial FMAC-only hypothesis from #118. On one UGREEN a69c:5723, chip revision 7, MCU1, product 0x8820 unit running Ubuntu 26.04 and kernel 7.0.0-14-generic, the two syscfg writes alone resolve the MM_START timeout. Skipping the patch layer causes Bluetooth HCI Reset (0x0c03) to time out; restoring all patch uploads, including patch config, preserves Wi-Fi and restores controller initialization and LE discovery. The firmware remains the branch's matched V3 set, including its 327,037-byte FMAC.

The contributor tested the restored-patch variant, rather than this exact follow-up commit. The cold-start sequence was replayed through USB re-enumeration; physical unplug/replug, reboot of that variant, Bluetooth pairing/audio, and other units remain unverified. These mocked checks do not establish hardware compatibility or support for every device in issue #79.