watchthelight labs

26.7.2 (25G332): bluetoothd not patched, LE crash loop is back #1

closedarea:bluetoothkind:regressionseverity:high
watchthelight 2026-10-28

LegionBtFix 0.2.0 only patches the bluetoothd from 26.7.1 (25G241). On 26.7.2 (25G332) the page hashes don't match, so it applies nothing and the LE crash loop comes back: Bluetooth works for a minute or so, then turns itself off and restarts over and over.

Reported in mt7925-hackintosh-wifi#4. The MtkBt side is fine there (MtkBtState = ready on 0.2.4).

Plan: I'm moving my Legion to 26.7.2 today and will redo both patch windows and page hashes for 25G332's bluetoothd, keeping 25G241 supported. Until that release, the log line page hash differs from log show --predicate 'eventMessage CONTAINS "LegionBtFix"' confirms you're hitting this.

watchthelight 2026-10-28

Fixed in 0.3.0. The page hashes are gone. Each patch site is now found by its surrounding code, with the call targets and stack offsets that move between builds masked out, so one binary covers 26.7.1 (25G241) and 26.7.2 (25G332).

Booted on 25G332 on my Legion 5 (MtkBt 0.2.4): both patched instructions read back from bluetoothd's mapped pages, Bluetooth stays on, and bluetoothd has not crashed since boot. The page hash differs line no longer exists. If a later update changes that code, the plugin patches nothing and the crash loop shows up again, so that is the sign to look for.

Reply on GitHub