Устройство USB не детектируется, или отображается как "Неизвестное устройство" Печать
Добавил(а) microsin   

В этой статье приведено описание ситуации, когда некорректное поведение устройства USB приводит его отбрасыванию кодом ядра операционной системы Windows, результате чего появляется "неизвестное устройство" (Unknown Device) - перевод статьи [1], автор Martin Borve. См. также подробное описание процесса энумерации устройства стеком USB операционной системы [2].

[Устройство не прошло энумерацию]

Есть несколько причин, почему устройство USB может быть не опознано (оно не прошло энумерацию), когда было подключено в порт USB. Предположим, что драйвером хаба USB было обнаружено изменение состояния подключения, тогда следующие события могут привести к отказу в энумерации устройства:

• Устройство USB не застабилизировалось (не успело начать работать) за период подавления дребезга (debounce period).
• При энумерации было превышение лимита потребляемого тока (overcurrent event).
• Во время процедуры энумерации произошло событие отключения (disconnect event).
• О состоянии порта сообщается, что он приостановлен (suspended) после успешного сброса порта (port reset).

USB-device-not-recognized

["Неизвестное устройство" в Диспетчере Устройств из-за неудачной энумерации]

В большинстве случаев, когда энумерация терпит неудачу, драйвер хаба все еще сообщает операционной системе Windows о присутствии подключенного устройства. При этом устройство USB появится в дереве объектов Device Manager как "Unknown Device", и получит идентификатор устройства (Device ID) в виде "USB\VID_0000&PID_0000" и идентификатор аппаратуры (Hardware ID) и идентификатор совместимости (Compatible ID) как "USB\UNKNOWN". Следующие события заставят драйвер хаба USB перечислять (enumerate) устройство USB как "Unknown Device":

• Во время энумерации вышел таймаут запроса на сброс порта (port reset request).
• Запрос установки адреса (Set Address request) для устройства USB завершился с ошибкой.
• Запрос получения дескриптора устройства USB (request USB Device Descriptor) завершился с ошибкой.
• Прочитанный дескриптор устройства (USB Device Descriptor) имеет неправильный формат и не прошел проверку.
• Запрос получения дескриптора конфигурации (request Configuration Descriptor) завершился с ошибкой.
• Прочитанный дескриптор конфигурации (USB Configuration Descriptor) имеет неправильный формат и не прошел проверку.
• В операционной системе Windows 7 устройства, которые не прошли энумерацию, будут помечены кодом ошибки 43 (failure Code 43) в Диспетчере Устройств.

usb-unknown-device

В промежуточной версии операционной системы, которая носит имя Vista, в Диспетчере Устройств может и не быть кода ошибки. Так что обнаружить ошибку энумерации можно, если посмотреть Hardware ID на закладке странице Сведения, если посмотреть подробную информацию об устройстве - в Диспетчере Устройств сделайте правый клик на устройстве, и выберите (Properties) и затем кликните на закладку Details (Подробнее, или Сведения). Если ID будет USB\VID_0000&PID_0000, то произошла ошибка в процессе энумерации.

["Неизвестное устройство" в Диспетчере Устройств из-за недоступного драйвера]

Это вторая причина, почему может появиться "Unknown Device" в Диспетчере Устройств, даже если энумерация прошла успешно. Это произойдет, когда устройство при энумерации не предоставило (известную) строку идентификатора продукта (Product ID), и система не может найти подходящий INF-файл для устройства, чтобы установить драйвер. В этом случае устройство будет помечено в Диспетчере Устройств кодом ошибки 28 (Code 28).

Вы можете попробовать загрузить и установить драйвер с помощью сайта Windows Update, если в Диспетчере Устройств сделаете правый клик на устройстве, и выберете опцию "Update Driver Software" (обновить драйверы...), и затем выбрать "Search automatically for updated driver software" (Автоматический поиск обновленных драйверов).

usb-unknown-device-popup-update-driver

Update-USB-device-driver

[Ссылки]

1. Why is my USB device not detected or comes up as "Unknown Device"? site:blogs.msdn.com.
2. Как стек USB производит энумерацию устройства.