我有一個運行Linux的嵌入式主板,它有兩個相同的4端口FTDI USB串行芯片。 USB串行芯片硬連線到主板上的各個USB端口。這些設備無法被「移除」,「斷開連接」或移動到不同的物理USB位置。如何在Linux中唯一標識兩個相同的USB串行適配器
我很擔心每次啓動時都會出現udev填充/ dev/ttyUSBs的競態條件。不能保證一個芯片將總是在另一個之前得到枚舉,導致芯片#1有時會得到/ dev/ttyUSB0-3,有時會得到/ dev/ttyUSB4-7。
由於該電路板將用於自動化環境,因此用戶無法在每次啓動時連接到電路板,以手動決定將哪個芯片分配給哪個/ dev/ttyUSB庫。
我需要一些方法來確保每次啓動設備時,我的主板上運行的進程都使用正確的串行通道。我猜這可以通過告訴udev哪個/ dev/ttyUSBs分配給每個芯片,或者在udev填充/ dev之後啓動腳本來確定哪個芯片得到哪個/ dev/ttyUSB#來完成。
問題是芯片是完全相同的,但它們將始終連接到相同的物理USB位置。
如何在Linux中將這些芯片分開?而且,我該如何設置或確定啓動時哪個/ dev/ttyUSB#的芯片有哪些?
SUBSYSTEM == 「TTY」,ATTRS {idVen }}「0403」,ATTRS {idProduct} ==「6001」, DEVPATH ==「/ devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2- 1.4:1.0/ttyUSB0/tty/ttyUSB0「,SYMLINK + =」mydevice「 – Kurt 2016-11-07 19:54:45