![Как гарантировать, что назначения устройств USB Type A и COM останутся прежними после перезагрузки в Ubuntu](https://rvso.com/image/1585742/%D0%9A%D0%B0%D0%BA%20%D0%B3%D0%B0%D1%80%D0%B0%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%2C%20%D1%87%D1%82%D0%BE%20%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%20USB%20Type%20A%20%D0%B8%20COM%20%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D1%83%D1%82%D1%81%D1%8F%20%D0%BF%D1%80%D0%B5%D0%B6%D0%BD%D0%B8%D0%BC%D0%B8%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%20%D0%B2%20Ubuntu.png)
У меня есть два кабеля USB Type A to COM. Назовем их: Кабель 1 и кабель 2. Теперь мне нужно убедиться, что их назначения устройств TTY останутся прежними после перезагрузки. Я использую Ubuntu.
Например, я хочу, чтобы компьютер назначил кабель 1 на ttyUSB1, а кабель 2 на ttyUSB2. Потому что после перезагрузки компьютера он перетасует эти назначения кабеля на TTY.
Поэтому я прочитал несколько решений аналогичных проблем для других подобных устройств.
- Исправлено назначение устройств tty в Linux с помощью udev
- Назначение одного и того же USBtty linux устройству каждый раз
Но есть проблема.
Итак, когда я пробую это:
sudo udevadm info --query=property --name=/dev/ttyUSB0 > usb0
sudo udevadm info --query=property --name=/dev/ttyUSB1 > usb1
И это:
vimdiff usb0 usb1
Кабели не имеют ID_SERIAL_SHORT
ценности. Нет никакой разницы, кроме названий ttyUSB0
и ttyUSB1
. Кабели производятся одной и той же компанией. Поэтому нет никакой разницы по серийному названию.
Выходdiff first secnd
1а2 > Шина 002 Устройство 020: ID 067b:2303 Prolific Technology, Inc. Последовательный порт PL2303
решение1
Чтобы понять ответ, давайте сначала разберемся в вопросе. У меня есть два устройства. Они подключены к компьютеру с помощью устройств 'RS232 to USB'. И мне нужно настроить файлы. В каждом файле есть раздел под названием [SERIAL].
Например
[SERIAL]
port = /dev/ttyUSB1
После перезагрузки есть вероятность, что «dev path» можно будет изменить.
Теперь я исправлю эту проблему, ID_PATH
добавив этот код в
ACTION=="add",ENV{ID_BUS}=="usb",ENV{ID_PATH}=YOUR_ID_PATH, SYMLINK+="ttyUSBPort1"
И как я понял, мы создаем ссылку, которая ссылается на один из/dev/ttyUSB*
Так что теперь после перезагрузки есть вероятность, что /dev/ttyUSBPort1
будет ссылаться на другой /dev/ttyUSB*
, но это не мешает мне, так как в моем конфигурационном файле установлен порт, /dev/ttyUSBPort1
и этот порт не меняется.