5

Я использую два идентичных USB-последовательных адаптера в моей системе Linux. Так что зависит от того, кто вставлен первым, один из них будет представлен с именем /dev /ttyUSB0, а другой с /dev /ttyUSB1. Есть ли уловка, чтобы я мог сделать имя постоянным? У меня три порта USB. Можно ли связать имя с физическим портом?

Спасибо,

1 ответ1

4

Если вы запустите udevadm monitor --properties вы должны увидеть различные свойства, которые вы можете использовать для создания правил. Свойство ID_PATH указывает порт, к которому подключено устройство. Вставьте серийный номер в USB-устройство, чтобы увидеть, что видит Udev.

Так что должно быть просто создать правило udev, которое создает символическую ссылку, когда устройство подключено, что-то вроде:

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="xxxx", SYSFS{idProduct}=="xxxx", ENV{ID_PATH}=="pci....usb-0:1:0",SYMLINK+="ttyUSBport0"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="xxxx", SYSFS{idProduct}=="xxxx", ENV{ID_PATH}=="pci....usb-0:1:1",SYMLINK+="ttyUSBport1"

Это делается из памяти, поэтому вы захотите подтвердить синтаксис. Измените idvendor и idproduct на USB VID и PID и измените ID_PATH на то, что вы нашли в udevadm monitor .

Это должно оставить обычное устройство /dev /ttyUSB0 там, но также создать символическую ссылку на него в зависимости от того, к какому порту оно было подключено. Если вы используете символическую ссылку в Minicom или что-то еще, вы всегда получите правильный адаптер в зависимости от порта, к которому он подключен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .