Instalando a placa Encore ENL832-TX-ICNT no Linux

From Wiki

A seguir tem um procedimento de como instalar a placa Encore ENL832-TX-ICNT no Linux.


Obs.: Você tem que ter o kernel-headers ou linux-headers instalado


1. Baixe o driver desta placa:

> wget http://www.encore-usa.com/download/driver/ENL832-TX-ICNT_Drivers.zip


2. Descompacte o arquivo:

> unzip ENL832-TX-ICNT_Drivers.zip


3. Entre no diretório:

> cd ENL832-TX-ICNT_Drivers/Linux

Agora vamos editar o arquivo "sundance_main_c":


4. Vá na linha 1400 e altere :

pci_dma_sync_single

Por:

pci_dma_sync_single_for_cpu


5. Vá na linha 1653 e apague a linha toda, que contem:

strcpy(info.bus_info, np->pci_dev->slot_name); 


6. Salve e feche o arquivo

7. Compilando

> make all


8. (Opcional) Se acontecer o erro abaixo

make -C /lib/modules/2.6.18-8.1.8.el5/build SUBDIRS=/root/placarede/ENL832-TX-ICNT_Driver/Linux
 modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1.8.el5-i686'
  CC [M]  /root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.o
/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.c:221:2: error: invalid preprocessing
  directive #MODULE_PARM
/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.c:222:2: error: invalid preprocessing
 directive #MODULE_PARM
/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.c:223:2: error: invalid preprocessing
  directive #MODULE_PARM
/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.c:224:2: error: invalid preprocessing
directive #MODULE_PARM
/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.c: In function â__check_mediaâ:
/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.c:228: warning: return from incompatible
  pointer type
make[2]: *** [/root/placarede/ENL832-TX-ICNT_Driver/Linux/sundance_main.o] Error 1
make[1]: *** [_module_/root/placarede/ENL832-TX-ICNT_Driver/Linux] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1.8.el5-i686'
make: *** [all] Error 2

9.(Opcional) Abra o arquivo sundance_main.c e procure por

  1. include <linux/module.h>
  2. include <linux/kernel.h>
  3. include <linux/string.h>
  4. include <linux/timer.h>

e adicione a entrada


#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/timer.h>


10.(Opcional) Nas linhas com problema, comente e altere como abaixo


module_param(debug, int,0); //MODULE_PARM(debug, "i");
module_param(rx_copybreak,int,0); //MODULE_PARM(rx_copybreak, "i");
module_param(media,charp,0); //MODULE_PARM(media, "1-" __MODULE_STRING(MAX_UNITS) "s");
module_param(flowctrl,int,0); //MODULE_PARM(flowctrl, "i");


11. Compile novamente

> make all


Isso irá gerar o arquivo sundance.ko e sundance.o.

12. Copie o arquivo sundance.ko para o diretório:

> /lib/modules/`uname -r`/kernel/drivers/net


13. Carregue o módulo com o comando:

> modprobe sundance

Agora basta configurar a placa de rede.

tags: enl832-tx-icnt linux driver


Ver também