我有两根 USB A 型转 COM 电缆。我们称它们为:电缆 1 和电缆 2。现在我需要确保它们的 TTY 设备分配在重启后保持不变。我使用的是 Ubuntu。
例如,我想让计算机将电缆 1 分配给 ttyUSB1,将电缆 2 分配给 ttyUSB2。因为计算机重启后,它会将这些电缆重新分配给 TTY。
因此我阅读了一些针对其他类似设备的类似问题的解决方案。
但有一个问题。
所以当我尝试这个时:
sudo udevadm info --query=property --name=/dev/ttyUSB0 > usb0
sudo udevadm info --query=property --name=/dev/ttyUSB1 > usb1
和这个:
vimdiff usb0 usb1
电缆没有价值。除了名称和之外ID_SERIAL_SHORT
没有区别。电缆由同一家公司制造。因此序列名称没有区别。ttyUSB0
ttyUSB1
输出diff first secnd
1a2 > 总线 002 设备 020:ID 067b:2303 Prolific Technology, Inc. PL2303 串行端口
答案1
要理解答案,我们首先要理解这个问题。我有两个设备。它们通过“RS232 转 USB”设备连接到计算机。我必须配置文件。每个文件中都有一个名为 [SERIAL] 的部分。
例如
[SERIAL]
port = /dev/ttyUSB1
重启后,“开发路径”可能会发生改变。
ID_PATH
现在我通过添加此代码 来解决这个问题ACTION=="add",ENV{ID_BUS}=="usb",ENV{ID_PATH}=YOUR_ID_PATH, SYMLINK+="ttyUSBPort1"
据我了解,我们创建了指向其中一个的链接/dev/ttyUSB*
因此现在重启后就有可能/dev/ttyUSBPort1
引用另一个/dev/ttyUSB*
,但它不会阻止我,因为在我的配置文件中端口被设置为/dev/ttyUSBPort1
并且这个端口不会改变。