GNU/Linux >> Tutoriels Linux >  >> Linux

Règle Udev pour correspondre à un périphérique USB à plusieurs nœuds

Vos règles contiennent toutes des erreurs de syntaxe :

  1. = est pour le devoir == est à titre de comparaison, donc vous ne regardiez pas réellement ce que DEV égalé, vous l'assigniez.
  2. Vous avez besoin de , entre toutes les déclarations, il n'y en avait pas avant SYMLINK+= .

Règle du poing

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

Deuxième règle

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

Troisième règle

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

Quatrième règle

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

Toutes ces règles devraient faire ce que vous voulez maintenant (j'utiliserais la première personnellement).


Bien que ce message ait été posé il y a trois ans, et que cela ne réponde peut-être pas à la réponse, je souhaite toujours partager mon expérience réussie ici pour référence future.

Selon Jens Reimann's Identify GSM modem devices using udev, "l'attribut de périphérique" bInterfaceNumber "n'est pas sur le périphérique tty, mais sur le périphérique USB dans la hiérarchie parent", j'ai donc créé deux règles pour mon FTDI usb-to-4- adaptateur port-série :

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

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

Cela stocke l'attribut "bInterfaceNumber" dans la variable d'environnement ".LOCAL_ifNum" (le point préfixé est une notation pour les variables temporaires ou masquées). Dans la deuxième règle, la même variable est extraite à l'aide de la syntaxe "%E". Les nouvelles versions d'udev prennent également en charge "$env" au lieu de "%E".
(par Jens Reimann)

ttyUSB_FTDI_4_PORT_ est le nom du lien symbolique. Ces deux règles créeront des liens symboliques sous la forme ttyUSB_FTDI_4_PORT_00 , ttyUSB_FTDI_4_PORT_01 , ttyUSB_FTDI_4_PORT_02 , ttyUSB_FTDI_4_PORT_03 . Vous pouvez ajouter ATTRS{serial} attribut pour contraindre davantage l'énumération.

Jens Reimann a également reconnu la contribution de la question U&L de Ketan Patel, le fichier de règles Udev pour le modem ne fonctionnant pas, avec la réponse acceptée par derobert.


Linux
  1. Règle Udev lorsque la clé USB est débranchée ?

  2. Linux – Règles Udev :Comment faire correspondre uniquement les périphériques du noyau (pas les partitions) après le périphérique 26 ?

  3. Linux - Udev ne renomme pas le périphérique USB Ethernet ?

  4. Configurer Udev pour modifier les autorisations sur le périphérique USB Hid ?

  5. Popsicle - Flasheur de fichiers USB multiples pour Linux

Comment configurer un cluster à plusieurs nœuds Proxmox VE 4

Ecriture USB multiple sous Linux

Popsicle - Créez plusieurs clés USB amorçables à la fois

Appeler Notify-send à partir d'une règle Udev ?

Obtenir la consommation d'énergie d'un périphérique USB

Comment déterminer la version USB 1.1 ou 2.0