У меня есть три разных последовательных устройства, подключенных к трем последовательным USB-конвертерам (FTDI USB-RS232).Если я подключу их, я получу общие имена устройств / dev / ttyUSBx, как и ожидалось.Когда я пытаюсь написать некоторые правила udev, udevadm показывает мне одинаковый вывод для трех устройств, за исключением некоторых атрибутов серийного идентификатора устройства.
Эти серийные идентификаторы будут меняться на каждом устройстве, поэтому, если я использую другой usb-serialконвертер, мои правила больше не будут работать.Итак, мне нужен способ связи с конкретным устройством, подключенным к последовательным преобразователям, и идентификации его по его реакции.
«Написание правил udev» HOWTO , говорит следующее об использовании функции PROGRAM для вызова внешней программы для именования устройств:
PROGRAM используется для запуска программкоторые производят имена устройств (и они не должны делать ничего, кроме этого).Когда эти программы выполняются, узел устройства еще не был создан, поэтому воздействие на устройство каким-либо образом невозможно,
Пример правила: SUBSYSTEM=="usb", PROGRAM="/bin/device_namer %k", SYMLINK+="%c"
, такЯ не могу написать / dev / ttyUSBx оттуда, чтобы идентифицировать устройство.Затем у меня есть функциональность RUN, но кажется, что он не может создать новый SYMLINK, поскольку udev не получит вывод RUN.
Пример правила: SUBSYSTEM=="usb", RUN="/bin/program"
Могу ли я проинструктироватьudev из этого сценария RUN для создания символической ссылки?Или я могу создать эту символическую ссылку оттуда вручную?
Спасибо