Назад | Перейти на главную страницу

Можно ли сбросить нумерацию виртуальных com-портов FTDI, мы легко получаем сотни COM-портов в производственной среде

При производстве устройств, которые используют микросхему FTDI USB для последовательного интерфейса для связи с хостом Windows, мы получаем сотни COM-портов, поскольку Windows, кажется, просто увеличивает номер порта каждый раз, когда новый FTDI vid + pid + serial подключается к ПК. .

Я заглянул в HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\FTDIBUS и попытался удалить новые записи, которые появляются, но единственный эффект заключается в том, что номер COM-порта увеличивается даже для устройств с тем же vid + pid + serial (то есть устройств, которые уже были подключены один раз).

Вопрос: можно ли каким-то образом сбросить этот счетчик, чтобы перечисление начиналось с первого свободного номера COM-порта?

Изменить: этот вопрос лучше подходит для superuser.com? Edit2: на него был дан ответ суперпользователь

Вот инструкции, чтобы предотвратить присвоение компьютеру Windows нового номера COM-порта каждый раз, когда новое устройство с микросхемой FT232RL подключается к USB-порту: http://liionbms.com/pdf/DisableFTDI_Enumeration.pdf Не стесняйтесь использовать

Примечание: скопировано из SuperUser

Я не на работе, поэтому передо мной нет никакого оборудования, но информация о приложении FTDI AN_107 - Дополнительные параметры драйвера похоже, есть несколько многообещающих вариантов.

В частности, я думаю, что опция «Игнорировать серийный номер оборудования» (раздел 7.1, стр. 20) подойдет вам.

7.1 Игнорировать серийный номер оборудования

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

Можно изменить это поведение, чтобы система игнорировала серийный номер устройства и обрабатывала все устройства с соответствующими VID и PID, подключенными к одному и тому же USB-порту, как если бы они были одним и тем же устройством. Это достигается путем добавления значения REG_BINARY с именем IgnoreHWSerNum в реестр и установки для него значения 01.

В AN_123 Как COM-порты распределяются при установке драйвера Заметка о приложении также очень информативна.

OT, устройства в наши дни становятся настолько сложными, что большая часть документации перемещается из таблицы в Примечания к приложениям. Не забывайте всегда читать примечания к приложению!

У Microsoft есть утилита командной строки под названием DevCon который может делай то, что тебе нужно.

Примеры:

Перечислите существующие и отсутствующие USB-устройства:

devcon findall =usb

Список существующих и отсутствующих портов:

devcon findall =ports

Удалите все USB-устройства:

devcon remove @usb\*

Удалите все порты:

devcon remove @ports\*

Действовать с осторожностью. Возможно, после этого вам потребуется выполнить повторное сканирование devcon или даже перезагрузить devcon.