Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: symlink для каждого из портов FT2232H
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
koljakh
Добрый день!
Подскажите как делается однозначная привязка конкретного порта многопортовой FTDI к заданной символьной ссылке?
Привязку по строковому дескриптору я сделал, а вот как разделить порты внутри, по какому признаку?
привязку делал через /etc/udev/.....

KERNEL=="ttyUSB*", SUBSYSTEM="usb", ATTR{product}=="mydev", SYMLINK+="comctrl"
ReAl
Цитата(koljakh @ Mar 11 2012, 21:20) *
Подскажите как делается однозначная привязка конкретного порта многопортовой 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
Цитата(ReAl @ Mar 11 2012, 21:50) *
Такое впечатление, что на этом уровне не получается развести на отдельные интерфейсы. По крайней мере
Код
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-ки.
Может, этого достаточно?



Огромное спасибо !

Написал вот так и все пошло.
Не с той стороны подошел я к решению вопроса sm.gif

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


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.