Когда в Диспетчере устройств Windows появляется «Неизвестное USB-устройство» с идентификатором вида USB\VID_ABCD&PID_1234, система сообщает, что видит подключенное оборудование, но не может сопоставить его ни с одним известным драйвером. Значения VID (Vendor ID) и PID (Product ID) — это шестнадцатеричные коды, которые устройство передаёт компьютеру при подключении, и именно по ним можно определить производителя и модель.

Важный нюанс: VID ABCD и PID 1234 — это типичный пример-заглушка, который используется в документации, учебных материалах и тестовых прошивках микроконтроллеров. Если вы видите именно эти значения на реальном устройстве, скорее всего, речь идёт о самодельном USB-гаджете, отладочной плате или устройстве с незавершённой прошивкой. Ниже разберём, как читать такие идентификаторы, где искать соответствие VID/PID производителю и что делать с неопознанным устройством.

Что такое VID и PID и откуда они берутся

Каждое USB-устройство при подключении к порту проходит процедуру энумерации: хост запрашивает у него дескрипторы — структуры данных с описанием. В числе прочего устройство сообщает Vendor ID (идентификатор производителя) и Product ID (идентификатор продукта). Оба значения — 16-битные числа, которые принято записывать в шестнадцатеричном виде, например VID_046D (Logitech) или VID_0483 (STMicroelectronics).

Идентификаторы производителей выдаёт организация USB Implementers Forum (USB-IF). Компания, выпускающая USB-устройства, получает собственный VID и далее самостоятельно назначает PID для каждой модели продукта. Поэтому связка VID+PID однозначно указывает на конкретное устройство конкретного производителя — именно по этой паре Windows ищет подходящий драйвер в своей базе и в INF-файлах.

💡

VID назначается организацией USB-IF и принадлежит производителю, а PID производитель выбирает сам для каждого продукта. Вместе они образуют уникальный «паспорт» USB-устройства.

Почему устройство показывает VID ABCD и PID 1234

Значения ABCD и 1234 не зарегистрированы как реальный продукт крупного производителя — это классический «учебный» идентификатор. На практике такая комбинация встречается в нескольких ситуациях, и от сценария зависит дальнейший порядок действий.

  • 🔧 Самодельное устройство на микроконтроллере — автор прошивки оставил VID/PID из примера библиотеки (например, демо-проект USB-стека для STM32, AVR или ESP32-S2/S3 с USB-OTG).
  • 🧪 Отладочная плата или прототип — разработчик ещё не получил собственный VID и использует тестовые значения на этапе прототипирования.
  • 📚 Учебный пример из статьи или курса — в инструкциях по программированию USB часто фигурирует именно пара ABCD/1234 как условный образец.
  • Сбой прошивки устройства — повреждённая область памяти с дескрипторами может отдавать «мусорные» или дефолтные значения, хотя это лишь одна из возможных причин.

Если устройство приобретено как готовый продукт известного бренда, а в системе отображается VID ABCD PID 1234, это повод проверить кабель, порт и целостность прошивки — фирменное устройство должно сообщать зарегистрированный VID своего производителя.

Как посмотреть VID и PID устройства в Windows

Чтобы узнать идентификаторы подключённого устройства, не нужны сторонние программы — достаточно встроенных инструментов Windows. Порядок действий одинаков для Windows 10 и Windows 11.

☑️ Как найти VID и PID в Диспетчере устройств

Выполнено: 0 / 6

Строка в поле «Значение» будет выглядеть примерно так:

USB\VID_ABCD&PID_1234\6&2F3A1B9C&0&2

Здесь первая часть — это и есть связка VID/PID, а хвост после второго обратного слэша — уникальный экземпляр устройства на конкретном порту. Для поиска драйвера достаточно первой части.

Альтернативный способ — команда в PowerShell, которая выведет все USB-устройства с их идентификаторами:

Get-PnpDevice -Class USB | Select-Object FriendlyName, InstanceId

Где искать производителя по VID

Определить владельца идентификатора можно по открытым базам. Наиболее известный источник — официальный список USB-IF, однако он публикуется в виде объёмного документа. Удобнее пользоваться общедоступными онлайн-каталогами, где поиск по VID выдаёт название компании и известные продукты.

ИсточникЧто содержитОсобенности
Список USB-IFОфициальный реестр выданных VIDАвторитетный, но неудобный для быстрого поиска
Онлайн-базы VID/PIDVID, производитель, известные PID и устройстваБыстрый поиск, данные могут быть неполными
Файл usb.ids (проект linux-usb)Регулярно обновляемый список VID/PIDИспользуется утилитой lsusb в Linux
Диспетчер устройств WindowsЛокальную базу установленных драйверовПоказывает только то, что уже известно системе

Если поиск по вашему VID ничего не дал — это само по себе диагностический признак. Возможно, устройство кастомное, либо дескрипторы читаются с ошибкой. Попробуйте подключить его к другому порту, желательно напрямую без хаба, и сравнить результат.

📊 Где вы столкнулись с VID/PID неизвестного устройства?
Самодельное устройство на микроконтроллере
Отладочная плата (Arduino, STM32 и т.п.)
Готовое устройство перестало определяться
Изучаю USB из любопытства

