Как правильно добавить путь к порту?

Здравствуйте! Подскажите, пожалуйста, как правильно прописать путь к добавляемому порту. Подключаю usb конвертер в rs-485, команда lsusb выдаёт следующее: Bus 001 device 103. Как исходя из данной информации прописать путь к порту данного usb конвертера? Спасибо!

Добрый день.
Порт можно узнать с помощью команды dmesg -wH, которую нужно запустить перед физическим подключением USB-адаптера. В диагностических сообщениях будет выведено сообщение об обнаружении адаптера и назначении ему порта.

Запустил команду, подключил адаптер и…
dmesg -wH
Ничего похожего на /etc/ttyusb не появилось.

сделайте ls /dev/serial/by-path или ls /dev/serial/by-id

Будет список всех USB-serial адаптеров или ошибка “нет такого пути”, если ни один адаптер не определился.

Рекомендую для USB адаптеров вписать именно полученный полный путь (“/dev/serial/by-id/Хитрое_название_с_цифрами”) и не менять положение usb адаптера (тот же разъём, тот же хаб и положение в нём, если есть) - так он всегда будет находиться после перезагрузки контроллера/питания USB и прочих неприятностей. И не станет внезапно из /dev/ttyUSB0 - /dev/ttyUSB1…

PS: и да, не /etc/… а /dev/ttyU*

1 лайк

Ввёл командуls /dev/serial/by-id
получил следующие результаты…
usb-Marvell_Mobile_Composite_device_Bus_200806006809080000-if02-port0
usb-Marvell_Mobile_Composite_device_Bus_200806006809080000-if03-port0
usb-Marvell_Mobile_Composite_device_Bus_200806006809080000-if04-port0
usb-Marvell_Mobile_Composite_device_Bus_200806006809080000-if05-port0
Пробовал вписать путь к порту так:
/dev/serial/by-id/usb-Marvell_Mobile_Composite_device_Bus_200806006809080000-if02-port0
Ничего не происходит, устройства на порту появляются все в ошибках.

Продолжаем тему © :slight_smile:
0. Откуда столько USB устройств и что это за Marvel - мож там оно и не поддерживается?

  1. Выдернуть адаптер из порта и запустить ls -la /dev/serial/by-id - покажет на какой ttyUSB* что привязано
  2. Воткнуть обратно и повторить.
  3. Наверно, by-path будет наглядней, там будут цифры 001 и 103 из исходного поста.
  4. найти, что добавилось после втыкания обратно, и его вписывать как путь…
    (5) by-id привязывается к серийнику в чипе, by-path - к “физическому расположению” - т.е. конкретному разъему USB
    (6) ну и если ls /dev/ttyU* после втыкания адаптера не даёт нового порта - искать проблемы с драйверами - возвращаемся к совету @avspnz - запустить dmesg -w перед подключением адаптера и “втыкать” в результат - если нашелся UART/Serial/что-то похожее - смотреть подробности, если “usb device …” без подробностей - искать драйвер для адаптера…
    (7) а бывает не USB*, а AMA* и прочее. Короче - ls /dev/tty* - и искать, что изменилось (не tty, S* и т.п.)

PS: Что-то меня Marvel-mobile смущает - похоже на USB-modem больше, чем на адаптер 485… Но неточно!©
ЗЫЫ: если это 4-портовый адаптер - пробовать по очереди, чтоб понять, на какой порт подключились (и смущает ещё отсутствие if01_port0, но - хз…)

1 лайк

вывод команды
ls -la /dev/serial/by-id

total 0
drwxr-xr-x 2 root root 120 Feb 25 00:52 .
drwxr-xr-x 4 root root  80 Feb 25 00:52 ..
lrwxrwxrwx 1 root root  13 Feb 25 00:54 usb-Marvell_Mobile_Composite_Device_Bus_200806006809080000-if02-port0 -> ../../t
tyUSB0
lrwxrwxrwx 1 root root  13 Feb 25 00:54 usb-Marvell_Mobile_Composite_Device_Bus_200806006809080000-if03-port0 -> ../../t
tyUSB3
lrwxrwxrwx 1 root root  13 Feb 25 00:54 usb-Marvell_Mobile_Composite_Device_Bus_200806006809080000-if04-port0 -> ../../t
tyUSB1
lrwxrwxrwx 1 root root  13 Feb 25 00:54 usb-Marvell_Mobile_Composite_Device_Bus_200806006809080000-if05-port0 -> ../../t
tyUSB2
root@wirenboard-A7C5WKJX:~#

А вывод lsusb

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 005: ID 1e0e:9011 Qualcomm / Option Mobile Composite Device Bus
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0bda:b720 Realtek Semiconductor Corp. RTL8723BU 802.11b/g/n WLAN Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 031: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec
Bus 001 Device 030: ID 1a86:7523 QinHeng Electronics CH340 serial converter
Bus 001 Device 029: ID 14cd:8601 Super Top 4-Port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@wirenboard-A7C5WKJX:~#

Видно, что устройство отображается правильно!
Ещё возможно то, что у меня установлен модуль модема, может в нём дело?

Вывод
ls /dev/serial/by-path

platform-1c1c000.usb-usb-0:1:1.2-port0  platform-1c1c000.usb-usb-0:1:1.4-port0
platform-1c1c000.usb-usb-0:1:1.3-port0  platform-1c1c000.usb-usb-0:1:1.5-port0
root@wirenboard-A7C5WKJX:~#

Ну, как минимум 4 порта USB видятся с marvell и показан путь до них - можно вписывать и его (например /dev/ttyUSB0).

Дальше. Вижу USB-Serial адаптер на CH340, но не вижу “его” порта в /by-path.

Вопрос: кто из этих двух - 485 адаптер? Если CH340 - искать, почему не загрузился по /var/log/syslog и есть ли драйвер (ch341 вроде) в lsmod. Если marvell - пробовать по очереди все его порты.

С модулем модема не помогу. Помню, что были раньше “чудеса” с modemmanager и usbmodeswitch, но давно и не вспомню, про что.