Настройка имен устройств через udev (Debian Squeeze)
Понадобилось мне подключить к компьютеру несколько usb-serial преобразователей, при этом необходимо было как-нибудь но однозначно идентифицировать преобразователи (а заодно и устройства подключенные к ним, чтобы пользователь переключая устройство в другой usb порт не перенастраивал программу).
Правило для udev вышло таким:
ACTION!="add|change", GOTO="my_serial_end" SUBSYSTEM!="tty", GOTO="my_serial_end" KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="my_serial_end" SUBSYSTEMS=="usb-serial", ENV{ID_PORT}="$attr{port_number}" IMPORT="path_id %p" IMPORT="usb_id --export %p" ENV{ID_SERIAL}=="", GOTO="my_serial_end" SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}" ENV{ID_IFACE}=="", GOTO="my_serial_end" SYMLINK+="ttyUSB_$env{ID_SERIAL}" LABEL="my_serial_end"
Сохраняем файл с этим содержанием в /etc/udev/rules.d/ с именем типа 99-serial.rules (чтобы они вызывальсь после всех остальных сначала имени идут цифры – порядок по приоритету)
В результате при подключении нескольких устройств даного типа получаем:
konstantin@konstantin-dev:~$ ls -l /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 лют 2 19:08 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 лют 2 18:44 /dev/ttyUSB1 lrwxrwxrwx 1 root root 7 лют 2 18:44 /dev/ttyUSB_FTDI_USB__-__Serial_Cable_FTR4K233 -> ttyUSB1 lrwxrwxrwx 1 root root 7 лют 2 18:43 /dev/ttyUSB_ftdi_usb_serial_converter_ftDGUU5S -> ttyUSB0
Подробное описание по работе с udev можно найти http://reactivated.net/writing_udev_rules.html
Категорія: Applications, Debian прокоментуй!