Come ripristinare il nome dell'interfaccia wifi USB (da wlxXXXXXXXXXXXX a wlanX)?


9

Con Ubuntu 16.04 l'interfaccia WiFi USB ora è wlxXXXXXXXXXXXX dove la X è la cifra dell'indirizzo mac del dispositivo (politica del nome dell'interfaccia prevedibile) Ulteriori informazioni al riguardo sono disponibili qui: systemd: PredictableNetworkInterfaceNames

in realtà tutta la denominazione dell'interfaccia è cambiata ma sono stato in grado di tornare alla vecchia maniera (ethX per interfaccia ethernet, wlanX per scheda wifi inetrnal) modificando / etc / default / grub come suggerito nel terzo post di questo thread cambiando il nome delle interfacce di rete ubuntu 16-04 Il mio problema è che questa soluzione non funziona per le interfacce USB e ho ancora questo nome lungo molto fastidioso (uso molto la riga di comando per giocare con le mie interfacce wifi) problema di denominazione dell'interfaccia

 So here is my question: 

Cosa devo fare per disabilitare queste nuove regole per la mia interfaccia wifi USB? Grazie per i tuoi consigli e scusa il mio povero inglese. Ciao


Perché lo vuoi disabilitato?
Kaz Wolfe,

Perché uso la riga di comando per gestire la mia interfaccia USB wifi e uso script che usano vecchi nomi. Quindi potremmo parlare per ore di quella che considero un'interfaccia systemd molto "inutile", ma ... questo non è proprio il punto qui :)
kcdtv,

Se disponi di script che gestiscono e utilizzi la stessa scheda, perché non modificare gli script per utilizzare i nomi corretti (e migliori)? In questo modo saprai sempre con chi stai lavorando. Se hai sempre solo queste due carte collegate, fai in modo che lo script trovi l'altra carta e configurala.
Kaz Wolfe,

Non ci sono nomi migliori ... non entrerò in considerazioni più approfondite su questo, non è questo il punto qui, consideri che sono migliori ma potresti usare il tuo sistema in un modo, lo uso in un modo diverso ... I in realtà hanno un sacco di carte ... ma in realtà non è questo il punto qui ...
kcdtv,

1
Il nuovo schema di denominazione fa schifo. Ora abbiamo bisogno di uno script separato quando il dispositivo USB viene cambiato, a causa del nome, associato all'indirizzo mac.
Nucleare,

Risposte:


9

Ti sei perso una cosa da https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

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

Quindi riavviare

Penso che debba essere il file 80-net-setup-link.rules in / etc / udev / poiché l'unico laptop che ho aggiornato a Ubuntu 16.04 dal 15.10 conteneva ancora un file chiamato /lib/udev/rules.d/73- usb-net-by-mac.rules e conteneva

# 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"

E specifica /etc/udev/rules.d/80-net-setup-link.rules

Questo file non esiste in nessuna delle mie installazioni pulite di Ubuntu 16.04 ma parte di questo deve esistere in altro codice sorgente


1
Ciao Jeremy31 e grazie per la tua risposta
kcdtv

. La mia directory /etc/udev/rules.d/ è vuota. Ho un 80-net-setup-link.rules in /lib/udev/rules.d . Ho fatto lo stesso di quello suggerito in questa directory, ma il dispositivo wifi USB è ancora chiamato con l'indirizzo mac. Cercherò di trovare un modo e aggiornerei quando trovo qualcosa ... grazie ancora
kcdtv

Basta farlo su /etc/udev/rules.d/80-net-setup-link.rules mentre ho appena controllato la mia macchina Ubuntu 16.04 e collegando un vecchio dispositivo WiFi USB lo mostra come wlan1 in iwconfig. Non sono sicuro del motivo per cui net.ifnames = 0 nel file grub non è sufficiente per impedirgli di cambiare i dispositivi USB
Jeremy31

Ha funzionato! Ho copiato la regola 80 da /lib/udev/rules.d in /etc/udev/rules.d . Di quanto ho duplicato in questa directory, rinominandolo 80-net-setup-link.rules.bak . E finalmente ho creato il link simbolico a / dev / null_. Dopo il riavvio, la mia scheda WiFi USB non viene visualizzata ora come interfaccia " wlan1 ". Grazie mille! :)
kcdtv

2

Una nota per chi cerca un caso d'uso simile:

Ho avuto un problema con il driver di un dongle WiFi USB incapace di autenticarsi a causa di un nome di interfaccia piuttosto lungo in Debian (tratto).

Passaggi per la risoluzione:

  1. copiato /lib/udev/rules.d/80-net-setup-link.rulesin/etc/udev/rules.d/

  2. cambiato $env{ID_NET_NAME}in$env{ID_NET_SLOT}

Ciò ha mantenuto l'unicità del nome dell'interfaccia abbreviandolo.

Aggiornamento: questo non sembra più essere un problema con Debian 10.


0

Ho Ubuntu Studio e ho avuto lo stesso problema: un lungo nome wlxxxxx E il wifi collegato ma NON FUNZIONANTE!

Ubuntu studio ha un kernel speciale a bassa latenza e sospettavo che il nome lungo potesse essere un problema.

Quindi, l'ho rinominato in wlan0 ispirato da questo thread. Ho fatto quanto segue:

1) copiato il /lib/udev/rules.d/80-net-setup-link.rules nella cartella /etc/udev/rules.d/

2) modificato il nome lì. Nel mio caso c'era una riga: NAME == "", ENV {ID_NET_NAME}! = "", NAME = "$ env {ID_NET_NAME}"

Ho appena inserito "wlan0" anziché "$ env {ID_NET_NAME}".

E ora funziona wifi!

GR


0

Invece di disabilitare completamente la ridenominazione, puoi sovrascriverla per assegnare alle tue interfacce i tuoi nomi personalizzati. Ciò mantiene la denominazione statica, ma ti dà un nome che puoi ricordare e digitare.

Il sistema di denominazione esistente ( /lib/udev/rules.d/80-net-setup-link.rules) rinomina un'interfaccia solo se non è già stato assegnato un nome. Quindi puoi aggiungere le tue regole con una priorità più alta in /etc/udev/rules.dcui i nomi delle interfacce a modo tuo, che quindi impediscono al sistema predefinito di nominare tali interfacce.

Ho il file 70-wifi.rulesnel mio sistema che denomina le interfacce in base alla rete a cui sono collegati:

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"

È regolato dall'indirizzo MAC dell'interfaccia e si traduce in:

$ 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

Potresti rinominarli wlan0, wlan1, ecc. La bellezza di questo metodo è ottenere i nomi che desideri e trarre vantaggio dalla denominazione dell'interfaccia di rete statica. Quindi le interfacce saranno sempre denominate la stessa cosa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.