Пользовательское правило для принудительного вывода FDTI Quad UART FT232r для конкретного имени

Я хотел бы, чтобы 4 UARTS показывали имя, отличное от /ttyUSB0, потому что у меня есть много устройств, которые заканчиваются на /ttyUSB*.

Я написал правило, которое может создавать символическую ссылку или новое имя на основе атрибутов, но я не могу получить символическую ссылку / имена, чтобы начать с 0, если другое устройство уже подключено, таким образом останавливая мои сценарии из работает

Например, FTDI Quad UART чип подключен к

/dev/ttyUSB0
/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3

При подключении после другого устройства

/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3
/dev/ttyUSB4

При применении правила он только имитирует нумерацию оригинал вместо того, чтобы начинать с 0

Вот основное правило:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", SYMLINK:="ttyUART$number", GROUP:="users", MODE:="0666"

Я пробовал несколько разных переменных в именовании, но не увенчался успехом. Моя цель - показать FTDI UARTS как

/dev/ttyUSB0
/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3

Независимо от порядка USB-устройств

3
задан 4 June 2015 в 20:48

1 ответ

Это - единственное USB-устройство, которое имеет несколько интерфейсов:

  • можно использовать ATTRS{bInterfaceNumber} в правиле очень и создать 4 правила (один для каждого интерфейса)

    , Таким образом, Вы имеете полный контроль для называния/нумерования его, как Вы хотите

  • Иначе, используйте интерфейсный номер %E{ID_USB_INTERFACE_NUM} вместо числа ядра.

    SUBSYSTEM=="tty", ATTRS{idVendor}==0403"", ATTRS{idProduct}=="6011", SYMLINK:="ttyUART%E{ID_USB_INTERFACE_NUM}", GROUP:="users", MODE:="0666"
    

    , Но Вы не имеете полного контроля при нумерации (но они фиксируются).

    Это не должна быть проблема в Вашем случае, у Вас есть только последовательные порты. Пример, в моем случае, у меня есть ключ 3G 12d1:1c1e Huawei Technologies Co., Ltd. с 2 последовательными интерфейсами (00, 02), он имеет другой интерфейс (01 устройство хранения данных usb, эмулированный CD-привод содержит драйвер Windows). Таким образом, я получил их:

    lrwxrwxrwx  1 root root          7 Jun  4 19:36 /dev/ttyUART00 -> ttyUSB0
    lrwxrwxrwx  1 root root          7 Jun  4 19:36 /dev/ttyUART02 -> ttyUSB1
    crw-rw-rw-  1 root users   188,  0 Jun  4 19:36 /dev/ttyUSB0
    crw-rw-rw-  1 root users   188,  1 Jun  4 19:36 /dev/ttyUSB1
    
0
ответ дан 4 June 2015 в 20:48

Другие вопросы по тегам:

Похожие вопросы: