Files
aic8800d80/tests/issue119-8820/README.md
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

29 lines
1.7 KiB
Markdown

# 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](https://github.com/shenmintao/aic8800d80/pull/119#issuecomment-6468608942)
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.