Перейти к содержанию

VID и PID

По паре чисел VID:PID операционная система узнаёт, что за устройство подключено, и подбирает драйвер. Именно их показывают системные утилиты, и по ним, например, отличают переходники USB–UART на мостах разных производителей.

Обновлено Редакция GAW

VID (Vendor ID, идентификатор производителя) и PID (Product ID, идентификатор изделия) — два 16-битных числа в дескрипторе устройства USB, поля idVendor и idProduct. Спецификация USB 2.0 оговаривает: VID назначает организация USB-IF, PID — сам производитель. Вместе они однозначно указывают на модель устройства.

Где они используются

Хост читает VID и PID из дескриптора устройства во время перечисления. Операционная система по этой паре ищет драйвер, а если подходящего нет — смотрит на код класса. Рядом с ними в дескрипторе лежит bcdDevice — номер версии изделия, по которому драйвер может отличать ревизии.

Например, по VID:PID видно, какой мост стоит в переходнике USB–UART: у мостов разных производителей разные VID. Многие такие мосты не используют стандартный класс и требуют драйвер производителя, который система подбирает как раз по этим числам. Идентификаторы популярных мостов собраны в статье «UART».

Как получить свой VID

По странице USB-IF «Getting a Vendor ID» есть два пути (цены по состоянию на 22 октября 2026 г.):

ПутьСтоимостьЧто даёт
Членство в USB-IF5000 долларов в годVID, если его ещё нет, и права члена
Лицензия на логотип + покупка VID3500 долларов за два года + 6000 долларовVID и право ставить логотип на изделия, прошедшие тесты
Только VID6000 долларовVID без права на логотип

PID внутри своего VID производитель распределяет сам.

Не путать VID с VID — дифференциальным входным напряжением в даташитах трансиверов RS-485 и CAN, — а PID с ПИД-регулятором и с полем PID в пакетах USB, где оно означает тип пакета (packet identifier).

Частые вопросы

Как узнать VID и PID устройства?

В Linux — командой lsusb: она выводит пару в виде VID:PID шестнадцатеричными числами. В Windows — в диспетчере устройств, в свойствах устройства: строка «ИД оборудования» содержит фрагменты VID_xxxx и PID_xxxx. Оба числа 16-битные, то есть по четыре шестнадцатеричные цифры.

Можно ли взять любой VID для своего устройства?

Технически устройство заработает, но VID выдаёт USB-IF, и чужой идентификатор может совпасть с реальным устройством другого производителя — тогда система загрузит не тот драйвер. Собственный VID, по ценам USB-IF на октябрь 2026 г., стоит 6000 долларов или выдаётся вместе с членством в USB-IF за 5000 долларов в год.

Зачем нужен PID, если есть класс устройства?

Класс говорит, что устройство умеет (например, виртуальный COM-порт), а пара VID:PID — что это за конкретное изделие. Устройствам стандартного класса хватает драйвера класса, а для устройств со своим протоколом, как у многих мостов USB–UART, система ищет драйвер производителя именно по VID и PID.

Источники

  1. USB-IF. Universal Serial Bus Specification, Revision 2.0 (пакет usb_20_20250603) — разд. 9.6.1, табл. 9-8: idVendor (смещение 8, 2 байта) — Vendor ID, назначает USB-IF; idProduct (смещение 10, 2 байта) — Product ID, назначает производитель; bcdDevice — номер версии изделия в двоично-десятичном коде
  2. USB-IF. Getting a Vendor ID — по состоянию на 22.10.2026: два пути — членство в USB-IF (5000 долларов в год, VID выдаётся, если его ещё нет) или лицензия на логотип (3500 долларов на два года) плюс покупка VID; отдельно VID стоит 6000 долларов; без лицензионного соглашения логотип USB использовать нельзя

Нашли ошибку?