What does macOS kernel return 0xE0020003 (kIOBluetoothNoHCIController) mean?

 
Previous Next
kIOBluetoothConnectionAlreadyExists kIOBluetoothHCIPowerStatesNotSupported

kIOBluetoothNoHCIController

This fails before remote-device or GATT diagnosis begins

kIOBluetoothNoHCIController indicates that the IOBluetooth layer has no usable host controller for the operation. The failure is therefore below service discovery, pairing, GATT, and ATT: there is no controller object through which macOS can issue HCI work.

It should not automatically be read as “the peripheral is unavailable.” A missing, disabled, detached, not-yet-initialized, or otherwise unavailable local controller can all prevent the stack from reaching remote-device logic.

What to check

  • Determine whether the system exposes a default HCI controller, its availability and power state, and whether the failure coincides with login, wake, adapter attachment, or service startup.
  • Keep local-controller diagnostics separate from remote-device scans and cached peripheral objects; a cached peripheral cannot establish a transport path without a host controller.
  • Delay or fail the operation according to the application's device-availability policy rather than fabricating a remote connection failure.

References


Looking for a different code? Search another status or error code.