| 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.