Bluetooth connections not possible after sleep

Either as of upgrade to Fedora 44 from 43, or after resynchronizing the firmware from within MacOS using the asahi script new option, sleeping the laptop creates a problem for bluetooth connection.

The error is “Failed to connect: org.bluez.Error.Failed le-connection-abort-by-local” if I manually try to reconnect to a bluetooth device after sleep.

The Broadcom chip’s firmware is failing to transition to the low-power D3 state during sleep, causing subsequent re-initialization failures.

Technical Root Cause

  1. D3 Timeout: The log shows brcmfmac 0000:01:00.0: brcmf_pcie_pm_enter_D3: Timeout on response for entering D3 substate.
  2. Failed Suspend: Because the chip failed to enter the low-power (D3) state properly, it stayed in a “half-broken” state.
  3. Communication Breakdown: When I woke the laptop, the kernel tried to talk to the chip (brcmf_pcie_send_mb_data), but it failed with error -12 (Cannot allocate memory/Out of
    resources). At this point, the hardware was unresponsive to the driver.