What does macOS kernel return 0xE0004049 (kIOUSBDeviceNotHighSpeed) mean?

 
Could be also:
ConstantTypeOS
kIOUSBDeviceTransferredToCompanionKern returnMac
Previous Next
kIOUSBClearPipeStallNotRecursive kIOUSBDeviceTransferredToCompanion

kIOUSBDeviceNotHighSpeed

A deprecated name with a shared numeric value

kIOUSBDeviceNotHighSpeed is marked as deprecated in the IOUSBFamily definitions. The same numeric value is also exposed as kIOUSBDeviceTransferredToCompanion, whose description explains the real condition: the device was handed to another controller for enumeration. The legacy name can therefore mislead diagnostics into treating the result as a simple speed-class failure.

On systems with companion-controller architecture, a device can be routed away from one controller as part of enumeration. The useful evidence is the controller and port path that finally owns the device, along with the negotiated speed and configuration, not only the deprecated constant name returned by older code.

Use the current interpretation

  • Log the numeric value and the symbolic name used by the calling framework; older and newer software may display different names for the same status.
  • Inspect the final controller and root-hub path after enumeration before assuming that the device failed to operate at high speed.
  • Correlate the event with reconnects, hub topology, and any controller handoff messages.
  • Update diagnostics and error mapping to prefer the non-deprecated companion-controller interpretation when that matches the API generation in use.

References


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