Я пытаюсь разработать портативное устройство, которое позволит мне передавать данные с одного USB-накопителя на другое без использования ПК / ноутбука. Я читал руководство для разработчиков от Яна Аксельсона, где я наткнулся на раздел, в котором говорилось, что для изготовления любого USB-устройства нужно купить идентификатор производителя USB / идентификатор продукта. Я прочитал то же самое на форуме разработчиков USB. Я не уверен в важности этого идентификатора продукта в моем проекте.
Это что-то вроде MAC-адреса для компьютеров / ноутбуков и он мне понадобится?
Это что-то требуется только для разработки периферийных устройств, а не таких устройств, как те, которые я хочу реализовать (что, я думаю, больше похоже на хост)?
usb
usb-device
usb-host
Настой полыни и асфоделя
источник
источник
Ответы:
Я не уверен, что именно вы хотите сделать, но если это хост-устройство, вам действительно не нужен USB VID / PID.
USB VID / PID подчиненного устройства используется хостом для идентификации драйверов, которые будут использоваться для подчиненного устройства. Хост-устройству не нужно идентифицировать себя подчиненному, следовательно, ему не нужен VID / PID.
источник
Только устройства нуждаются в VID и PID, а не в хостах.
Vendor ID или VID - это 16-битное число, которое вы должны купить у USB Foundation. Если вы хотите сделать USB-устройство (и полностью играть по правилам), VID идентифицирует вашу организацию.
Идентификатор продукта или PID также является 16-разрядным, но находится под вашим контролем. Когда вы покупаете VID, вы имеете право использовать его с каждым возможным PID, так что вы получите 65536 возможных комбинаций VID: PID. Предполагается, что комбинация VID: PID должна однозначно идентифицировать конкретный продукт в глобальном масштабе.
Это гарантирует, что ни один ПК не сможет увидеть два разных устройства с одинаковыми VID и PID, поскольку ПК использует их для идентификации устройства, в противном случае может возникнуть конфликт.
Примечание. В отличие от MAC-ID, целью комбинации VID: PID является уникальная идентификация типа устройства в той степени, в которой операционная система знает, какие драйверы использовать, не всегда необходимо иметь возможность различать два идентичных устройства. Например, на двух USB-накопителях компьютер не только знает, что это за устройство, но и знает, к какому порту он подключен.
Когда вы подключаете устройство USB к ОС, запрашивает у устройства его VID и PID и дает устройству адрес, который он будет продолжать использовать до тех пор, пока устройство не будет удалено (или компьютер не выключится).
Когда ПК знает VID и PID, он проверяет, знает ли он это уже. Если он это делает, он загружает правильные драйверы для него; если нет, вам предоставляется возможность установить любые соответствующие драйверы. Этот процесс называется перечислением.
С другой стороны, MAC-ID сам по себе не предоставляет никакой информации о том, что представляет собой устройство (компьютер, принтер, маршрутизатор и т. Д.), Но однозначно идентифицирует устройство: два идентичных компьютера будут иметь разные MAC-идентификаторы, как если бы они оба подключаются к одной и той же сети Ethernet, это не будет работать правильно. Однако два идентичных USB-накопителя будут иметь идентичные VID и PID.
Если я хочу изготовить и продать 1 миллион идентичных USB-устройств, мне нужно купить только один VID. Если я хочу сделать и продать 1 миллион Ethernet-устройств, мне нужно купить 1 миллион MAC-идентификаторов.
источник
Обратите внимание, что некоторые производители оборудования, такие как Microchip , желают бесплатно сублицензировать свой собственный идентификатор поставщика для своих клиентов.
источник