Como instalar o driver via rhine no CentOS 7

É meu amigo, se você chegou até aqui no mínimo você esta muito lascado né? E neste momento esta procurando a solução divina, pois bem, eu te trago a solução divina depois de ter sofrido muito pra resolver.

Primeiro, nem fique sofrendo pesquisando os drivers que você encontrar na internet e depois vou explicar o porque! Baixe os drivers aqui.

(Precisa ser estes que estou colocando no link, porque já estão compilados, os originais precisa compilar e não é tão simples assim explico o porque logo abaixo)

Pra você que é mais espertão vou te dar um atalho, jogue essa pasta via compactada dentro do diretório:

/lib/modules/KERNEL_VERSION/kernel/drivers/net/ethernet/

Agora vamos ao detalhamento, se você chegou até aqui provavelmente você aplicou o comando

lspci | grep Ethernet 

E descobriu que sua placa de rede é a VIA Technologies, Inc. VT6102 [Rhine-II]
Ou então pode ser a VT6103, significa que sua máquina é um dinossauro assim como a minha, um Pentium 4 dual, placa mãe Phitronics P7V800PRO-M (Aquela que tem 2 entradas pra memória DDR400 e 2 entradas DDR2, 4 slots de memória). Era uma máquina muito comum antigamente, não sei porque não adicionaram esse bendito driver no CentOS 7 já que muitos de nós mantemos uma máquina dessas como um pequeno servidor de arquivos ou então para testes. (inclusive muita gente ainda joga em máquinas assim, ainda é comum em 2017).

Como encontrei a solução?
Eu já havia instalado o Fedora Server 23 que alias achei excelente, é uma distribuição que também deriva do had hat, então pensei comigo… “se é o mesmo sistema de arquivos (.rpm) e geralmente costuma-se tudo ser compatível entre essas distribuições, então vou caçar os drivers no Fedora!!” E assim foi feito, foi através do Fedora que consegui os drivers.

Procurei por diversos sites a respeito, em grande parte sites gringos porque achei pouco conteúdo a respeito nos sites nacionais, testei todas as soluções possíveis até a página 10 do Google, isso fazendo diversos tipos de pesquisa. O pacote que geralmente achamos do driver tem uma indicação de como realizar a instalação que não funciona mais do CentOS 7. Veja o guia de instalação no item 4:

4) Compile the driver source files and it will generate rhinefet.o, and
       copy it to correct driver installation path (The installation directory
       is different in different kernel versions. In 2.4.x kernel, the path is 
       /lib/modules/KERNEL_VERSION/kernel/drivers/net/, and in 2.2.x kernel,
       the path is /lib/modules/KERNEL_VERSION/net/, the KERNEL_VERSION (see
       above) means the kernel version of your Linux distribution. If you don't
       know your kernel version , please run 'uname -r' command in command 
       line. The kernel version will look like '2.2.16', '2.4.2-2smp' etc.) :
        make install

No caso quem esta acostumado a usar o comando make a primeira coisa que procura é o ./configure, mas este arquivo não existe entre os pacotes! Simplesmente porque o Makefile já esta gerado (lembrando que o ./configure serve apenas para criar o Makefile), até ai tudo bem, mas quando aplicávamos o comando make ele começava a requerer arquivos que não existiam mais (existia apenas em distribuições antigas) então erros como este irão aparecer:

Makefile:36: *** Linux Kernel source not configured - missing version.h. Pare.

Até ai tudo bem a solução é copiar o arquivo do diretório /usr/include/linux pra pasta que aponto logo abaixo:

cp -v /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux

Mas logo começa a aparecer outros erros e torna-se inviável essa instalação:

Makefile:40: *** Linux Kernel source not configured - missing config.h. Pare.

Eu aconselho você nem tentar passar disso, assim como eu não passei. Achei bacana contar minha experiência porque muitos outros podem estar passando pelo mesmo problema e não ter alcançado o mesmo sucesso na solução do problema.

Dicas

Você deve ter notado que muitos comandos não existem no CentOS 7 porque eles fazem parte do pacote net-tools que não vem instalado na versão mínima, você deve ter tentado aplicar os comandos ifconfig, netstat, route, mii-tool, arp, iptunnel e viu que nada funcionou, pra instalar sem internet você vai precisar adicionar o cd-rom como repositório, veja como logo abaixo.

Se você esta sofrendo com este driver muito provavelmente não conseguiu configurar o CD-ROM como repositório também, lembrando que existe um segredo pra ele funcionar de fato! Coisa que não encontrei os outros artigos na internet. Então veja este artigo:
Como adicionar o cd-rom como repositório no CentOS 7

Você também vai precisar de um pen-drive para transferir os drivers em seu servidor, então veja aqui como montar o pen-drive:
Como abrir pendrive no servidor CentOS

Depois de ter jogado os drivers da placa de rede em seu servidor e ter reiniciado o sistema você vai poder verificar se ela realmente funcionou com o seguinte comando:

nmcli d

Comments

  1. By Gio

    Responder

    • By adriano

      Responder

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *