Ver Feed RSS

root@blog:/# chmod o+r *

[Dica] eth0 virou eth1?!

Avaliação: 2 votos, 4,00 média.
Outro dia uma amigo meu me pediu uma ajuda pois a placa de um Slackware dele havia dado problema e, ao realizar a troca, a nova placa não estava subindo. Todos nós, já acostumados com as antigas incompatibilidades entre Hardware e Linux, iríamos imaginar que o Linux não reconheceu a placa ethernet, certo?

Depois de um 'lspci' e 2 'ifconfig ethX up' verificamos que ele havia reconhecido sim a placa, porém ela havia sido reconhecida como eth1! Mas como se ela foi instalada inclusive no mesmo slot PCI?

O Linux possui um arquivo que vincula o endereço MAC da placa ethernet a um nome (eth0, eth1 e etc). Esse arquivo muda de Distro pra Distro, como conheçemos pouco de Slack apelamos pro Oráculo.

Agora a solução:

No Slackware
Editar o arquivo /etc/udev/rules.d/XYZ-persistent-net.rules. O XYZ é porque o que esse início do arquivo parece que varia, não tenho certeza... já vi pelomenos 4 começos diferentes!

O conteúdo do arquivo geralmente segue o seguinte padrão:
# PCI device 0x1106:0x3106 (via-rhine)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"


Pra alterar o nome basta alterar a chame NAME!

No Debian e Debian Based (Ubuntu, Kurumin e etc)
Basta editar ou criar, caso não exista, o arquivo /etc/iftab

Exemplo de conteúdo:
#iftab
eth0 mac XX:XX:XX:XX:XX:XX arp 1
eth1 mac YY:YY:YY:YY:YY:YY arp 1


Onde XX:XX:XX:XX:XX:XX e YY:YY:YY:YY:YY:YY indicam o MAC das placas.


Porque que Slack tem que ser tão complexo?!



########## Update ##########

Outra solução postada pelo Irado nos comentários...


A solução é fácil demais, tão fácil que fica ridicula (rss)

a) descubra (ifconfig) o endereço de hardware de sua placa - ou melhor dizendo, da placa que está com personalidade diferente.
b) ifconfig down ethX (a tal)
c) nameif ethX hardware_address - onde o X é o numero que vc pretende pra ela

Atualizado 30-11-2008 em 23:52 por Magnun (Adição de outra alternativa...)

Categorias
Linux , Dicas

Comentários

  1. Avatar de MarcusMaciel
    Otima dica Magnun quem nunca passou por esse problema

    ps: o seu link no Oraculo para o google ficou errado pq vc nao colocou http://
  2. Avatar de Magnun
    Valeu pelo toque! Já corrigi...
  3. Avatar de paulojrandrade

    valeu... heheh obrigado pela dica essa semana mesmo estava precisando disso, e vc me ajudou muito. Obrigadão
    Uso o Ubuntu AMD64 o caminho é /etc/udev/rules.d/70-persistent-net.rules
    Lembrando !!1 nao esqueça de alterar tb /etc/network/interfaces

    Falowww
  4. Avatar de Magnun
    Hum... pelo visto o Ubuntu também usa o /etc/udev/rules.d...

    Valeu pela dica cara!
  5. Avatar de irado
    aconteceu isso no meu Slackware (e posteriormente, no CentOS; não funcionou, lamentavelmente, o que me forçou a fuçar profundamente em qualquer link que consegui obter no google.

    A solução é fácil demais, tão fácil que fica ridicula (rss)

    a) descubra (ifconfig) o endereço de hardware de sua placa - ou melhor dizendo, da placa que está com personalidade diferente.
    b) ifconfig down ethX (a tal)
    c) nameif ethX hardware_address - onde o X é o numero que vc pretende pra ela

    pronto.. voltou pro que era

    quando tudo o mais falhar, RTFM: man nameif
  6. Avatar de Magnun
    Irado, essa solução não funcionou?!
    Cara, é isso que às vezes me stressa no linux: o que "resolve" pra um às vezes não resolve pros outros...

    Mas tá ai uma boa sugestão, vou atualizar o post...
    Valeu!
  7. Avatar de glaubix
    kkk Vou tentar ser breve...
    Formatei a partição do meu primeiro dual boot e via deboostrap instalei pelo segundo meu sistema hj, como quase nunca sei o que estou ou devo fazer apenas copei/etc/network/interfaces,/etc/resolv.conf e /etc/hostname do segundo para o primeiro, qd bootei o DHCPDISVECORY demorou, disse erro, mas qd loguei o navegador abriu rede nomalmente, porem o icone de monitor de rede do gnome mostrava desconectado, o abri selecionei a minha segunda placa de rede no caso a eth1 e ele ficou bonitinho, mas não segurou ela como "padrão" qd resetei, fui no /etc/network/interfaces e troquei zero por um e um por zero aonde eu achava eth rodei # /etc/init.d/networking restart ele aceitou direitinho e qd reniciei tava xuxu beleza, mas a madrugada é longa e tenho entrado no blog do under-linux procurando passar o tempo, achei esse, me ineteressou mais ainda pelo assunto tão presente e resolvih tentar, já reiniciei, o icone ainda está como desconectado, pois eu queria mesmo era ver se a rede estava a funcionar, qd boot percebih o dhcpdiscory novamente como antes, mas que funciona! Isso funciona!

    Curiosidades; O sistema é Debian já citado, o meu é 70-persistent-net.rules as placas são via-rhine onborad e a pci 8139too.

    E muito obrigado, principalmente por me ensinar a /etc/udev/rules.d, creio que terie boas diversões por ali!!! :trytofly:
  8. Avatar de Magnun
    Bom saber que mais alguém foi ajudado por isso!!
    Valeu pelos comentários!!!

+ Enviar Comentário