Endian Firewall: Compilando driver e1000e
Opa,
Hoje tive a missão de procurar um driver para a placa de rede Intel Corporation 82567V-2 Gigabit Network Connection no Endian Firewall, após algumas pesquisadas no famoso amigo Google e não encontrar nada que pudesse me ajudar resolvi partir por outro caminho, fui até um dos Fórum do Endian e pesquisei por lá em como compilar pacotes no danado, após algumas pesquisas descobri esse post (http://efwsupport.com/index.
Para começar o dispositivo estava sendo identificado como “Unknown Device” ao executar o comando lspci, para descobrir qual o modelo da placa foi necessário atualizar a lista de PCI ID com o comando abaixo:
# update-pciids
Feito isso ao executamos o comando lspci novamente e o modelo da placa é exibido corretamente:
# lscpi |grep -i Ethernet
Intel Corporation 82567V-2 Gigabit Network Connection
Vamos instalar alguns pacotes para nos ajudar nessa tarefa (info e wget):
# rpm -Uvh http://archives.fedoraproject.
# rpm -Uvh http://archives.fedoraproject.
Agora vamos baixar e descompactar os pacotes para permitir a compilação do driver (gcc, cpp, glibc, kernel-devel, etc…):
# wget http://dfn.dl.sourceforge.net/
# tar -xvzf EFW-COMMUNITY-2.2-rc3-devel-rpms.tar.gz
Instalamos os pacotes necessários para a compilação:
# cd RPMS/devel/
# rpm -Uvh binutils-2.15.92.0.2-24.endian1.i586.rpm kernel-devel-2.6.22.19-72.endian15.i586.rpm glibc-kernheaders-2.4-9.1.100.EL.endian1.i386.rpm patch-2.5.4-20.endian0.i386.rpm glibc-headers-2.3.4-2.39.endian6.i386.rpm glibc-devel-2.3.4-2.39.endian6.i386.rpm libgomp-4.1.2-14.endian1.i586.rpm gcc4-4.1.2-14.endian1.i586.rpm make-3.81-3.endian0.i586.rpm cpp-3.4.6-9.endian7.i586.rpm autoconf-2.59-7.endian0.noarch.rpm automake-1.9.5-0.endian0.noarch.rpm m4-1.4.3-0.endian0.i386.rpm rpm-build-4.4.1-21.endian7.i586.rpm libstdc++-devel-3.4.6-9.endian7.i586.rpm
Criamos um link do gcc apontando para o gcc4:
# ln -s /usr/bin/gcc4 /usr/bin/gcc
Baixe os fontes do driver e1000e no Sourceforge (http://sourceforge.net/
Agora é só gerar o pacote RPM com o comando abaixo:
# rpmbuild -tb e1000e-1.0.2.5.tar.gz
Após a conclusão da compilação será gerado um pacote RPM com o driver e1000e, para carregá-lo basta executar a instalação do pacote e subir o módulo com o comando modprobe:
# rpm -Uvh /usr/src/endian/RPMS/i386/e1000e-1.0.2.5-1.i386.rpm
# modprobe e1000e
Execute o dmesg para verificar se o módulo foi carregado e a interface criada:
e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2.5-NAPI
e1000e: Copyright(c) 1999 - 2009 Intel Corporation.
ACPI: PCI Interrupt 0000:00:19.0[A] -> GSI 20 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:19.0 to 64
0000:00:19.0: : Failed to initialize MSI interrupts. Falling back to
legacy interrupts.
0000:00:19.0: eth3: (PCI Express:2.5GB/s:Width x1) 00:1c:c0:a4:04:fb
0000:00:19.0: eth3: Intel(R) PRO/1000 Network Connection
0000:00:19.0: eth3: MAC: 8, PHY: 8, PBA No: ffffff-0ff
Para subir a interface manualmente (No meu caso eth3):
# ifconfig eth3 up


Gnome
Ubuntu
CentOS
Vlw Agostinho!
Sempre salvando a minha pele. ehehehehe
Vou começar a cobrar por isso! hehehehe… Abraço!
Otimo post! Entretanto estou com uma dificuldade em instalar os pacotes gcc, cpp, glibc, kernel-devel, etc… falta dependências, acredito que seja pq estou com o EFW 2.4!!!!! De qualquer forma não teria como tu mandar o rpm que tu gerou para eu instalar aqui?????
Não sei se daria certo, mas estou a ponto de tentar tudo pois não consigo de jeito nenhum corrigir estas dependências.
Fala Paulo,
Cara vou mandar o arquivo para o seu e-mail, mas tenho quase certeza que não irá funcionar, pois provavelmente a versão do Kernel da versão 2.4 deve ser diferente da versão 2.2 e também da 2.3, ou seja, provavelmente deverá esperar o lançamento dos pacotes de compilação para a versão 2.4.
Abraço!