quarta-feira, janeiro 03, 2007

Placa de Rede ENCORE ENL832

Esta placa de Rede ENCORE ENL832 utiliza o modulo sundance, esta informação poder ser obtida com o comando:
#lspci
Eu uso o Ubuntu 6.06 mas sofri muito com o drive desta placa simplismente porque não funcionava, primeiramente obti o drive da placa que pode ser obtido no site da ENCORE. depois de você baixar este drive a necessidade de compilar os arquivos com o make que compila os codigos fontes, mas ai que estava o problema poís sempre dava erro:

#sudo make all

make -C /lib/modules/2.6.15-23-386/build SUBDIRS=/usr/src/linux-headers-2.6.15-23-386/Linux modules
make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.15-23-386'
CC [M] /usr/src/linux-headers-2.6.15-23-386/Linux/sundance_main.o
/usr/src/linux-headers-2.6.15-23-386/Linux/sundance_main.c: In function ‘rx_poll’:
/usr/src/linux-headers-2.6.15-23-386/Linux/sundance_main.c:1400: warning: implicit declaration of function ‘pci_dma_sync_single’
/usr/src/linux-headers-2.6.15-23-386/Linux/sundance_main.c: In function ‘netdev_ethtool_ioctl’:
/usr/src/linux-headers-2.6.15-23-386/Linux/sundance_main.c:1653: error: ‘struct pci_dev’ has no member named ‘slot_name’
make[2]: ** [/usr/src/linux-headers-2.6.15-23-386/Linux/sundance_main.o] Erro 1
make[1]: ** [_module_/usr/src/linux-headers-2.6.15-23-386/Linux] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.15-23-386'
make: ** [all] Erro 2

Depois de muito correr atrás para descobrir os erros, obti a informação que era necessário fazer duas alterações no arquivo fonte do driver nas seguintes linhas:

linha 1400, troque "pci_dma_sync_single" por "pci_dma_sync_single_for_cpu"
linha 1653, apague ou comente a linha toda, que contem:
"strcpy(info.bus_info, np->pci_dev->slot_name);"

depois de ter feito isto finalmente o make funcionou:
#sudo make all
Com este comando se cria um arquivo sundance.ko que deve ser copiado para lib/modules/versão do kernel/kernel/drivers/net/
Agora carregamos o modulo
#sudo modprobe sundance
depende de como estiver configurado sua rede se for por DHCP é só usar a placa sem problemas, se precisar especificar algum endereço IP, utilize o comando #ifconfig

maykonhammer@gmail.com

Um comentário:

Pupo disse...

Vlew ... sua dica foi de grande ajuda pois também tenho uma placa Encore no Ubuntu 6.06

vlew!!