| Previous | Next |
| kIOUSBSyncRequestOnWLThread | kIOUSBLowLatencyFrameListNotPreviouslyAllocated |
kIOUSBHighSpeedSplitError
This concerns the hub transaction translator path
kIOUSBHighSpeedSplitError is reported for an error sent to a hub on the high-speed bus while the stack was trying to perform a split transaction. Split transactions are used when a high-speed host or hub carries traffic for a full- or low-speed device through a transaction translator. The result therefore identifies the bus and hub path, not merely a failing application request.
It should not be treated as a synonym for kIOUSBPipeStalled. A stall is an endpoint state that can require endpoint-specific recovery; a split error points to the timing and translation path between host, hub, and lower-speed device. Clearing a halt cannot repair a broken or overloaded transaction-translator path.
Topology is part of the diagnosis
- Record the device speed and every parent hub up to the root controller. The condition is meaningful only when a full- or low-speed function is carried through a high-speed hub path.
- Compare the device on a direct root port and on another hub. This isolates the transaction translator and shared hub path from the peripheral's own endpoint behavior.
- Capture concurrent USB activity on the same hub, especially other full- or low-speed functions, together with controller logs and the exact endpoint and transfer type.
- A repeated result during otherwise identical traffic is evidence to investigate the hub, cabling, port, controller driver, or device electrical behavior before changing high-level protocol framing.
References
- Apple: IOUSBFamily error codes
- Linux kernel documentation: EHCI driver
- Linux USB documentation: transaction translators and split transactions
Looking for a different code? Search another status or error code.