Что означает код возврата ядра macOS 0xE00002EC (kIOReturnNoBandwidth)?

 
Предыдущий Следующий
kIOReturnAborted kIOReturnNotResponding

kIOReturnNoBandwidth

Передаче не удалось получить требуемое резервирование шины

kIOReturnNoBandwidth означает, что транспорт IOKit не смог предоставить полосу пропускания, необходимую запрошенной операции. Это не сообщение о подключении к Интернету или свободном месте на диске. Значение обычно относится к шинным транспортам с планируемыми передачами, включая USB-пути, где конечная точка или канал должны получить доступную полосу до начала передачи данных.

Документация устаревшего USB-интерфейса Apple прямо указывает, что передача через канал с нулевой назначенной полосой возвращает этот результат. Для периодического USB-трафика контроллер хоста планирует работу по кадрам или микрокадрам, поэтому запрос может завершиться ошибкой даже при подключённом устройстве и исправной обычной управляющей передаче.

Что следует сравнить

  • Проверьте активный интерфейс и альтернативную настройку, а не только модель устройства: разные настройки могут резервировать различную периодическую полосу.
  • Проверьте требуемый размер пакета, интервал опроса, число потоков и другие активные устройства на том же контроллере или пути концентратора.
  • В USB-коде, использующем устаревший интерфейс, задайте документированную политику канала до запуска передач.
  • Уменьшайте или пересогласовывайте конфигурацию транспорта только тогда, когда это поддерживает протокол устройства; одно изменение буфера приложения не создаёт резервирование шины.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.