What does macOS kernel return 0xE0004061 (kIOUSBUnknownPipeErr) mean?

 
Previous Next
kIOUSBTooManyPipesErr kIOConfigNoEntry

kIOUSBUnknownPipeErr

The pipe reference is stale, foreign, or no longer valid

kIOUSBUnknownPipeErr says that the IOUSBFamily stack does not recognize the supplied pipe reference. The status is about the host-side object identity, not a device endpoint response. A pipe can become invalid after an interface is closed, the device is re-enumerated, an alternate setting changes, or a caller mixes references from different interface instances.

This differs from kIOUSBEndpointNotFound, where an endpoint lookup fails in a descriptor/interface context. Here a pipe handle exists in the caller but cannot be resolved by the current object that received the request.

Validate ownership and lifetime

  • Record the pipe reference's creator, owning interface reference, configuration, alternate setting, and endpoint address.
  • Invalidate cached pipe handles on disconnect, reset, configuration change, and interface close.
  • Ensure that a callback does not submit follow-up work through a pipe that was released by another teardown path.
  • Do not reinterpret the error as a physical device disconnect without checking the interface object lifecycle.

References


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