| Предыдущий | Следующий |
| kIOUSBDeviceNotHighSpeed | kIOUSBSyncRequestOnWLThread |
kIOUSBDeviceTransferredToCompanion
Перечисление перешло к другому контроллеру
kIOUSBDeviceTransferredToCompanion сообщает, что устройство передано companion-контроллеру для перечисления. В устаревшей архитектуре USB 2.0 высокоскоростной EHCI-контроллер мог работать вместе с companion-контроллерами полной и низкой скорости; маршрутизация зависела от скорости, согласованной подключённым устройством. То же числовое значение в старых заголовочных файлах также называется kIOUSBDeviceNotHighSpeed , но это имя устарело в пользу значения передачи companion-контроллеру.
Этот статус не равнозначен отключению устройства, stall конечной точки или ошибке прикладного протокола. Устройство может стать доступно через другой контроллер, но ПО должно использовать службу, появившуюся после окончательного пути перечисления, а не предполагать сохранение высокоскоростного интерфейса.
Как сделать результат пригодным для диагностики
- Запишите согласованную скорость, идентичность контроллера, родительский концентратор, путь порта и расположение устройства до и после перечисления.
- Сравните прямое подключение с подключением через концентратор или док-станцию. Кабель, концентратор или проблема высокоскоростного согласования на стороне устройства могут изменить маршрут, выбранный старыми контроллерами.
- После переноса заново обнаружьте интерфейсы. Не сохраняйте ссылку на службу или канал до перечисления так, будто она относится к окончательному контроллеру.
- Для оборудования, чувствительного к пропускной способности, проверьте фактическую скорость шины и маршрут контроллера; успешное перечисление на companion не гарантирует характеристики высокоскоростного пути.
Ссылки
- Apple: kIOUSBDeviceTransferredToCompanion
- Apple: обзор USB-устройств
- Документация ядра Linux: companion-контроллеры EHCI
Нужно найти другой код? Найти другой код состояния или ошибки.