What does macOS kernel return 0xE000400F (kIOUSBNotSent2Err) mean?

 
Previous Next
kIOUSBNotSent1Err kIOUSBLinkErr

kIOUSBNotSent2Err

A legacy non-transmission status

kIOUSBNotSent2Err is the second IOUSBFamily return value described by Apple's legacy header as “Transaction not sent.” It indicates that normal bus transmission did not occur, not that a remote USB function returned an application-level failure. The code must be kept intact in diagnostics because it identifies a distinct legacy status value.

There is no published public contract that assigns a protocol meaning to the suffix 2 as opposed to kIOUSBNotSent1Err. Treat the two names as implementation-status variants and use surrounding controller, port, queue, and power-state evidence to find the cause rather than building separate recovery policy from the suffix alone.

Useful correlation points

  • Capture the endpoint, direction, transfer type, request identifier, and whether the request was synchronous or asynchronous.
  • Look for a preceding controller reset, device removal, port suspension, or queue-limit failure before treating the device protocol as suspect.
  • Preserve request ownership and cancellation ordering; a request that never reached transmission may still have completion or cleanup requirements.
  • Retry only after the controller and endpoint state are known to be usable, and only when the protocol makes replay safe.

References


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