在没有 udev 规则的情况下重命名 USB 设备为静态名称

在没有 udev 规则的情况下重命名 USB 设备为静态名称

我有一个 Arduino 板连接到一个USB端口并被 Ubuntu 识别为ttyACM0设备。由于 Arduino 站点上的编程原因,该设备在 Linux 上应该是可见的ttyUB0

udev这个问题可以通过使用和 规则来解决:

SUBSYSTEM=="tty", ATTRS{idVendor}=="XXX", ATTRS{idProduct}=="YYY", MODE="0666", SYMLINK+="ttyUSBO"

写在/etc/udev/rules.d/99-usb-serial.rules

Arduino 板在这些设置下工作,一切看起来都很好。

但我想用芯片连接第二个设备FTDI_FT232_USB_UART。 Ubuntu 自动识别该设备并注册为该ttyUSB0设备。

此时,我有一个混合 - 因为我有从 Arduino 到芯片的符号链接ttyUSB0和“真实”ttyUSB0设备FTDI。结果,这些设备都无法正常工作。

当我尝试查看时ttyUSB0,发现这两个设备的数据混合在一起。

我尝试通过编写另一条规则来重命名芯片ttyUSB0,但这没有任何效果,因为我只能创建另一个到设备的符号链接。FTDIudevttyUSB0

根据规则,USB用规则重命名设备是不可能的udev文档

我尝试找到另一种方法在连接期间将USB设备重命名为静态名称,例如 ,ttyUSBX但失败了。

基于芯片设备的静态名称可以FTDI在连接过程中给出,或者稍后重命名,以免ttyUSB0与为 Arduino 创建的符号链接冲突吗?

相关内容