What does macOS kernel return 0xE00002EC (kIOReturnNoBandwidth) mean?

 
Previous Next
kIOReturnAborted kIOReturnNotResponding

kIOReturnNoBandwidth

The transfer cannot obtain its required bus reservation

kIOReturnNoBandwidth means that the IOKit transport could not provide the bandwidth required by the requested operation. It is not a statement about the Internet connection or available disk space. The value is commonly relevant to bus transports with scheduled transfers, including USB paths where an endpoint or pipe must have usable bandwidth before data can be transferred.

Apple’s legacy USB interface documentation explicitly notes that transferring on a pipe with zero assigned bandwidth returns this result. For periodic USB traffic, the host controller schedules work in frames or microframes, so a request can fail even when the device is connected and an ordinary control transfer still works.

What to compare

  • Confirm the active interface and alternate setting, not just the device model; different settings can reserve different periodic bandwidth.
  • Inspect requested packet size, polling interval, number of streams, and other active devices on the same controller or hub path.
  • For USB code using the legacy interface, establish the documented pipe policy before starting transfers.
  • Reduce or renegotiate the requested transport configuration only when the device protocol supports it; changing an application buffer alone does not create bus reservation.

References


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