Что делать, если устройство не определяется

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

  • 🔌 Смените порт и кабель — повреждённый кабель с обрывом линий данных D+/D− даёт питание, но не даёт энумерацию, и устройство либо не видно вовсе, либо определяется с ошибкой.
  • 🖥️ Подключите напрямую к ПК, минуя USB-хабы и удлинители — пассивные хабы без питания частая причина сбоев энумерации.
  • 🔄 Проверьте на другом компьютере — если и там VID/PID читаются как ABCD/1234, проблема в самом устройстве, а не в системе.
  • 🧹 Удалите устройство в Диспетчере устройств с отмеченной опцией удаления драйвера, затем переподключите — это заставит Windows заново провести энумерацию.
⚠️ Внимание: не устанавливайте «универсальные драйвер-паки» и драйверы с сомнительных сайтов по результатам поиска VID/PID. Под видом драйвера для неизвестного устройства нередко распространяется вредоносное ПО. Драйверы берите только с сайта производителя устройства или микросхемы USB-контроллера.

Если речь идёт о самодельном устройстве на микроконтроллере, проверьте код инициализации USB-дескрипторов в прошивке. Значения VID/PID задаются в структуре device descriptor — в проектах на базе готовых стеков (например, TinyUSB или фирменных библиотек производителя чипа) они обычно вынесены в отдельный конфигурационный файл.

💡

Для тестовых и хоббийных проектов допустимо использовать VID/PID, предоставленные автором библиотеки или сообществом для некоммерческих целей, но для коммерческого продукта потребуется собственный VID от USB-IF либо PID по программе производителя чипа, если такая предусмотрена. Уточняйте условия в документации на конкретный стек.

Особый случай: виртуальные COM-порты и отладочные платы

Частый сценарий, в котором пользователь видит незнакомый VID/PID, — подключение отладочной платы или устройства с преобразователем USB-UART. Плата определяется как последовательный порт, но без драйвера чипа-преобразователя (CH340, CP2102, FT232 и подобных) Windows показывает её как неизвестное устройство.

Здесь логика простая: по VID выясняете производителя микросхемы преобразователя, скачиваете драйвер с официального сайта именно этого производителя, устанавливаете — и после переподключения в системе появляется COM-порт. Конкретный номер порта смотрите в разделе «Порты (COM и LPT)» Диспетчера устройств.

Почему нельзя просто взять чужой VID для своего устройства

VID юридически принадлежит зарегистрировавшей его компании. Использование чужого VID в коммерческом продукте нарушает условия USB-IF и может привести к конфликтам драйверов: система сопоставит ваше устройство с чужим драйвером, что вызовет сбои. Для серийных продуктов существуют легальные пути: собственный VID от USB-IF, сублицензирование PID у производителя чипа (некоторые вендоры это предлагают) или использование открытых VID/PID-пар, выделенных сообществом для открытых проектов, — с соблюдением их условий.

Ошибки энумерации: когда VID/PID не читается вовсе

Иногда вместо конкретных значений система показывает код ошибки: «Сбой запроса дескриптора устройства» (код 43) или «Устройство не опознано». Это означает, что энумерация прервалась ещё до чтения VID/PID, и искать драйвер бессмысленно — проблема на более низком уровне.

⚠️ Внимание: если устройство после падения, попадания влаги или экспериментов с прошивкой перестало отдавать корректные дескрипторы, не пытайтесь перепрошивать его «вслепую» по инструкциям для других моделей. Неверная прошивка может окончательно вывести устройство из строя. Сначала сверьтесь с документацией производителя именно вашей модели и её аппаратной ревизии.

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

💡

Связка VID+PID — это первое, что нужно посмотреть при проблемах с USB-устройством. Она отвечает на два вопроса: кто производитель и что это за продукт. Дальнейшие действия всегда строятся от этой информации.

Часто задаваемые вопросы

VID ABCD PID 1234 — это вирус или опасное устройство?

Сама по себе комбинация ABCD/1234 — это учебные значения, а не признак угрозы. Однако любое неизвестное устройство стоит идентифицировать: вспомните, что вы подключали, проверьте список устройств в Диспетчере устройств до и после подключения. Если устройство появилось без ваших действий, отключите его и проверьте систему антивирусом.

Можно ли изменить VID и PID устройства?

На самодельных устройствах и микроконтроллерах — да, значения задаются в прошивке в структуре дескриптора устройства. На готовых фирменных изделиях VID/PID зашиты производителем, и изменение их пользователем обычно не предусмотрено и может нарушить работу драйверов.

Windows пишет «Драйверы не установлены (код 28)» — что делать?

Код 28 означает, что устройство успешно прошло энумерацию, но подходящего драйвера в системе нет. Возьмите VID и PID из вкладки «Сведения», определите производителя по открытой базе и установите драйвер с его официального сайта. Если устройство самодельное — драйвер должен предоставить автор проекта или библиотеки.

Чем посмотреть VID/PID в Linux?

Командой lsusb — она выводит список всех USB-устройств с идентификаторами в формате ID abcd:1234. Подробные дескрипторы конкретного устройства можно посмотреть командой lsusb -v -d abcd:1234.

Устройство работало, а теперь показывает другой VID/PID — почему?

Возможные причины: устройство перешло в режим загрузчика (bootloader) — многие платы имеют отдельный VID/PID для режима прошивки; либо произошёл сбой прошивки. Проверьте, не зажата ли кнопка входа в режим загрузчика, и сверьтесь с документацией на вашу модель — там обычно описаны оба идентификатора.