| 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
- Bluetooth SIG: Host Controller Interface functional specification
- Bluetooth SIG: Controller error codes
- Apple: IOBluetoothHostController
Looking for a different code? Search another status or error code.
