Wie kann man den Namen der USB-WLAN-Schnittstelle zurücksetzen (von wlxXXXXXXXXXXXXX zu wlanX)?

9

Mit Ubuntu 16.04 ist die USB-WLAN-Schnittstelle jetzt wlxXXXXXXXXXXXX, wobei das X die Ziffern der Mac-Adresse des Geräts sind (Richtlinie für den Namen der vorhersagbaren Schnittstelle). Weitere Informationen hierzu finden Sie hier: systemd: PredictableNetworkInterfaceNames

Eigentlich haben sich alle Schnittstellennamen geändert, aber ich konnte zur alten Methode zurückkehren (ethX für Ethernet-Schnittstelle, wlanX für interne WLAN-Karte) und / etc / default / grub ändern, wie im dritten Beitrag dieses Threads vorgeschlagen, der den Namen der Netzwerkschnittstellen ändert ubuntu 16-04 Mein Problem ist, dass diese Lösung für die USB-Schnittstellen nicht funktioniert und ich immer noch diesen sehr nervigen langen Namen habe (ich benutze oft die Kommandozeile, um mit meinen WLAN-Schnittstellen zu spielen). Problem bei der Benennung der Schnittstelle

 So here is my question: 

Was kann ich tun, um diese neuen Regeln für meine USB-WLAN-Schnittstelle zu deaktivieren? Vielen Dank für Ihre Ratschläge und entschuldigen Sie mein schlechtes Englisch. Tschüss

kcdtv
quelle
Warum soll es deaktiviert werden?
Kaz Wolfe
Weil ich die Befehlszeile verwende, um meine WLAN-USB-Schnittstelle zu verwalten, und Skripte verwende, die alte Namen verwenden. Dann könnten wir stundenlang darüber sprechen, was ich als eine sehr nutzlose systemd-Schnittstelle "vorhersehbare Richtlinie" betrachte, aber ... das ist hier nicht wirklich der Punkt :)
kcdtv
Wenn Sie Skripte haben, die die Verwaltung übernehmen, und dieselbe Karte verwenden, ändern Sie die Skripte einfach, um die richtigen (und besseren) Namen zu verwenden. Auf diese Weise wissen Sie immer, mit welchem ​​Sie arbeiten. Wenn Sie immer nur diese beiden Karten eingesteckt haben, lassen Sie das Skript die andere Karte finden und einrichten.
Kaz Wolfe
Es gibt keine besseren Namen ... Ich werde nicht näher darauf eingehen, das ist hier wirklich nicht der Punkt. Sie halten sie für besser, aber Sie könnten Ihr System auf eine andere Art und Weise verwenden. Ich verwende es auf eine andere Art und Weise
Habe
1
Das neue Namensschema ist scheiße. Jetzt benötigen wir ein separates Skript, wenn das USB-Gerät geändert wird - aufgrund des Namens, der an die Mac-Adresse gebunden ist.
Nuclear

Antworten:

9

Sie haben eine Sache von https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ verpasst.

sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

Dann neu starten

Ich denke, es muss die Datei 80-net-setup-link.rules in / etc / udev / sein, da der eine Laptop, den ich von 15.10 auf Ubuntu 16.04 aktualisiert habe, noch eine Datei mit dem Namen /lib/udev/rules.d/73- enthielt. usb-net-by-mac.rules und es enthielt

# Use MAC based names for network interfaces which are directly or indirectly
on USB and have an universally administered (stable) MAC address (second bit
is 0).

IMPORT{cmdline}="net.ifnames", ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end" PROGRAM="/bin/readlink /etc/udev/rules.d/80-net-setup-link.rules", RESULT=="/dev/null", GOTO="usb_net_by_mac_end"

ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \ ATTR{address}=="?[014589cd]:*", \ IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"

LABEL="usb_net_by_mac_end"

Und es gibt /etc/udev/rules.d/80-net-setup-link.rules an

Diese Datei ist in keiner meiner Neuinstallationen von Ubuntu 16.04 vorhanden, aber ein Teil davon muss in einem anderen Quellcode vorhanden sein

