What does macOS kernel return 0xE0020002 (kIOBluetoothConnectionAlreadyExists) mean?

 
Previous Next
kIOBluetoothDeviceResetError kIOBluetoothNoHCIController

kIOBluetoothConnectionAlreadyExists

The duplicate connection attempt conflicts with current controller state

kIOBluetoothConnectionAlreadyExists reports an attempt to open a connection that already exists. Bluetooth HCI defines an analogous Connection Already Exists controller error for a new connection request targeting a device that is already connected where multiple connections are not permitted.

The corrective action is not to create another parallel connection object. The client must distinguish a genuine active connection from stale application bookkeeping left after a disconnect, reset, or callback ordering change.

What to check

  • Record the peer address or identifier, controller connection list, application connection-object lifetime, recent connect and disconnect callbacks, and reset events.
  • Reuse or reconcile the existing logical connection only after confirming that it belongs to the intended peer and service state.
  • When a previous operation ended ambiguously, wait for the authoritative controller event or API callback rather than racing a new connect request against cleanup.

References


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