regra personalizada para forçar a saída FDTI Quad UART FT232r em um nome específico

3

Gostaria que os 4 UARTS mostrassem um nome diferente de /ttyUSB0 , porque tenho muitos dispositivos que acabam em /ttyUSB* .

Eu escrevi uma regra que pode criar um link simbólico ou novo nome baseado nos atributos, mas não consigo fazer com que o link simbólico inicie em 0 se outro dispositivo já estiver conectado, impedindo meus scripts de trabalhando

Por exemplo, o chip FTDI Quad UART está conectado

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

Quando conectado após outro dispositivo

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

Quando a regra é aplicada, ela apenas imita a numeração do original em vez de recuar em 0

Aqui está a regra básica:

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

Eu tentei algumas variáveis diferentes na nomenclatura, mas não obtive sucesso. Meu objetivo é fazer com que os FTDI UARTS sejam exibidos como

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

Não importa a ordem dos dispositivos USB

    
por James Troutman 13.05.2015 / 02:06

1 resposta

0

Este é um dispositivo USB único que possui várias interfaces:

  • Você pode usar ATTRS{bInterfaceNumber} na regra e criar 4 regras (uma para cada interface)

    Então você tem controle total para nomear / numerar como quiser

  • Caso contrário, use o número de interface %E{ID_USB_INTERFACE_NUM} em vez do número do kernel.

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

    Mas você não tem controle total sobre numeração (mas eles são fixos).

    Não deve ser um problema no seu caso, você tem apenas portas seriais. Exemplo, no meu caso eu tenho chave 3G 12d1:1c1e Huawei Technologies Co., Ltd. com 2 interfaces seriais ( 00 , 02 ), tem outra interface ( 01 usb-storage, uma unidade de CD emulada contém driver do Windows). Então eu peguei estes:

    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
    
por user.dz 04.06.2015 / 20:54

Tags