Используя несколько преобразователей USB-RS485 может происходить переименование портов ttyUSB0 в ttyUSB1 и так далее, если мы их включаем или выключаем.
Всех тонкостей не помню, но большую часть параметров можно посмотреть используя команду
dmesg | grep usb
Для фиксации имен COM портов можно использовать правила udev, вот некоторые из них:
1. Адаптер USB-RS485 на чипсете CH340, у меня файл называется 99.ch340.com3.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{devpath}=="1.3", SYMLINK+="mydev/Com3", GROUP="plugdev"
Привязка идет к номеру USB Raspberry Pi - ATTRS{devpath}=="1.3"
2. Адаптер на чипсете PL2303, файл 99.pl2303.com2.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", ATTRS{devpath}=="1.4", SYMLINK+="mydev/Com2", GROUP="plugdev"
Привязка идет к номеру USB Raspberry Pi - ATTRS{devpath}=="1.4"
3. Адаптер EL204-4 USB-RS485(232) чипсет FTDI с серийным номером
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AH001HE3", SYMLINK+="mydev/Com1", GROUP="plugdev"
В данном случае в папке /dev создается папка mydev и симлинки с моими именами COM портов. Использую так же как в Winde COM с номером.
Ну, куда положить правила udev найти не трудно...
Всех тонкостей не помню, но большую часть параметров можно посмотреть используя команду
dmesg | grep usb
Для фиксации имен COM портов можно использовать правила udev, вот некоторые из них:
1. Адаптер USB-RS485 на чипсете CH340, у меня файл называется 99.ch340.com3.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{devpath}=="1.3", SYMLINK+="mydev/Com3", GROUP="plugdev"
Привязка идет к номеру USB Raspberry Pi - ATTRS{devpath}=="1.3"
2. Адаптер на чипсете PL2303, файл 99.pl2303.com2.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", ATTRS{devpath}=="1.4", SYMLINK+="mydev/Com2", GROUP="plugdev"
Привязка идет к номеру USB Raspberry Pi - ATTRS{devpath}=="1.4"
3. Адаптер EL204-4 USB-RS485(232) чипсет FTDI с серийным номером
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AH001HE3", SYMLINK+="mydev/Com1", GROUP="plugdev"
В данном случае в папке /dev создается папка mydev и симлинки с моими именами COM портов. Использую так же как в Winde COM с номером.
Ну, куда положить правила udev найти не трудно...
"слямзил на просторах"
------------------------------------------------------------------------------------------------------------------
По сути для того, чтобы создать стабильный алиас для устройства достаточно одной строки:
ACTION=="add",ENV{ID_BUS}=="usb",ENV{ID_SERIAL}=="usb_serial",SYMLINK+="ttyUSBPort4"
ttyUSPPort4 - это будущее имя устройства, оно, как и все, будет в /dev/
а вот на ID_SERIAL остановимся чуть подробнее:
цитируя udev wiki: "To get definitive information of the device you can use either ID_SERIAL
or ID_SERIAL_SHORT"
. Так что на самом деле для идентификации годятся 2 параметра.
Посмотреть их можно так:
udevadm info /dev/ttyUSBX - где X номер вашего устройства.
-------------------------------------------------------------------------------------------------------------------
Перезапуск правил без reboot
# udevadm control --reload-rules && udevadm trigger
Комментариев нет:
Отправить комментарий