Я пытался решить свою проблему, просматривая другие темы, такие как Почему мой USB-порт, исправляющий правила udev, не работает, и правила udev не работают с небольшим числом среди других нескольких сообщений, касающихся правил udev, но ни одна из проверенных мной записей не является помогая мне выяснить, почему я испытываю эту проблему.
Правило udev с bInterfaceNumber не работает - это проблема, очень похожая на ту, которая у меня есть, по сути, такая же, но у нее нет ответа с 2013 года, и я думаю, что она к настоящему времени забыта.
У меня есть следующие правила, которые работают отлично:
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="0", SYMLINK+="USB-RS232-0", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="1", SYMLINK+="USB-RS232-1", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTRS{port_number}=="0", SYMLINK+="USB-TTL-0", MODE="0777"
Проблема в том, что у меня есть 2 одинаковых устройства, и единственное различие между атрибутами двух заключается в серийном номере, они даже имеют одинаковый VID/PID, поэтому мне нужно добавить ATTRS {serial} к правилам для завершения до:
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="0", SYMLINK+="USB-RS232-0", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="mos7840", ATTRS{port_number}=="1", SYMLINK+="USB-RS232-1", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTRS{port_number}=="0", ATTRS{serial}=="AFYS1HLQ", SYMLINK+="USB-TTL-0", MODE="0777"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTRS{port_number}=="0", ATTRS{serial}=="FTV8IUSR", SYMLINK+="USB-TTL-1", MODE="0777"
Поэтому после добавления ATTRS {serial} к двум последним правилам оба перестают работать.
Почему это?
Спасибо!!