-->

domingo, 4 de maio de 2008

Driver Realtek RTL8139D - VendorID 1904

Eu estava já há algum tempo com duas placas de rede baseadas em chip Realtek RTL8139D aqui que não conseguia instalar. Hoje decidi resolver isso e coloquei no XP para testar. Ambas acusavam "dispositivo desconhecido" e nenhum dos meus drivers habituais servia.

Eu cheguei a desconfiar de defeito, porque as placas deveriam aparecer pelo menos como "network adapter", mas continuei tentando. Para testar, coloquei uma outra placa Realtek que tinha aqui, baseada em chip RTL8139C, e esta foi reconhecida imediatamente pelo XP.

Eu sabia que a diferença poderia estar no VendorID das placas problemáticas, por isso dei uma pausa durante o boot para checar:




VendorId: 1904, DeviceId: 8139 e ClassId: 0200

O VendorId "habitual" de placas baseadas em chip Realtek é 10EC. Isso explica porque o Windows não estava achando o driver, embora não explique o porquê do "dispositivo desconhecido" já que pela classe (0200) o Windows deveria reconhecê-la como um dispositivo de rede, assim como fez o BIOS. A mesma placa em outro PC é reconhecida corretamente pelo Windows como "Controlador Ethernet".

Acabei encontrando o driver certo no Blog do Elton.

É importante frisar aqui que apesar do que dizem, a placa com VendorId 1904 não tem nada de "falsa". Simplesmente ocorreu do fabricante decidir colocar seu próprio VendorId na EEPROM em vez de usar o VendorId da Realtek (10EC). É importante também salientar que a Realtek é uma fábrica de chips e não fabrica placas de rede, portanto não existe uma placa de rede Realtek "verdadeira" e muito menos uma "falsa".

Editado: Não é a placa que é falsa. É o chip! Leia o comentário de Juan Paul.

Coloquei o driver e funcionou na hora. Se você tiver uma placa Realtek cujo VendorId não seja 1904, este driver óbviamente não vai servir.

05/05/08: Encontrei o meu CD com o driver. Como o driver no blog do Elton está em provedores gratuitos e pode desaparecer, decidi hospedar uma cópia própria aqui.

21 comentários:

  1. Olá Jefferson,

    O VENDORID se refere ao fabricante do componente que se comunica com o o computador (o fabricante da "placa" pode mudar essa informação do VENDORID, mas, à partir deste momento, ele passa à ser responsável pelo fornecimento de drivers para o dispositivo - coisa que um fabricante de placa de rede de baixo custo nunca iria querer).

    Segue trecho extraido do datasheet da RTL8139D(L):
    "VID: Vendor ID. This field will default to a value of 10ECh which is Realtek Semiconductor's PCI Vendor ID."

    O VendorID da Realtek é 10EC, e o detentor do Vendor ID 1904 é "Hangzhou Silan Microelectronics Co., Ltd.", como você pode consultar no The Linux PCI ID Repository - http://pci-ids.ucw.cz/iii/?p=1

    Como já deparei com algumas placas de rede em que o chipset é o RTL8139D falsificado, na verdade é fabricado por Hangzhou Silan Microelectronics (ou somente Silan para facilitar), percebi que o modelo que vem "carimbado" (carimbado sim, pois, ela não poderia ter direito de fabricar um componente e, imprimir nele a marca e modelo de outro fabricante) tem relevo (como uma impressão à laser), esse tipo de procedimento é usado por falsificadores de componente (pois, na linha de produção, o que é "impresso" no componente não tem relevo).

    O modelo real do chipset desta placa de rede é Silan SC92031 (http://www.silan.com.cn/english/products/productDetail.aspx?id=288&cp_class=%e4%bb%a5%e5%a4%aa%e7%bd%91%e5%8d%a1%e3%80%81%e7%a1%ac%e7%9b%98%e4%bf%9d%e6%8a%a4%e5%8d%a1%e7%94%b5%e8%b7%af&productkey=2871) que, foi concebido para ser muito parecido com a Realtek RTL8139D (mas é diferente - provavelmente por questões de patentes). Outro detalhe que percebi é que ele esquenta mais (e consequentemente consome mais) que o o chipset RTL8139D original da Realtek.

    Como ela é parecida (mas não igual) à RTL8139, os drivers para a RTL8139 não fucionam nesse chipset (fiz os teste alterando o VENDOR ID no Windows (somente no arquivo .INF), Linux e FreeBSD - no Linux o driver da Silan foi integrado ao Kernel - acredito que ainda marcado como instable). Verifique aí no Windows, no Gerenciador de Dispositivos > Placa de Rede > Propriedades > Driver > Detalhes do Driver quem é o fornecedor do driver da placa de rede, o driver deve se chamar slnt.sys (alusão ao rlnt.sys). Já ví placas se reportarem como Rsltek (alusão à Realtek).

    Segue link com mais informações sobre essa placa que, eu postei na lista FUG-BR (FreeBSD User Group BR):
    http://www.fug.com.br/historico/html/freebsd/2008-02/msg00618.html

    Juan Paul

    ResponderExcluir
  2. Juan,

    Seu comentário foi muito esclarecedor. Obrigado!

    Eu estava pensando em "placa" falsificada. Mas o que é falso é o chip!

    Eu já havia notado (e estranhado) o slnt.sys, mas não havia reparado no alto relevo da inscrição no chip.

    Eu também havia testado mudar o VendorID em um arquivo INF, mas falhei miseravelmente :)

    ResponderExcluir
  3. Como disse ao Elton, vc éum anjo...me ajudou em deixar esses arquivos disponiveis...muito agradecido
    parabéns pelo trabalho e sucesso

    ResponderExcluir
  4. Ahh.. fantástica a matéria do Blog e excelente o comentário do Juan Paul

    Compramos um lote com várias placas da marca MyMax que vieram com esse chipset Realtek falsificado..

    Não estávamos nem um pouco dispostos a fazer atualização do kernel em todas as máquinas Linux onde usuários as placas para ter o suporte...

    Placa ou chipset falsificado, não importa... Todas foram devolvidas ao fornecedor para troca (é o mais correto a se fazer, na minha opinião..)

    Ah.. Valeu a dica do alto relevo ;o)

    Parabéns pelo artigo

    ResponderExcluir
  5. Olá Jeferson!

    Sua dica foi ótima, resolveu meu problema com o Driver da placa em questão. Eu já havia quase desistido, mas com sua ajuda acabou dando certo.

    Valeu pela dica,

    Parabéns pelo artigo.

    ResponderExcluir
  6. Cara, fazia um tempão que esa placa vinha me dando problema. Resolveu na hora. Obrigado. Sinésio-Taubaté-SP

    ResponderExcluir
  7. muuuuito obrigado, vc não tem noção do tempo que estou procurando esse drive....achei q era defeito..valeeeeeeeuu!!!!!

    ResponderExcluir
  8. obrigado.. :P

    ResponderExcluir
  9. OLÁ!!
    SEGUINTE, INSTALEI O DRIVER MAS APARECEU AQUELA MENSSAGEM DO WINDOWS FALANDO QUE NÃO ESTA ASSINADO DIGITALMENTE, PORÉM NÃO VI NEHUM PROBLEMA APARENTE A PLACA T´FUNCIONANDO LEGAL, GOSTARIA DE SABER SE TEM COMO RESOLVER ISSO E SE TEM ALGUM PROBLEMA?

    VALEW!

    ResponderExcluir
  10. Assinatura digital em drivers é, em geral, frescura.

    ResponderExcluir
  11. Anônimo3/5/09 18:46

    Obrigado por deixar disponível a informação e o Driver. Foi bem útil.

    Desse lance de falsificação e clonagem de chips, sem novidades. Mas clone do clone, é para acabar com a paciência de qualquer mortal...

    Fazia tempo que tinha 2 destas "belezuras" encalhadas, e nada de achar a solução. Agora, a conversa é outra.

    MAUSBACH

    ResponderExcluir
  12. Anônimo3/5/09 18:55

    A questão de assinaturas digitais em Drivers foi mais uma tentativa da Microsoft & CIA. de tentar tapar alguns dos inúmeros furos da peneira que o Windows se tornou desde sua origem, e essa lenga-lenga começou na família NT para ser consolidada na colcha de retalhos em que o XP se tornou.

    Na prática, virou uma coisa inútil porque o próprio Ruindows dá a opção do usuário aceitar ou não o uso do suposto Driver "não certificado", desmoralizando a intenção de proteger e acaba mais incomodando.

    É o mesmo que forçar uma peça quadrada num buraco redondo. Tem que ser feito, e se quebrar... paciência, precisava mesmo ser consertado!

    MAUSBACH

    ResponderExcluir
  13. Anônimo7/6/09 18:49

    Meu caro boa noite! Fantástica sua recomendação. Solucionau imediatamente o problema de incompatibilidade. Parabéns! Sucesso!

    Fábio Barcellos
    Volta Redonda - RJ

    ResponderExcluir
  14. Muitíssimo obrigado!!! Eu já tinha feito cadastro em tudo quanto é site de drivers, baixado uns trocentos e nada...
    Mas este aqui foi certeiro!!! E nem precisou me cadastrar!!! rsrsrsrsrsrsrs

    ResponderExcluir
  15. Anônimo8/9/09 19:06

    Obrigado. Mais uma vez vc me ajudou muito.
    Vlw

    ResponderExcluir
  16. EXCELENTE ,TAMBEM ESTAVA COM PROBLEMAS COM ESTA PLACA VLW !!!

    ResponderExcluir
  17. MARAVILHA DEU CERTO PUXA VIDA MT BOM ,, DEU TRABALHÃO JA TAVA PROCURANDO ESTE DRIVER A UMA SEMANA ,, BRIGADÃOO

    ResponderExcluir
  18. Valeu mesmo pela ajuda, tava procurando como um louco aqui. Valeu !!!!

    ResponderExcluir
  19. Peguei uma placa com esse chip "paraguaio" hoje, pesquisei pelo nºvendor e nada de conseguir driver compatível, até que encontrei a dica no seu site. Parabéns pelo site.

    ResponderExcluir
  20. Anônimo8/1/12 17:40

    falou e disse, funcionou aqui...

    ResponderExcluir
  21. Funcionou bem aqui, Win XP. Muito grato por sua colaboração.

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.