Solução de problema em placa de rede Davicom Semiconductor (qualquer distro)

Esse problema me foi detectado inicialmente no Slackware 11, mas conferi em fóruns que em outras distribuições acontecia o mesmo problema, sem clareza nas soluções. Existem dois módulos para esse tipo de placa, o tulip e o dfme, em alguns casos, ambos funcionam, em outros há conflito ou o OS carrega o módulo errado. :) Se você estiver passando por problemas com essa placa, recomendo essa leitura.

[ Hits: 26.390 ]

Por: ManFilho em 19/06/2007


Verificando o módulo ativo



Então fui me certificar qual módulo estava ativo pra minha placa. Dei um lsmod e sai testando com o modinfo qual era o módulo correspondente a minha placa de rede até achar nas informações de um dos módulos ativos a expressão "eth", o módulo era um tal de tulip.

# modinfo tulip | grep eth
description: Digital 21*4* Tulip ethernet driver

Fui até o arquivo /etc/rc.d/rc.modules-(seu kernel, no meu caso "2.6.17.13"), na parte do "# Other network hardware drivers:" lá estava ele, especificado!

# DECchip Tulip (dc21x4x) PCI support:
/sbin/modprobe tulip

Porém logo mais embaixo o rc.modules me fez o favor de mostrar o módulo correto:

# Davicom DM9xxx (9102/9132/9100/9802...)
#/sbin/modprobe dmfe

Nossa, que legal! Teria que carregar o dmfe. Agora vamos pro básico...

Página anterior     Próxima página

Páginas do artigo
   1. Detectando o problema
   2. Verificando o módulo ativo
   3. Fazendo a placa falar
   4. Configurar pra quando reiniciar o sistema
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Rode Linux no seu iPod

Open Hardware: Quem topa o desafio?

Leitora SafeSign de e-CPF no Linux

Configurando o som na placa ASUS A7V8X-X

Informações sobre Hardware no GNU/Linux - Guia Geral e Prático

  
Comentários
[1] Comentário enviado por morvan em 19/06/2007 - 10:54h

Bom dia a todos.

Tive um problema similar, porém o resolvi de forma diversa. No Fedora 6, a placa era detectada normalmente e era carregado o módulo correto (dmfe); no Fedora 7, ao invés disto era carregado o módulo tulip, o que ocasionava o mal-funcionamento desta. A solução - bem simples - consistiu em colocar o driver da Tulip na lista negra - um recurso documentado no MAN do ModProbe. Ao banir o módulo da tulip o Sistema - como era esperado - não o carrega. Daí é só dar um alias para o módulo (driver) correto.
Fica assim, sinteticamente:
# modprobe.conf - alterado em 2007...
blacklist tulip
alias eth? dmfe
...
# fim do modprobe.conf

Pronto. Na inicialização do Sistema, o módulo correto é carregado, sem qualquer problema.
Abraços,

Morvan


[2] Comentário enviado por manfilho em 19/06/2007 - 14:55h

O bom do linux é esse, várias formas de resolver o mesmo problema, dinamismo, praticidade! ;D
Pensei em ir mais a fundo...
Retirar no kernel a opção de modularizar o tulip, recompila-lo, mas seria muito demorado e mais complicado para um usuário leigo entender! :)
De qualquer forma, a sua solução também é muito simples.

Abração.

[3] Comentário enviado por juninho (RH.com) em 19/06/2007 - 15:43h

Nem acredito, tive este mesmo problema a alguns meses, como não tenho tanto conhecimento como vocês, a única solução que encontrei foi substituir a placa por uma Realteck.

Parabéns por compartilharem mais uma solução!!!!

[4] Comentário enviado por removido em 20/06/2007 - 09:07h

No Debian não tem diretório rc.d nem arquivo rc.modules...
Como eu faço esse procedimento no Debian Etch ???

[5] Comentário enviado por manfilho em 20/06/2007 - 15:30h

Se eu não me engano fica no /etc/rc.modules
E a pasta equivalente à /etc/rc.d/ no Debian é a /etc/init.d/
Corrijam-me se eu estiver errado!

Um abraço, boa sorte!

[6] Comentário enviado por CerberusBH em 20/06/2007 - 19:21h

Olá!
Meu PC é "véio", com Slackware 11, e a placa de rede também é uma Davicom. Mas no meu caso o interessante é que o módulo dmfe simplesmente não funciona nem rezando! :-D
Com o módulo tulip funciona perfeitamente.
Quando eu usava Conectiva 10, o módulo que funcionava era o dmfe e, até então, eu nunca tinha ouvido falar em tulip.
Até mais!

[7] Comentário enviado por manfilho em 06/07/2007 - 22:15h

Pois é.. alguem sabe explicar buscando bem do útero do kernel o porquê desta situação?
flw =]

[8] Comentário enviado por morvan em 07/07/2007 - 14:45h

Boa tarde.
A explicação passa pelo modo como o Kernel identifica o PCI-Id da placa. A partir de um certo número de versão / subversão do Kernel, este passou a identificar o PCI-Id (Grosso modo, todo "hardware" tem o ID do fabricante, bem como o seu subcódigo, que é uma espécie de Banco de Dados de dispositivos por fabricante) da Tulip como "dmfe" e vice-versa. Observe-se que na maioria das vezes funciona um ou outro, transparente ao usuário. Para aprofundar, sugiro uma leitura nos fontes do Kernel e dar uma "Googlada" nas palavra-chave "PCI Id"
[ ],
Morvan

[9] Comentário enviado por manfilho em 08/07/2007 - 02:12h

Hm... muito boa explicação Morvan, eu fantasiei outra coisa em minha cabeça, sabe aquela desculpa bem esfarrapada que você sabe que está errado mas pela falta de tempo você acaba enfiando guela abaixo e "aceitando"? então, aconteceu! ;D

E com essa resposta surge mais uma dúvida...

Então, essa "falha" é de quem? kernel, distribuição ou da fabricante?

Alguem sabe?

[10] Comentário enviado por morvan em 08/07/2007 - 14:47h

Boa tarde.
Respondendo e - espero - ajudando mais no processo de discussão, diria a todos que não é, em si, uma falha. É muito mais uma evolução. Quem já teve problema com drivers no Windows, por exemplo, deve se lembrar dos famosos "puxa, mas é o mesmo ChipSet e não aceita o driver"! Quando você tem que baixar um driver de um fabricante em particular, mesmo conhecendo o ChipSet do hardware destino. No Linux, a despeito da tão proclamada dificuldade, a grande maioria dos drivers de dispositivo é carregada de forma transparente, fortemente baseado no PCI-Id do fabricante. E quando dá errado, como neste caso, basta identificar o hardware mais aplicável. Outra coisa, se não tivéssemos o PCI-Id, o qual você pode achar sempre a lista mais atual na Internet, teríamos o caos. É aí onde nos deparamos com uma boa explicação sobre a importância da padronização.
Então, não seria uma falha e sim uma sucessão de fatores.
Abraços a todos.

[11] Comentário enviado por manfilho em 12/07/2007 - 01:49h

Interessante!
Obrigado pela aula Morvan!
Um abraço
(:


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts