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