Por que o meu adaptador Wi-Fi não aparece como wlan0 em 16.04? [duplicado]

15

Acabei de instalar o Ubuntu 16.04 em um disco rígido separado, e notei duas esquisitices:

  • Considerando que em 14.04 (no meu disco rígido principal) meu dongle USB Wi-Fi aparece como wlan0 , em 16.04 ele aparece como wlx112233445566 . (Real MAC redigido)

  • Além disso, usar o parâmetro hw ether para alterar o endereço MAC não funciona no 16.04.

Aqui está a saída relevante de lsusb :

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

Alguém pode lançar alguma luz sobre o que está acontecendo aqui?

    
por Android Dev 29.12.2016 / 21:16

3 respostas

19

Recentemente, o Ubuntu (bem, systemd ) agora usa algo chamado Nomes previsíveis de interface de rede . Essencialmente, isso significa que interfaces de rede não permanentes (isto é, interfaces USB) agora têm um nome na forma de enx<MAC_ADDR> ou wlx<MAC_ACCR> (ou similar), de modo que quaisquer scripts e sistemas, dependendo de específico dispositivo terá 100% de confiança de que está segmentando o dispositivo correto.

Outras convenções de nomenclatura permitirão que o dispositivo seja mencionado por local físico ou por qualquer outra forma de identificação permanente de valor. Especificamente, qualquer um desses valores pode ser usado para gerar um nome de interface (com o melhor sendo escolhido):

  
  • Nomes incorporando números de índice fornecidos pelo Firmware / BIOS para on-board   dispositivos (exemplo: eno1 )
  •   
  • Nomes que incorporam números de índice de slots de hotplug PCI Express fornecidos pelo Firmware / BIOS (exemplo: ens1 )
  •   
  • Nomes incorporando localização física / geográfica do conector do hardware (exemplo: enp2s0 )
  •   
  • Nomes incorporando o endereço MAC das interfaces (exemplo: enx78e7d1ea46da )
  •   
  • Nomenclatura ethX nativa do kernel, imprevisível e clássica (exemplo: eth0 )
  •   

No passado, os nomes das interfaces não eram atribuídos de forma "sensata" - alguns sistemas usavam nomes pseudo-permanentes ( wlan1 para um dispositivo com esse MAC), outros designavam-nos em um primeiro a chegar servir base. Se você ainda preferir esse esquema de fazer as coisas (ou apenas odiar nomes persistentes porque systemd está fazendo isso), é possível reverter isso adicionando net.ifnames=0 aos seus argumentos de inicialização.

Você ainda deve ser capaz de falsificar o endereço MAC do dispositivo usando o Connection Editor, mas hw ether não funcionará mais, já que o endereço MAC é uma parte do identificador / nome do dispositivo.

    
por Kaz Wolfe 29.12.2016 / 21:23
3
  

é possível reverter isso adicionando net.ifnames = 0 aos seus argumentos de inicialização.

Isso não será suficiente para alterar o nome da interface USB ... Você também precisa brincar com 80-net-setup-link.rules

1) Copie a regra atual para o seu diretório /etc/udev/rules.d/

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

2) Crie um symlink para enviá-lo para /dev/null para desativá-lo:

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

Para mais informações, consulte este tópico: Como reverter o nome da interface USB Wi-Fi (de wlxXXXXXXXXXXXX para wlanX)?

    
por kcdtv 29.12.2016 / 22:15
2

Eu acho que é tão simples quanto uma alteração de design, os números agora são diferentes. Não é uma falha. Minha LAN, por exemplo, era eth0 em 14.04 (e ainda está em outras distros), mas é enp0s25 em 16.04.

Esta convenção de nomenclatura não afeta o desempenho e eu não me preocupo com isso.

EDIT: Kaz Wolfe dá uma explicação mais completa.

    
por hatterman 29.12.2016 / 21:24