我有一个 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
,但这没有任何效果,因为我只能创建另一个到设备的符号链接。FTDI
udev
ttyUSB0
根据规则,USB
用规则重命名设备是不可能的udev
文档
我尝试找到另一种方法在连接期间将USB
设备重命名为静态名称,例如 ,ttyUSBX
但失败了。
基于芯片设备的静态名称可以FTDI
在连接过程中给出,或者稍后重命名,以免ttyUSB0
与为 Arduino 创建的符号链接冲突吗?