Por que o nome da interface da minha placa wireless mudou quando adicionei uma placa de som?

8

Os nomes previsíveis da interface de rede não devem mudar quando o hardware é adicionado ou removido. Não é esse o objetivo do esquema de nomeação ???

Minha interface sem fio foi nomeada wlp3s0.

Instalei uma placa de som de interface PCI Express x1 de canais ASUS Xonar DX 7.1 em um slot PCI livre e o nome da minha interface sem fio foi alterado para wlp5s0.

A placa sem fio está no mesmo slot PCI em que estava antes da placa de som ser instalada, então por que o nome da interface mudaria ?!

O mobo é um GIGABYTE GA-970A-UD3 e a placa sem fio é um ASUS PCE-N15. O sistema está executando o Arch Linux com um kernel padrão.

Estou procurando uma explicação razoável de por que o nome da interface mudaria nesse cenário. Se não houver um bom motivo para a alteração do nome da interface, onde arquivo um relatório de bug / com quem reclamo?

Não é grande coisa e a única configuração que eu precisei mudar foi o meu perfil de rede para o netctl. Só acho que se um nome de interface de rede "previsível" não é previsível, eles falharam completamente em seu trabalho e esse esquema de nomeação é um lixo inútil! / discurso retórico

mio iwakura
fonte
você mudou seu PCE-N15 para um slot diferente?
Serge
o PCE-N15 é a placa sem fio e, como eu disse no post - ela não se moveu; está no mesmo slot de antes. Tudo o que fiz foi adicionar a placa de som em um slot que já estava livre!
Mio iwakura
soa estranho. De qualquer forma, leia sobre o esquema de nomenclatura usado no linux para adaptadores Ethernet, ele pode explicar algumas partes da sua pergunta: en.wikipedia.org/wiki/Consistent_Network_Device_Naming
Serge

Respostas:

6

Os nomes previsíveis da interface de rede não devem mudar quando o hardware é adicionado ou removido. Não é esse o objetivo do esquema de nomeação ???

Para encurtar a história, isso não é novidade; é esperado / pretendido. Portanto, você não precisa registrar um bug, a menos que queira solicitar ao fabricante do PC que suporte melhor o Linux (BIOS) ou o fabricante do hardware (drivers). Algumas opções, se você quiser melhorar a situação dos dispositivos de hot plug e / ou voltar ao antigo esquema de nomenclatura:

  • Desativar novo esquema de nomeação para dispositivos de rede com net.ifnames=0cmdline do kernel
  • Adicione biosdevname=1linha de comando do kernel para incorporar números de índice fornecidos pelo BIOS aos nomes
  • Criar ou editar udevregras para nomes personalizados ou esquemas de nomeação alterados
  • Você desativa a atribuição de nomes fixos, para que os nomes imprevisíveis do kernel sejam usados ​​novamente. Para isso, basta mascarar o arquivo .link do udev para a política padrão:ln -s /dev/null /etc/systemd/network/99-default.link

Se você estiver usando systemde / ou udev, o argumento "esquema de nomenclatura previsível" poderá ser diferente do que antes. Porém, com base no esquema de nomenclatura da interface WiFi, suponho que você esteja usando um sistema systemd.

Você pode tentar anexar o seguinte parâmetro de inicialização à linha de comando do kernel para usar a convenção de nomenclatura "antiga" dos dispositivos de rede. No entanto, não tenho certeza de quais efeitos adicionais, se houver, isso pode ter, além de manter o esquema de nomenclatura para dispositivos de rede.

net.ifnames=0

Adicioná-lo a /etc/default/grubpode facilitar a persistência e reutilização desse parâmetro; novamente, supondo que você esteja usando grub2:

GRUB_CMDLINE_LINUX="net.ifnames=0"

Se udevusar firmware do dispositivo, local e outras opções ao determinar os nomes do dispositivo, talvez o local ou outra coisa possa ter mudado internamente, dependendo de como os dispositivos relevantes interagem entre si. Isso não parece tão relevante aqui, pois os dispositivos são um adaptador WiFi e uma placa de som. No entanto, pode estar relacionado à estrutura de barramento subjacente; o que parece relevante, pois os dois dispositivos estão conectados aos slots PCI.


Informações adicionais do FedoraDocs

8.1 Hierarquia de esquemas de nomenclatura

Por padrão, o systemd nomeará interfaces usando a seguinte política para aplicar os esquemas de nomenclatura suportados:

  • Esquema 1: Os nomes que incorporam números de índice fornecidos por firmware ou BIOS para dispositivos de bordo (exemplo: eno1) são aplicados se essas informações do firmware ou BIOS forem aplicáveis ​​e disponíveis, e voltarão ao esquema 2.

  • Esquema 2: Nomes que incorporam Firmware ou BIOS, desde que os números de índice do slot de hotplug do PCI Express (exemplo: ens1) sejam aplicados se essas informações do firmware ou BIOS forem aplicáveis ​​e disponíveis, retornando ao esquema 3.

  • Esquema 3: Os nomes que incorporam a localização física do conector do hardware (exemplo: enp2s0) são aplicados, se aplicável, voltando diretamente ao esquema 5 em todos os outros casos.

  • Esquema 4: Os nomes que incorporam o endereço MAC da interface (exemplo: enx78e7d1ea46da) não são usados ​​por padrão, mas estão disponíveis se o usuário escolher.

  • Esquema 5: O esquema tradicional de nomenclatura imprevisível do kernel é usado se todos os outros métodos falharem (exemplo: eth0).

Esta política, o procedimento descrito acima, é o padrão. Se o sistema tiver o biosdevname ativado, ele será usado. Observe que a ativação do biosdevname requer a passagem biosdevname=1como um parâmetro da linha de comando, exceto no caso de um sistema Dell, em que o biosdevname será usado por padrão desde que esteja instalado. Se o usuário adicionou udevregras que alteram o nome dos dispositivos do kernel, essas regras terão precedência.


Recursos adicionais

ILMostro_7
fonte