是否可以重置 FTDI 虚拟 COM 端口枚举,我们在生产环境中很容易获得数百个 COM 端口

是否可以重置 FTDI 虚拟 COM 端口枚举,我们在生产环境中很容易获得数百个 COM 端口

在生产使用 FTDI USB 转串行芯片与 Windows 主机通信的设备时,我们会得到数百个 COM 端口,因为每次新的 FTDI vid+pid+serial 连接到 PC 时,Windows 似乎都会增加端口号。

我已经研究HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\FTDIBUS并尝试删除出现的新条目,但唯一的效果是,即使对于具有相同 vid+pid+serial 的设备(即已经连接过一次的设备),COM 端口号也会增加。

问题是:是否可以以某种方式重置此计数器,以便枚举从第一个空闲的 COM 端口号开始?

编辑:这个问题是否更适合 superuser.com?编辑 2:已在 上得到解答超级用户

答案1

注意:从 SuperUser 复制

我不在工作,所以面前没有任何硬件,但是 FTDI 应用说明AN_107 - 高级驱动程序选项看起来有一些有希望的选择。

具体来说,我认为“忽略硬件序列号”(第 7.1 节,第 20 页)选项可以满足您的要求。

7.1 忽略硬件序列号

如果设备具有相同的供应商 ID 和产品 ID,但序列号不同,系统通常会将它们视为不同的设备。这会导致为每个设备安装驱动程序并为每个设备创建注册表项。

可以覆盖此行为,使系统忽略设备的序列号,并将连接到同一 USB 端口的所有具有匹配 VID 和 PID 的设备视为同一设备。这可以通过将名为 IgnoreHWSerNum 的 REG_BINARY 值添加到注册表并将其设置为 01 来实现。

AN_123 驱动程序安装时如何分配 COM 端口应用说明也非常有用。

OT,如今的设备变得如此复杂,以至于大多数文档都从数据表移到了应用说明中。别忘了经常阅读应用说明!

答案2

以下步骤可防止 Windows 计算机在每次将带有 FT232RL IC 的新设备插入 USB 端口时分配新的 COM 端口号:http://liionbms.com/pdf/DisableFTDI_Enumeration.pdf 请随意使用

答案3

微软有一个命令行实用程序叫做DevCon哪个可能做你需要做的事。

例子:

列出现有和不存在的 USB 设备:

devcon findall =usb

列出现有和不存在的端口:

devcon findall =ports

删除所有 USB 设备:

devcon remove @usb\*

删除所有端口:

devcon remove @ports\*

请谨慎操作。之后您可能需要重新扫描 devcon,甚至重新启动 devcon。

相关内容