koljakh 0 11 марта, 2012 Опубликовано 11 марта, 2012 · Жалоба Добрый день! Подскажите как делается однозначная привязка конкретного порта многопортовой FTDI к заданной символьной ссылке? Привязку по строковому дескриптору я сделал, а вот как разделить порты внутри, по какому признаку? привязку делал через /etc/udev/..... KERNEL=="ttyUSB*", SUBSYSTEM="usb", ATTR{product}=="mydev", SYMLINK+="comctrl" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 11 марта, 2012 Опубликовано 11 марта, 2012 · Жалоба Подскажите как делается однозначная привязка конкретного порта многопортовой FTDI к заданной символьной ссылке? ... KERNEL=="ttyUSB*", SUBSYSTEM="usb", ATTR{product}=="mydev", SYMLINK+="comctrl" Такое впечатление, что на этом уровне не получается развести на отдельные интерфейсы. По крайней мере SYMLINK+="comctrl-%E{ID_SERIAL_SHORT}" тут пришивает серийный номер без буквы порта A/B, а SYMLINK+="comctrl-%E{ID_USB_INTERFACE_NUM}" не пришивает вообще ничего. Но они и так получают линки, состоящие из описания устройства, серийного номера и номера интерфейса $ ls -l /dev/serial/by-id/usb* lrwxrwxrwx 1 root root 13 2012-03-11 21:41 /dev/serial/by-id/usb-FTDI_DENIS_FT2232D_FTS5HNTL-if00-port0 -> ../../ttyUSB1 lrwxrwxrwx 1 root root 13 2012-03-11 21:41 /dev/serial/by-id/usb-FTDI_DENIS_FT2232D_FTS5HNTL-if01-port0 -> ../../ttyUSB2 lrwxrwxrwx 1 root root 13 2012-03-11 21:46 /dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if00-port0 -> ../../ttyUSB3 lrwxrwxrwx 1 root root 13 2012-03-11 21:46 /dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if01-port0 -> ../../ttyUSB4 lrwxrwxrwx 1 root root 13 2012-03-11 20:40 /dev/serial/by-id/usb-FTDI_USB__-__Serial_12345678-if00-port0 -> ../../ttyUSB0 Тут первые две строки FT2232D с перешитыми дескриптором и серийным номером, следующие две строки FT2232H без внешней EEPROM-ки и пятая строка FT232AM без EEPROM-ки. Может, этого достаточно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
koljakh 0 12 марта, 2012 Опубликовано 12 марта, 2012 · Жалоба Такое впечатление, что на этом уровне не получается развести на отдельные интерфейсы. По крайней мере SYMLINK+="comctrl-%E{ID_SERIAL_SHORT}" тут пришивает серийный номер без буквы порта A/B, а SYMLINK+="comctrl-%E{ID_USB_INTERFACE_NUM}" не пришивает вообще ничего. Но они и так получают линки, состоящие из описания устройства, серийного номера и номера интерфейса $ ls -l /dev/serial/by-id/usb* lrwxrwxrwx 1 root root 13 2012-03-11 21:41 /dev/serial/by-id/usb-FTDI_DENIS_FT2232D_FTS5HNTL-if00-port0 -> ../../ttyUSB1 lrwxrwxrwx 1 root root 13 2012-03-11 21:41 /dev/serial/by-id/usb-FTDI_DENIS_FT2232D_FTS5HNTL-if01-port0 -> ../../ttyUSB2 lrwxrwxrwx 1 root root 13 2012-03-11 21:46 /dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if00-port0 -> ../../ttyUSB3 lrwxrwxrwx 1 root root 13 2012-03-11 21:46 /dev/serial/by-id/usb-FTDI_Dual_RS232-HS-if01-port0 -> ../../ttyUSB4 lrwxrwxrwx 1 root root 13 2012-03-11 20:40 /dev/serial/by-id/usb-FTDI_USB__-__Serial_12345678-if00-port0 -> ../../ttyUSB0 Тут первые две строки FT2232D с перешитыми дескриптором и серийным номером, следующие две строки FT2232H без внешней EEPROM-ки и пятая строка FT232AM без EEPROM-ки. Может, этого достаточно? Огромное спасибо ! Написал вот так и все пошло. Не с той стороны подошел я к решению вопроса :) KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{product}=="GOYA", SYMLINK+="comcnc" KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{interface}=="3D_scan", SYMLINK+="comscan$attr{bInterfaceNumber}" ls /dev comcnc comscan00 comscan01 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться