При подключении периферийного оборудования к компьютеру операционная система автоматически считывает уникальный идентификатор, состоящий из двух частей: Vendor ID (VID) и Product ID (PID). Вместе они образуют строку VendorProductCode, которая служит цифровым паспортом устройства. Этот набор символов позволяет системе точно определить производителя и модель гаджета, чтобы загрузить соответствующий драйвер или сообщить об ошибке распознания.

Структура идентификатора

Код обычно записывается в шестнадцатеричном формате и состоит из восьми символов, разделенных на две равные части по четыре знака. Префиксы VID_ и PID_ указывают на принадлежность значения к производителю или конкретному изделию соответственно.

  • Vendor ID: Уникальный номер компании-разработчика, зарегистрированный в реестре USB-IF или PCI-SIG. Например, код 8086 принадлежит Intel, а 046D — Logitech.
  • Product ID: Индивидуальный номер конкретной модели внутри линейки производителя. Он отличает, например, разные версии одной мыши или различные чипсеты материнских плат.

Такая стандартизация предотвращает конфликты при установке программного обеспечения. Если бы у разных производителей совпадали коды, система могла бы случайно применить драйвер от одного устройства к другому, что привело бы к сбоям в работе железа.

Где найти код устройства

Для поиска подходящей прошивки или драйвера необходимо узнать эти значения. Способ получения зависит от используемой операционной системы и наличия установленных драйверов.

В Windows через Диспетчер устройств

  1. Откройте меню «Пуск», введите devmgmt.msc и нажмите Enter.
  2. Найдите нужное устройство в списке категорий (например, в разделе «Другие устройства» или «Контроллеры USB»).
  3. Щелкните правой кнопкой мыши по элементу и выберите пункт «Свойства».
  4. Перейдите на вкладку «Сведения» и в выпадающем списке свойств выберите «Коды идентификации» или «Идентификаторы оборудования».
  5. В поле «Значение» появятся строки вида USB\VID_XXXX&PID_YYYY. Скопируйте их полностью.

В командной строке и терминале

Если графический интерфейс недоступен или требуется получить информацию обо всех подключенных девайсах сразу, используйте консольные инструменты.

  • Linux: Введите команду lsusb для вывода списка USB-устройств с их кодами. Для PCIe-компонентов применяется команда lspci -nn.
  • Windows PowerShell: Можно использовать встроенные cmdlet или стороннюю утилиту devcon для получения детализированного отчета о состоянии оборудования.

Сторонние утилиты

Если стандартными средствами код не отображается (например, из-за отсутствия драйверов), помогут программы вроде HWInfo или USBDeview. Они читают информацию напрямую из реестра или низкоуровневых запросов к портам, игнорируя ограничения ОС.

Таблица популярных идентификаторов

Ниже приведены примеры часто встречающихся кодов производителей. Знание этих значений ускоряет диагностику и поиск ПО.

Проведите по таблице влево, чтобы увидеть остальные столбцы

Производитель Vendor ID (Hex) Типичные устройства
Intel Corporation 8086 Чипсеты, сетевые адаптеры, контроллеры USB
Logitech 046D Мыши, клавиатуры, веб-камеры
Apple Inc. 05AC iPhone, iPod, клавиатуры Magic Keyboard
FTDI Chip 0403 USB-UART конвертеры, программаторы
Sony Corp. 054C Камеры, диктофоны, геймпады DualShock
Hewlett-Packard 03F0 Принтеры, сканеры, офисная техника

Решение проблем с неизвестными устройствами

Желтый восклицательный знак в Диспетчере устройств означает, что система увидела аппаратную часть (по VID), но не знает, как с ней работать (нет драйвера под PID). Это называется рассинхронизацией базы данных ОС и оборудования.

Пошаговая инструкция по исправлению

  1. Скачайте драйвер вручную: Перейдите на официальный сайт производителя, найдите раздел поддержки и загрузите пакет для вашей модели.
  2. Обновление через INF-файл: В свойствах устройства на вкладке «Драйвер» нажмите «Обновить драйвер» → «Выполнить поиск драйверов на этом компьютере». Укажите путь к распакованной папке с драйвером. Система просканирует файлы .inf, где прописаны поддерживаемые комбинации VID/PID.
  3. Режим совместимости: Если установка блокируется, запустите установщик от имени администратора и включите режим совместимости с предыдущей версией Windows.

Типичные ошибки

  • Код 10 или 43: Часто указывает не на отсутствие драйвера, а на конфликт политик безопасности в корпоративных сетях или физическую неисправность порта. Проверьте групповые политики или попробуйте другой USB-разъем.
  • Поддельные устройства: Дешевые копии электроники могут иметь скопированные оригинальные коды. В таком случае стандартные драйверы не подойдут, и потребуются специфические утилиты для клонов.
  • Блокировка антивирусом: Некоторые защитные программы блокируют установку неподписанных драйверов. Временно отключите защиту или добавьте исключение для файла драйвера.

Важные предупреждения

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

Осторожно с Bootloader: При восстановлении «окипевших» микроконтроллеров (STM32, ESP32) устройство переходит в специальный режим загрузки со своим собственным VID. Используйте только официальные утилиты для этой цели, чтобы избежать повреждения памяти.

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

Можно ли изменить Product ID устройства программно?

Стандартными средствами Windows или Linux это сделать невозможно, так как код хранится во внутренней памяти контроллера. Однако для некоторых микроконтроллеров существуют специальные утилиты для перепрошивки EEPROM, позволяющие изменить параметр. Это сложная процедура, требующая технических знаний.

Что означает Vendor ID 0000?

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

Где найти полную базу всех Vendor ID?

Официальные реестры ведут организации USB-IF (для USB) и PCI-SIG (для PCI). Также актуальные списки кодов содержатся в файлах usb.ids и pci.ids , которые поставляются вместе с дистрибутивами Linux и доступны в открытых репозиториях.