Зачем нужны типы USB-устройств?

Раздел «USB» > «Типы USB-устройств» в WEB-интерфейсе концентратора предназначен для настройки авторизации по USB-устройству. В нём создаётся справочник типов USB-устройств, по которым концентратор проверяет права пользователя при подключении.

Статья объясняет, что такое VID, PID и серийный номер, как работает раздел, зачем он нужен и какие у него ограничения.


1. Что такое VID, PID и Serial №

Каждое USB-устройство при подключении передаёт концентратору набор идентификационных параметров. Для настройки авторизации используются три из них:

Параметр Расшифровка Что означает
VID (Vendor ID) Идентификатор производителя Код компании-производителя USB-устройства. Назначается USB Implementers Forum.
PID (Product ID) Идентификатор продукта Код конкретной модели устройства. Назначается производителем в рамках своего VID.
Serial № (SN) Серийный номер Уникальный номер экземпляра устройства. Задаётся производителем при изготовлении.

Пример: флеш-накопитель может иметь VID 058f, PID 6387, Serial № ECE53116. Другая флешка того же производителя и модели будет иметь те же VID и PID, но другой серийный номер.

Важно! VID, PID и серийный номер задаются производителем USB-устройства. Концентратор только считывает эти значения с подключённого устройства — изменить параметры самого USB-устройства через WEB-интерфейс нельзя.

Можно ли изменить VID, PID или Serial №?

Здесь важно различать два уровня:

1. Параметры физического USB-устройства — задаются производителем при изготовлении (прошивка, контроллер). Концентратор их не меняет. Изменить их можно только средствами производителя — специализированным ПО, утилитами прошивки и т.п., если производитель вообще предусмотрел такую возможность. DistKontrolUSB к этому не относится.

2. Запись в «Типы USB-устройств» — при добавлении вручную или редактировании существующей записи в WEB-интерфейсе поля VID, PID и Serial № можно ввести произвольно. Но это изменит только строку в справочнике авторизации, а не реальное USB-устройство.

Типичная ситуация: несколько флешек с одинаковыми VID, PID и серийным номером. Чтобы добавить каждую отдельной строкой, пользователь вручную указывает другой PID или Serial № (например, 23032304, 2305…). Запись в списке появляется, но при подключении концентратор считывает реальные параметры с устройства — и они не совпадают с записью в справочнике.

Последствия ручного изменения параметров в «Типы USB-устройств»:

Что происходит Результат
Запись добавлена с «выдуманным» Serial № или PID Устройство отображается в списке типов, но авторизация не работает
Пользователю выдан доступ к такой записи При подключении — ошибка авторизации (DEVICE BAD в логах клиента)
Несколько записей с разными вручную заданными PID Записи существуют только в справочнике; ни одна не соответствует реальному устройству

Почему этого не нужно делать:

  • При подключении концентратор всегда сверяет VID, PID и Serial № с данными, считанными с физического устройства. Значения из WEB-интерфейса на процесс подключения не влияют.
  • Раздел «Типы USB-устройств» не предназначен для разделения одинаковых экземпляров — для этого используется авторизация по USB-портам (см. раздел 6).
  • Ложное ощущение, что «устройство добавлено и настроено», мешает найти корректное решение — настройку доступа по портам.
Важно! Итог: менять VID, PID или Serial № в «Типы USB-устройств» имеет смысл только если вы точно знаете реальные параметры устройства (например, добавляете запись заранее, до физического подключения). Указывать произвольные значения, чтобы обойти ограничение на дубликаты, не нужно — авторизация работать не будет.

Раздел нужен для добавления VID, PID и серийного номера в систему авторизации концентратора. Без записи в этом справочнике нельзя настроить ограничение доступа к конкретному USB-устройству.

Типовой сценарий использования:

  1. Добавить USB-устройство в «Типы USB-устройств» (автопоиском или вручную).
  2. Создать пользователя и назначить ему доступ к этому устройству в разделе «Управление правами доступа» > «Пользователь» > «Доступ к USB-устройствам».
  3. Добавить пользователя в группу видимости.
  4. В настройках группы включить «Ограничение доступа к USB-устройству по логину и паролю» или «по IP-адресу».

При попытке подключения концентратор считывает VID, PID и Serial № с подключённого устройства и сверяет их с записями в справочнике и правами пользователя.

Важно! Раздел предназначен для авторизации по типу USB-устройства, а не для учёта каждого физического экземпляра и не для изменения параметров подключённых устройств.

3. Как добавить USB-устройство

Автопоиск

  1. Подключите USB-устройство к концентратору.
  2. Перейдите «USB» > «Типы USB-устройств» > «Добавить устройство» > «Автопоиск».
  3. Концентратор определит VID, PID и серийный номер всех подключённых устройств.
  4. Отметьте нужные и сохраните.

При автопоиске концентратор считывает параметры непосредственно с USB-устройства.

Добавление вручную

Кнопка «Добавить вручную» используется, если вы заранее знаете VID, PID и Serial № устройства (например, устройство ещё не подключено).

  • Запись добавляется только в систему авторизации.
  • Параметры подключённых USB-устройств не изменяются.
  • Если указать неверные данные, авторизация работать не будет — при подключении концентратор сверит реальные параметры устройства с записью в справочнике, и они не совпадут.

4. Как работает проверка при добавлении

При добавлении (автопоиском или вручную) концентратор проверяет, есть ли уже запись с такими же VID + PID + Serial №.

  • Если совпадение найдено — новая запись не создаётся, отображается сообщение «Устройство уже в списке».
  • Если совпадения нет — создаётся новая запись с присвоением порядкового номера.

Почему так: раздел хранит типы USB-устройств для авторизации. Тип определяется связкой VID + PID + Serial №. Если у нескольких физических устройств все три параметра совпадают, для системы авторизации они относятся к одному типу — концентратор не может программно различить их между собой.

5. Ограничения

5.1. Нельзя добавить несколько записей с одинаковыми VID, PID и Serial №

Если у Вас несколько USB-устройств с одинаковыми VID, PID и серийным номером — в «Типы USB-устройств» будет одна запись. Это корректное поведение.

Физически это разные устройства. В клиентском приложении они доступны каждое на своём USB-порту (например, 1.1, 1.2, 1.3, 1.4). Но в справочнике типов — одна запись, потому что идентификатор типа у них одинаковый.

5.2. Авторизация по USB-устройству не различает одинаковые экземпляры

Если пользователю предоставлен доступ к типу USB-устройства с определёнными VID, PID и Serial №, он сможет подключиться к любому физическому устройству с такими же параметрами — не только к одному конкретному экземпляру.

Разграничение доступа к типам USB-устройств корректно работает, когда у каждого устройства есть уникальный параметр — чаще всего это серийный номер.

5.3. Раздел не привязан к USB-порту

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


6. Как разграничить доступ к "одинаковым" USB-устройствам

Если необходимо, чтобы каждый пользователь имел доступ только к конкретной флешке (или другому устройству) с одинаковыми VID, PID и Serial № — используйте авторизацию по USB-порту, а не по USB-устройству.

Важно! Для разделения доступа к нескольким одинаковым устройствам нужно настраивать права на USB-порты, так как раздел «Типы USB-устройств» не разделяет одинаковые экземпляры между собой.


Подробнее о настройке авторизации: руководство пользователя, раздел 5.4.3.