
Bezüglich:
- Debian 12 - Plötzlich wird meinem USB3-LAN-Adapter bei jedem Neustart eine zufällige Mac-Adresse zugewiesen
- Verwenden Sie das übergeordnete Attribut „serial“ in der UDEV-Konfiguration, um der LAN-Schnittstelle einen anderen Namen zuzuweisen, anstatt sich auf die Mac-Adresse zu verlassen
Das Problem mit der zweiten Lösung ist, dass einige USB3-NICs aus seltsamen Gründen die gleicheATTR{serial}also ist mein letzter Ausweg, um diese Schnittstellen umzubenennen, der USB-Pfad.
Da sich diese angeschlossenen Netzwerkkarten auf einem USB3-Hub immer an der gleichen Position und am gleichen Platz befinden, dachte ich, dass es nützlich sein könnte, den USB-Pfad zu verwenden, um die Schnittstellen zu identifizieren und umzubenennen.
lsusb
sagt:
...
Bus 002 Device 006: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 005: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 010: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 009: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 008: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 007: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
...
Leider funktionieren die Dinge, die intuitiv sein sollten, wie immer nicht wie erwartet.
Ich habe festgestellt, dass meine Schnittstellen alle auf Bus 2 liegen und verschiedenedevnumvon 5 bis 10
Also habe ich es mit Befehlen wie diesen versucht:
SUBSYSTEM="net", ACTION="add", DRIVERS="?*", ATTRS{busnum}="2", ATTRS{devnum}="5", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"
Aber es funktioniert nicht.
Auch bei dieser Verwendung derKERNELNPfad auf einem Gerät, das sich angeblich in KERNELS="2-3:1.0" befindet:
SUBSYSTEM="net", ACTION="add", DRIVERS="?*", KERNELS="2-3:1.0", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"
Aber nichts, die Schnittstellen werden nicht umbenannt...
Warum funktionieren diese Regeln nicht?
Antwort1
Habe das Problem gefunden. Es war ein Syntaxfehler, wie von @AB angegeben. Im Wesentlichen habe ich = statt == verwendet, was zum Zuweisen von Werten statt zum Lesen und Vergleichen des Inhalts verwendet wurde.
Mit == als Operator funktioniert alles einwandfrei.