What does macOS kernel return 0xE00002D9 (kIOReturnNotAttached) mean?

 
Previous Next
kIOReturnNotReady kIOReturnNoChannels

kIOReturnNotAttached

How it differs from a missing device

kIOReturnNotAttached usually identifies an attachment or topology state rather than a malformed request. The target may still have a registry representation, but it is not attached to the provider, controller, transport path, or logical hierarchy expected by the IOKit family handling the call. This distinction matters during hot-plug, wake from sleep, driver stop/start, and device reconfiguration.

It is therefore more specific than a generic I/O failure but not enough to diagnose a bad cable, a hub issue, a driver match failure, or a deliberate detach on its own. In IOKit’s layered model, services can be added and removed dynamically; applications must treat an object’s existence and its readiness for a particular operation as separate facts.

What to inspect

  • Check the I/O Registry path and whether the service has a live provider at the time of failure.
  • Correlate the error with attach, detach, terminate, wake, and power-management notifications.
  • For USB, capture the active configuration and interface before and after re-enumeration rather than assuming endpoint identities survive it.
  • Close stale user-client or interface objects and reacquire them through the documented discovery path.

References


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