GNU/Linux >> Tutoriales Linux >  >> Linux

Regla Udev para hacer coincidir el dispositivo USB de múltiples nodos

Todas sus reglas tienen errores de sintaxis:

  1. = es para la tarea == es para comparar, por lo que en realidad no estabas mirando lo que DEV igualado, lo estabas asignando.
  2. Necesitas , entre todas las declaraciones, no había ninguna antes de SYMLINK+= .

Regla del puño

ACTION=="add", DEV=="/devices/platform/pxa27x-ohci/usb1/1-2/1-2.2/1-2.2:1.0", SYMLINK+="huawey0"

Segunda Regla

ACTION=="add", KERNEL=="1-2.2:1.0", SYMLINK+="huawey0"

Tercera Regla

ACTION=="add", DEV=="/devices/platform/pxa27x-ohci/usb1/1-2/1-2.2/1-2.2:1.[0-4]", ATTR{bInterfaceNumber}=="00", SYMLINK+="huawey0"

Cuarta Regla

ACTION=="add", ATTR{bInterfaceNumber}=="00", SYMLINK+="huawey0"

Todas estas reglas deberían hacer lo que quieras ahora (yo usaría la primera personalmente).


Aunque esta publicación se hizo hace tres años, y es posible que no aborde la respuesta, todavía quiero compartir mi experiencia exitosa aquí para futuras referencias.

De acuerdo con Identificar dispositivos de módem GSM de Jens Reimann usando udev, "el atributo del dispositivo "bInterfaceNumber" no está en el dispositivo tty, sino en el dispositivo usb en la jerarquía principal", así que creé dos reglas para mi FTDI usb-to-4- adaptador de puerto serie:

SUBSYSTEMS=="usb", ENV{.LOCAL_ifNum}="$attr{bInterfaceNumber}"

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", SYMLINK+="ttyUSB_FTDI_4_PORT_%E{.LOCAL_ifNum}"

Esto almacena el atributo "bInterfaceNumber" en la variable de entorno ".LOCAL_ifNum" (el punto prefijado es una notación para variables temporales u ocultas). En la segunda regla, se extrae la misma variable utilizando la sintaxis "%E". Las versiones más nuevas de udev también admiten "$env" en lugar de "%E".
(por Jens Reimann)

donde ttyUSB_FTDI_4_PORT_ es el nombre del enlace simbólico. Estas dos reglas crearán enlaces simbólicos como ttyUSB_FTDI_4_PORT_00 , ttyUSB_FTDI_4_PORT_01 , ttyUSB_FTDI_4_PORT_02 , ttyUSB_FTDI_4_PORT_03 . Puedes agregar ATTRS{serial} atributo para restringir aún más la enumeración.

Jens Reimann también agradeció la contribución de la pregunta de U&L de Ketan Patel, el archivo de reglas de Udev para el módem no funciona, con la respuesta aceptada por derobert.


Linux
  1. Linux – Reglas de Udev:¿Cómo hacer coincidir solo los dispositivos del kernel (no las particiones) después del dispositivo n.º 26?

  2. Linux:¿Udev no cambia el nombre del dispositivo USB Ethernet?

  3. Linux:¿cómo volver a conectar un dispositivo USB desconectado lógicamente?

  4. Conflictos de Node.js:/sbin/node Vs /usr/bin/node?

  5. Popsicle - Flasher de archivos USB múltiple para Linux

Cómo configurar un clúster de múltiples nodos Proxmox VE 4

Escritura USB múltiple en Linux

Popsicle:cree varias unidades USB de arranque a la vez

¿Llamar a notificar-enviar desde una regla de Udev?

Determinar el nodo NUMA del dispositivo PCIe

Obtener el consumo de energía de un dispositivo USB