Site icon EfmSoft

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

 
Предыдущий Следующий
kIOUSBInvalidSSEndpoint kIOUSBDeviceCountExceeded

kIOUSBStreamsNotSupported

Streams — возможность контроллера

kIOUSBStreamsNotSupported относится именно к функции USB Streams. Оно не говорит, что невозможны все передачи с устройством; оно означает, что запрошенный путь Streams недоступен, поскольку активный контроллер xHCI его не поддерживает. Важно, что Streams являются частью модели передачи USB и хост-контроллера, а не функцией, которую можно включить созданием дополнительных потоков или очередей приложения.

Не подменяйте этот статус значением kIOUSBInvalidSSEndpoint. Последнее относится к недействительному набору дескрипторов, тогда как этот результат может появиться уже после принятия устройства и endpoint, когда контроллер не способен предоставить запрошенную функцию. Повтор на том же контроллере не добавит поддержку Streams.

Определите допустимость резервного пути

  • Установите контроллер, фактически обслуживающий устройство, согласованную скорость USB, тип конечной точки и обязательность нескольких USB streams для протокола устройства либо их роль только как оптимизации.
  • Сопоставьте возможности контроллера и его журналы с дескрипторами устройства; наличие endpoint в дескрипторе не доказывает, что любой хост-контроллер способен обслужить режим Streams.
  • Используйте путь без Streams только тогда, когда протокол устройства документирует его как эквивалентный. Не сводите независимо упорядоченные протокольные потоки в одну очередь лишь ради подавления ошибки.
  • Для продукта, которому Streams обязательны, проверяйте целевые семейства хост-контроллеров на этапе квалификации, а не считайте это состояние временным тайм-аутом USB.

Ссылки


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

Exit mobile version