如何将 USB 设备指定为特定的 COM 端口?

如何将 USB 设备指定为特定的 COM 端口?

我们正在努力将 POS 收银机从 Windows 切换到 Ubuntu。我们的收银机在 WAN 配置中运行,因此 POS 软件实际上并不在其上运行,而是在 Windows 服务器上运行,并通过 Citrix Receiver 为它们提供服务。我们在服务器上的 POS 软件中将设备设置为特定的 COM 端口。当收银机连接时,服务器会映射该机器上的 COM 端口/设备,并通过特定的 COM 端口与这些设备通信。具体来说,COM4 用于收据打印机,COM5 用于信用卡读卡器。两者都是模拟 COM 端口的 USB 设备。

我已经将用户设为 dialout 组的一部分,并在 /dev 文件夹中找到了 tty 设备。
我需要做什么才能让 ttyAMC0 将自己标识为 COM5?

答案1

您需要创建一个新的 UDEV 规则以确保软件始终指向正确的端口。

转到 /etc/udev/rules.d 并创建一个名为“COM5.rules”的文件

编辑文件并将以下行放入其中。必须将 ID (067b) 和 (2303) 替换为硬件的 ID。

SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="COM5"

重启后,将在 /dev 中创建一个名为 @COM5 的设备,将软件设置为转到 /dev/COM5

重启或者拔掉端口重新安装甚至整个系统的更新、升级甚至大版本升级,都依然保持不变。

相关内容