GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Udev-Regel zur Übereinstimmung mit USB-Geräten mit mehreren Knoten

Ihre Regeln enthalten alle Syntaxfehler:

  1. = ist für Aufgabe == ist zum Vergleich, also haben Sie sich nicht wirklich angesehen, was DEV ist gleich, Sie haben es zugewiesen.
  2. Du brauchst , zwischen all den Aussagen gab es keine vor SYMLINK+= .

Faustregel

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

Zweite Regel

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

Dritte Regel

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

Vierte Regel

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

Alle diese Regeln sollten jetzt tun, was Sie wollen (ich persönlich würde die erste verwenden).


Obwohl dieser Beitrag vor drei Jahren gestellt wurde und dies möglicherweise nicht die Antwort enthält, möchte ich dennoch meine erfolgreichen Erfahrungen hier für zukünftige Referenzen teilen.

Laut Jens Reimanns Identifizieren von GSM-Modemgeräten mit udev befindet sich „das Geräteattribut „bInterfaceNumber“ nicht auf dem tty-Gerät, sondern auf dem USB-Gerät in der übergeordneten Hierarchie“, also habe ich zwei Regeln für mein FTDI-USB-zu-4- Port-Seriell-Adapter:

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

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

Dies speichert das Attribut „bInterfaceNumber“ in der Umgebungsvariable „.LOCAL_ifNum“ (der vorangestellte Punkt ist eine Notation für temporäre oder versteckte Variablen). In der zweiten Regel wird dieselbe Variable mit der „%E“-Syntax herangezogen. Neuere udev-Versionen unterstützen auch „$env“ statt „%E“.
(von Jens Reimann)

wobei ttyUSB_FTDI_4_PORT_ ist der Symlink-Name. Diese beiden Regeln erstellen symbolische Links als ttyUSB_FTDI_4_PORT_00 , ttyUSB_FTDI_4_PORT_01 , ttyUSB_FTDI_4_PORT_02 , ttyUSB_FTDI_4_PORT_03 . Sie können ATTRS{serial} hinzufügen -Attribut, um die Aufzählung weiter einzuschränken.

Jens Reimann würdigte auch den Beitrag von Ketan Patels U&L-Frage, Udev-Regeldatei für Modem funktioniert nicht, mit akzeptierter Antwort von derobert.


Linux
  1. Linux – Udev-Regeln:Wie werden nur Kernel-Geräte (keine Partitionen) nach Gerät Nr. 26 abgeglichen?

  2. Linux – Wie verbinde ich ein logisch getrenntes USB-Gerät wieder?

  3. Konfigurieren Sie Udev, um Berechtigungen auf einem versteckten USB-Gerät zu ändern?

  4. Gerät für Entwicklung einrichten (???????????? keine Berechtigungen)

  5. Ermitteln Sie den NUMA-Knoten des PCIe-Geräts

So konfigurieren Sie einen Proxmox VE 4-Cluster mit mehreren Knoten

Mehrere USB-Schreibvorgänge unter Linux

Popsicle – Erstellen Sie mehrere bootfähige USB-Laufwerke auf einmal

Notify-Send von einer Udev-Regel aufrufen?

Angezeigte Gerätenamen in Python abrufen

udev-Regel zum automatischen Laden des Tastaturlayouts, wenn eine USB-Tastatur angeschlossen ist