USB idproduct и idvendor

Я очень плохо знаком с интерфейсом USB и пытаюсь создать приложение для устройства WINCE 2013. В моем устройстве VID и PID одного поставщика (пусть предположим 'X') используются для класса запоминающих устройств USB.

Теперь у меня есть конкретный случай использования, когда связь должна быть построена на USB-классе rndis. Для этой цели мы используем общий драйвер rndis от Microsoft как есть (не пользовательский). Итак, могу ли я использовать VID и PID X (которые я сейчас использую для класса MASS STORAGE) для класса Rndis или мне нужно снова купить новый. Я знаю, что могу использовать любые VID и PID на этапе разработки, но мне нужны VID и PID для производственных устройств.

Или можно использовать Microsoft VID, PID и совместимый идентификатор, совместимый для универсального драйвера rndis от Microsoft, изменив только серийный номер для устройств?

Пожалуйста, предложите и спасибо заранее!:-)

(Дайте мне знать, если запрос слишком расплывчат для понимания.)

1 ответ

Трудно найти окончательный ответ, но, возможно, мы сможем экстраполировать этот пост с помощью Microsoft MVP (выделено мной):

(...) вам больше не нужно менять VID/PID MS, если вы используете USB RNDIS для использования ActiveSync.

Вот официальный ответ от Microsoft на эту тему (как его попросил сотрудник MVP относительно клиента, у которого была такая же проблема):

Вопрос: должны ли они использовать Microsoft PIDVID или создать свой собственный? Если они создают свои собственные, это означает изменение текущего файла.inf, и, следовательно, это означает, что драйвер будет неподписанным и, следовательно, не сможет быть установлен. В прошлом Microsoft PIDVID предупреждал, чтобы не использовать это. Теперь в 6.0 предупреждения не появляются.

Ответ: Ответ точно такой же, как и для Windows Mobile: для использования ActiveSync, ДА, вы можете использовать VID и PID от Microsoft для вашего сценария.

Это изменение документации, в которой говорится, что вы должны получить свой собственный PID & VID. Вопреки тому, что говорит образец файла реестра, OEM-производитель должен поставлять устройство с использованием Microsoft VID & PID для клиента USB-Serial ActiveSync. Последняя документация OEM подтверждает это (...)

Теперь, поскольку вы не упомянули конкретно ActiveSync, я понимаю, что вышеприведенное, вероятно, не относится к вашему варианту использования, что снова означает, что вам придется использовать свои собственные VID и PID.

Если у вас уже есть комбинация VID/PID, я не вижу никаких (юридических) проблем, связанных с этим и с RNDIS. В конце концов, это одно и то же устройство, и хост USB будет загружать один из двух разных (не пользовательских) драйверов класса для связи с устройством.

Однако, если вы используете свой собственный VID/PID, вам придется либо

  1. предоставить подписанный INF-файл конечным пользователям, содержащий ваш пользовательский VID/PID, или
  2. поручить пользователям вручную выбирать драйвер RNDIS, когда ваше устройство подключается к компьютеру в первый раз
Другие вопросы по тегам