我需要处理两个自定义硬件,它们都通过两个串行连接发送调试数据。这些串行连接通过两个串口转USB。串口到USB设备具有相同的供应商编号,设备编号,以及显然相同的序列号。
问题在于:我想分别记录两个串口。自定义硬件需要不断重新启动,并且它们是否附加到同一/dev/ttyUSB*
是完全随机的。我怎样才能让他们每次都选择相同的设备路径?我可以让它依赖于它所插入的端口,但这看起来有点像hacky。
所以,我对udevadm的输出运行了一个diff,就像这样:
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB1` > usb1
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` > usb2
$ diff usb1 usb2
The output of the diff is long; you can see it here
为串行打字(两者都相同):
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` | grep serial
SUBSYSTEMS=="usb-serial"
ATTRS{serial}=="0001"
ATTRS{serial}=="0000:00:1d.7"
其他信息:
我正在使用PuTTY从串口读取 OS:
$ uname -a
Linux xxxxxxxx.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
答案 0 :(得分:1)
请检查usb-serial转换器是否基于ftdi芯片? (您可以检查驱动程序文件名)
如果是这样;您有机会更改序列号,甚至是制造商信息。
http://www.ftdichip.com/Support/Utilities.htm 检查工具; MProg和FT_PROG实用工具。