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

8

Os nomes de interface de rede previsíveis não devem mudar quando o hardware é adicionado ou removido. Não é esse o ponto inteiro do esquema de nomenclatura?

Minha interface sem fio foi nomeada wlp3s0.

Instalei uma placa de som PCI Express x1 ASUS Xonar DX com canais 7.1 em um slot PCI livre e meu nome de interface sem fio mudou para wlp5s0.

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

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

Estou procurando uma explicação razoável do motivo pelo qual o nome da interface mudaria nesse cenário. Se não houver uma boa razão pela qual o nome da interface mudaria, onde faço para registrar um relatório de bug / para quem eu me queixo?

Não é grande coisa e a única configuração que eu precisava mudar era o meu perfil de rede para o netctl. Eu só acho que se um nome de interface de rede "previsível" não é previsível, então eles falharam completamente em seu trabalho e este esquema de nomenclatura é lixo inútil! / rant

    
por mio iwakura 15.06.2016 / 04:53

1 resposta

7

Predictable network interface names are not supposed to change when hardware is added or removed. Isn't that the whole point of the naming scheme???

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

  • Desativar novo esquema de nomenclatura para dispositivos de rede com net.ifnames=0 kernel cmdline
  • Adicione a linha de comando do kernel biosdevname=1 para incorporar os números de índice fornecidos pelo BIOS aos nomes
  • Crie ou edite udev regras para nomes personalizados ou esquemas de nomenclatura alterados
  • Você desabilita 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 systemd e / ou udev , o argumento "esquema de nomenclatura previsível" poderá ser diferente de antes. Com base no esquema de nomenclatura da interface WiFi, no entanto, suponho que você esteja usando um sistema com systemd .

Você pode tentar acrescentar 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 estou totalmente certo de quais efeitos adicionais, se houver, podem ter outro que não seja manter o esquema de nomenclatura para dispositivos de rede.

net.ifnames=0

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

GRUB_CMDLINE_LINUX="net.ifnames=0"

Se udev usar o firmware do dispositivo, a localização e outras opções ao determinar nomes de dispositivos, talvez a localização ou outra coisa possa ter mudado internamente, dependendo de como os dispositivos relevantes interagem entre si. Isso não parece tão relevante aqui, já que 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, já que os dispositivos estão conectados a slots PCI.

Informações adicionais de FedoraDocs

8.1. Hierarquia de esquemas de nomeação

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

  • Esquema 1: Nomes que incorporam números de índice fornecidos pelo Firmware ou BIOS para dispositivos on-board (exemplo: eno1), são aplicados se essas informações do firmware ou do BIOS forem aplicáveis e disponíveis, caso contrário, retornar ao esquema 2.

  • Esquema 2: Nomes incorporando Firmware ou BIOS fornecidos Os números de índice do slot PCI Express hotplug (por exemplo: ens1) são aplicados se as informações do firmware ou BIOS forem aplicáveis e disponíveis, caso contrário, voltar ao esquema 3.

  • Esquema 3: Nomes que incorporam a localização física do conector do hardware (exemplo: enp2s0), são aplicados se aplicáveis, ou então voltam diretamente para o esquema 5 em todos os outros casos.

  • Esquema 4: Nomes que incorporam o endereço MAC da interface (exemplo: enx78e7d1ea46da), não é usado por padrão, mas está disponível se o usuário escolher.

  • Esquema 5: O tradicional esquema imprevisível de nomeação 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 ativar o biosdevname requer a passagem de biosdevname=1 como um parâmetro da linha de comando, exceto no caso de um sistema Dell, onde o biosdevname será usado por padrão, desde que seja instalado. Se o usuário tiver adicionado as regras udev que alteram o nome dos dispositivos do kernel, essas regras terão precedência.

Recursos adicionais

por 25.03.2017 / 20:16