web-dev-qa-db-fra.com

Pourquoi mon adaptateur Wi-Fi n'apparaît-il pas comme wlan0 dans 16.04?

Je viens d'installer Ubuntu 16.04 sur un disque dur séparé et j'ai remarqué deux particularités:

  • Alors que le 14.04 (sur mon disque dur principal), mon dongle Wi-Fi USB s’affiche sous le nom wlan0, le 16.04 sous le nom wlx112233445566. (Real MAC expurgé)

  • De plus, l'utilisation du paramètre hw ether pour modifier l'adresse MAC ne fonctionne pas avec 16.04.

Voici la sortie pertinente de lsusb:

Bus 008 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

Quelqu'un peut-il nous éclairer sur ce qui se passe ici?

15
Android Dev

Récemment, Ubuntu (ainsi, systemd) utilise maintenant quelque chose appelé noms d'interface réseau prévisibles . Cela signifie essentiellement que les interfaces réseau non permanentes (c'est-à-dire les interfaces USB) ont désormais un nom sous la forme enx<MAC_ADDR>ou wlx<MAC_ACCR> (ou similaire), de sorte que tous les scripts et systèmes qui en dépendent sont spécifiques. l’appareil aura 100% de confiance dans le fait qu’il cible le bon appareil.

D'autres conventions de dénomination permettront de faire référence au périphérique par son emplacement physique ou par toute autre forme de valeur d'identification permanente. Spécifiquement, n'importe laquelle de ces valeurs peut être utilisée pour générer un nom d'interface (le meilleur étant choisi):

  • Noms incorporant les numéros d'index fournis par le micrologiciel/BIOS pour les périphériques intégrés (exemple: eno1)
  • Noms incorporant les numéros d’index d’emplacement PCI Express hot plug fournis par le micrologiciel/BIOS (exemple: ens1)
  • Noms intégrant l'emplacement physique/géographique du connecteur du matériel (exemple: enp2s0)
  • Noms incorporant l'adresse MAC de l'interface (exemple: enx78e7d1ea46da)
  • Attribution de noms ethX natif au noyau classique et imprévisible (exemple: eth0)

Auparavant, les noms d'interface n'étaient pas attribués de manière "saine" - certains systèmes utilisaient des noms pseudo-permanents (wlan1 pour un périphérique avec cette adresse MAC), d'autres les attribuaient suivant le principe du premier arrivé, premier servi. Si vous préférez toujours ce système (ou détestez simplement les noms persistants car systemd le fait), il est possible de l'inverser en ajoutant net.ifnames=0 à vos arguments de démarrage.

Vous devriez toujours pouvoir simuler l'adresse MAC du périphérique à l'aide de l'éditeur de connexion, mais hw ether ne fonctionnera plus car l'adresse MAC est une partie de l'identificateur/du nom du périphérique.

19
Kaz Wolfe

il est possible de l'inverser en ajoutant net.ifnames = 0 à vos arguments de démarrage.

Cela ne suffira pas pour changer le nom de l'interface USB ... Vous devez également jouer avec 80-net-setup-link.rules

1) Copiez la règle actuelle dans votre répertoire /etc/udev/rules.d/

Sudo cp /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/

2) Créez un lien symbolique pour l’envoyer à /dev/null pour le désactiver:

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

pour plus d'informations, consultez ce fil de discussion: Comment rétablir le nom de l'interface USB wifi (de wlxXXXXXXXXXXXX à wlanX)?

4
kcdtv

Je pense que c'est aussi simple qu'un changement de conception, les chiffres sont maintenant différents. Ce n'est pas une faute. Mon réseau local, par exemple, était eth0 dans 14.04 (et est toujours dans une autre distribution) mais est enp0s25 dans 16.04.

Cette convention de dénomination n'a aucun impact sur les performances et je ne m'inquiéterais pas pour cela.

EDIT: Kaz Wolfe donne une explication plus complète.

2
hatterman