在 Linux 中更改 USB 虚拟串行端口的默认名称
Change default names for USB virtual serial ports in Linux
我正在使用 C 开发嵌入式解决方案,并且正在使用两个 USB 传感器。如果我单独连接每个传感器,它们将采用以下名称:
设备1(不知道为什么要6个名字...)
- /dev/ttyACM0
- /dev/ttyACM1
- /dev/ttyACM2
- /dev/ttyACM3
- /dev/ttyACM4
- /dev/ttyACM5
- /dev/ttyACM6
设备 2
- /dev/ttyACM0
因此,当我作为嵌入式系统启动并且两个传感器都已连接时,最快的需要 /dev/ACM0,但它并不总是相同的。所以,当我尝试读取设备 2 时,我可能正在读取设备 1...
我认为更改传感器的默认名称会很棒。我想这是可能的,但我没有找到任何东西。
您应该尝试使用 /dev/serial/by-id
中的名称,因为这些名称包含设备名称,不应取决于连接顺序。
顺便说一下,也可以编写 udev 规则,根据串口所属的设备为串口建立符号链接。我不确定这对于具有 6 个串行端口的复合设备如何工作,但可能有办法让它工作。
我正在使用 C 开发嵌入式解决方案,并且正在使用两个 USB 传感器。如果我单独连接每个传感器,它们将采用以下名称:
设备1(不知道为什么要6个名字...)
- /dev/ttyACM0
- /dev/ttyACM1
- /dev/ttyACM2
- /dev/ttyACM3
- /dev/ttyACM4
- /dev/ttyACM5
- /dev/ttyACM6
设备 2
- /dev/ttyACM0
因此,当我作为嵌入式系统启动并且两个传感器都已连接时,最快的需要 /dev/ACM0,但它并不总是相同的。所以,当我尝试读取设备 2 时,我可能正在读取设备 1...
我认为更改传感器的默认名称会很棒。我想这是可能的,但我没有找到任何东西。
您应该尝试使用 /dev/serial/by-id
中的名称,因为这些名称包含设备名称,不应取决于连接顺序。
顺便说一下,也可以编写 udev 规则,根据串口所属的设备为串口建立符号链接。我不确定这对于具有 6 个串行端口的复合设备如何工作,但可能有办法让它工作。