Jeremy31
quelle
1
Hallo Jeremy31 und danke für
deine
. Mein Verzeichnis /etc/udev/rules.d/ ist leer. Ich habe eine 80-net-setup-link.rules in /lib/udev/rules.d . Ich habe das Gleiche getan wie in diesem Verzeichnis vorgeschlagen, aber das USB-WLAN-Gerät trägt weiterhin den Namen der Mac-Adresse. Ich werde versuchen, einen Weg zu finden und würde aktualisieren, wenn ich etwas finde ...
Nochmals vielen
Machen Sie es einfach mit /etc/udev/rules.d/80-net-setup-link.rules, während ich gerade meinen Ubuntu 16.04-Computer überprüft habe und das Anschließen eines älteren USB-WLAN-Geräts in iwconfig als wlan1 anzeigt. Ich bin nicht sicher, warum die net.ifnames = 0 in der Grub-Datei nicht ausreicht, um zu verhindern, dass USB-Geräte
geändert
Es funktionierte! Ich habe die Regel 80 von /lib/udev/rules.d nach /etc/udev/rules.d kopiert . Dann habe ich es in diesem Verzeichnis dupliziert und es in 80-net-setup-link.rules.bak umbenannt . Und ich habe endlich den Symlink zu / dev / null_ erstellt. Nach dem Neustart wird meine USB-WLAN-Karte jetzt nicht als " wlan1 " -Schnittstelle angezeigt . Vielen Dank! :)
kcdtv
2

Ein Hinweis für diejenigen, die einen ähnlichen Anwendungsfall suchen:

Ich hatte ein Problem mit dem Treiber eines USB-WLAN-Dongles, der sich aufgrund eines ziemlich langen Schnittstellennamens in Debian (Stretch) nicht authentifizieren konnte.

Schritte zur Lösung:

  1. kopiert /lib/udev/rules.d/80-net-setup-link.rulesnach/etc/udev/rules.d/

  2. geändert $env{ID_NET_NAME}zu$env{ID_NET_SLOT}

Dadurch wurde die Eindeutigkeit des Schnittstellennamens beibehalten und gleichzeitig verkürzt.

Update: Dies scheint kein Problem mehr mit Debian 10 zu sein.

Code Maverick
quelle
0

Ich habe Ubuntu Studio und hatte das gleiche Problem: einen langen wlxxxxx Namen und das WLAN verbunden, aber nicht funktioniert!

Ubuntu Studio hat einen speziellen Kernel mit geringer Latenz und ich vermutete, dass der lange Name ein Problem sein könnte.

Also benenne ich es in wlan0 um, inspiriert von diesem Thread. Ich habe folgendes gemacht:

1) kopierte die Datei /lib/udev/rules.d/80-net-setup-link.rules in den Ordner /etc/udev/rules.d/

2) dort den Namen bearbeitet. In meinem Fall gab es eine Zeile: NAME == "", ENV {ID_NET_NAME}! = "", NAME = "$ env {ID_NET_NAME}"

Ich habe nur "wlan0" anstelle von "$ env {ID_NET_NAME}" eingefügt.

Und jetzt funktioniert WLAN!

GR

mchrgr2000
quelle
0

Anstatt das Umbenennen vollständig zu deaktivieren, können Sie es überschreiben, um Ihren Schnittstellen Ihre eigenen benutzerdefinierten Namen zu geben. Dadurch bleibt die statische Benennung erhalten, Sie erhalten jedoch einen Namen, an den Sie sich erinnern und den Sie eingeben können.

Das vorhandene Benennungssystem ( /lib/udev/rules.d/80-net-setup-link.rules) benennt eine Schnittstelle nur um, wenn ihr noch kein Name zugewiesen wurde. Sie können also Ihre eigenen Regeln mit einer höheren Priorität hinzufügen, in /etc/udev/rules.dder die Schnittstellen auf Ihre eigene Weise benannt werden. Dadurch wird verhindert, dass das Standardsystem diese Schnittstellen benennt.

Ich habe die Datei 70-wifi.rulesin meinem System, die die Schnittstellen nach dem Netzwerk benennt, mit dem sie verbunden sind:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0f:00:4a:c4:c9", NAME="wifi-root"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:19:86:31:dd:b7", NAME="wifi-main"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="38:2c:4a:48:27:49", NAME="wifi-local"

Es wird durch die MAC-Adresse der Schnittstelle verschlüsselt und führt zu:

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 3c:d9:2b:73:ad:5d brd ff:ff:ff:ff:ff:ff
15: wifi-main: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:19:86:31:dd:b7 brd ff:ff:ff:ff:ff:ff
16: wifi-local: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 38:2c:4a:48:27:49 brd ff:ff:ff:ff:ff:ff
17: wifi-root: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:0f:00:4a:c4:c9 brd ff:ff:ff:ff:ff:ff

Sie können sie in wlan0, wlan1 usw. umbenennen. Das Schöne an dieser Methode ist, dass Sie die gewünschten Namen erhalten und von der statischen Benennung der Netzwerkschnittstelle profitieren. Die Schnittstellen werden also immer gleich benannt.

Majenko
quelle