Thanks for the ioreg output, it shows exactly what went wrong.
Your MT7925 still held part of the firmware from the previous boot (a warm restart, or a reboot from Windows). MtkBt 0.2.2 saw sections 0 and 1 as "already loaded", sent only section 2, and treated the download as done. The chip then ignored the "Bluetooth on" command (wmt op 6 flag 0: no event), MtkBt stopped with MtkBtState = error, and macOS fell back to the placeholder controller (the BCM_4350C2 / Address: NULL / UART entry). That's why the menu bar icon spins and the toggle turns itself off.
0.2.3 fixes this: https://github.com/watchthelight-labs/mt7925-hackintosh-bluetooth/releases/tag/0.2.3
When "Bluetooth on" gets no answer after reusing loaded sections, it now resets the Bluetooth subsystem, downloads the whole firmware again and retries.
To test it:
- Replace
MtkBt.kextinEFI/OC/Kextswith the one fromMtkBt-0.2.3-ci.zip. The config.plist entry doesn't change. - You're on 26.7.1 (25G241), so also install LegionBtFix after Lilu and BlueToolFixup. Without it, bluetoothd crash-loops a few seconds after the controller comes up on that build, which also looks like Bluetooth turning itself off.
- If you set
bluetoothInternalControllerInfoin NVRAM, check it's exactly 14 zero bytes. 16 bytes makes bluetoothd ignore USB controllers. - Reboot (a normal restart, so the warm path gets exercised) and post
ioreg -rc MtkBt -l | grep MtkBtagain. The lines to look for areMtkBtState,MtkBtTries,MtkBtWarmPathandMtkBtSubsysReset.
Until then, a full shutdown (not a restart) clears the chip's leftover firmware, so 0.2.2 should come up after a cold boot.