Linux: Instalacion y Configuracion de la NIC D-Link DGE-530T 10/100/1000 Gigabit Desktop PCI Adapter

Creación de redes de clusters de alto rendimiento

Nuevamente estoy instalando clusters de alta disponiblidad con bloque de disco en red basados en DRBD. Para crear la red o canal de datos de los dispositivos DRBD estoy instalando tarjetas de red compatibles con Linux: D-Link DGE-530T ver. 7.00 (I) Rev B2.

Caracteristicas del adaptador de red

Este adaptador NIC incluye caracterí­sticas avanzadas tales como Wake-On-LAN y 802.3x. Las Computadoras y sistemas operativos que soportan el Advanced Configuration and Power Interface (ACPI), pueden despertar remotamente su PC desde cualquier lugar en la red con el Wake-On-LAN caracterí­stica. Con el soporte para el control de flujo 802.3x, los datos se reciben y se transmiten sin problemas desde y hacia la red.

Esta NIC soporta ls normas IEEE 802.3, 802.3u y 802.3ab, garantiza la compatibilidad con redes basadas en 10BASE-T, 100BASE-TX, y 1000BASE-T. Además, si utiliza la auto-negociación se ajusta automáticamente a la tasa más alta de transferencia soportada (hasta 2Gbps en modo full duplex).

Compilacion del controlador para Kernel de Linux

Este adaptador PCI de Red Gigabit es detectado automáticamente por Windows, pero no asi en Linux, es aqui donde decimos manos a la obra:

[[email protected] ~]# lspci |grep Ether
02:00.0 Ethernet controller: D-Link System Inc DGE-530T Gigabit Ethernet Adapter (rev 11) (rev 11)
02:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Como pueden ver en el cuadro anterior, mi tarjeta DGE-530T ya ha sido configurada con el driver adecuado. Para llegar a este punto donde el sistema Linux CentOS 4.4 detecte correctamente el dispositivo tenemos que instalar las fuentes y encabezado del kernel, tecleamos:

[[email protected] ~]# yum install kernel-devel
[[email protected] ~]# yum install kernel-headers
[[email protected] ~]# ** yum install rpm-build redhat-rpm-config unifdef

Ahora en el cd de instalacion que viene con la tarjeta abrimos el archivo del controlador para Linux y procedemos a compilar e instalar el controlador del dispositivo DGE-530T.

[[email protected] ~]# tar -xvjf install-8_3523.tar.bz2
[[email protected] ~]# cd DriverInstall/
[[email protected] ~]# ./install.sh

Si al intentar compilar el controlador de la tarjeta nos despliega un error de las fuentes del kernel, debemos crear un link simbolico con el siguiente comando: (Primero revisamos la version del kernel en uso):

[[email protected] ~]# uname -a
[[email protected] ~]# cd /usr/src/linux
[[email protected] ~]# ln -s /usr/src/kernels/2.6.9-42.EL-smp-i686/ /usr/src/linux
[[email protected] ~]# ./install.sh

Ahora verificamos el nombre del controlador ya compilado para luego ingresarlo en el alias de modprobe:

[[email protected] ~]# 
ls  /lib/modules/2.6.9-42.ELsmp/kernel/drivers/net/sk98lin/
sk98lin.ko
[[email protected] ~]# vim /etc/modprobe.conf
alias eth0 8139too
alias scsi_hostadapter sata_sil
alias snd-card-0 snd-azx
options snd-card-0 index=0
install snd-azx /sbin/modprobe --ignore-install snd-azx && /usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd-azx { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-azx
alias usb-controller ehci-hcd
alias usb-controller1 ohci-hcd
#alias eth1 sky2
alias eth1 sk98lin

Como pueden ver, anteriormente el Linux Centos 4.4 me habia detectado la tarjeta como sky2, comente el alias y agrege el nombre correcto del controlador para la tarjeta de red eth1. Hemos terminado, reiniciamos el servidor.

10 comments

  1. Ahora creamos el archivo ifcfg-eth1 dentro de /etc/sysconfig/network-scripts/

    Con la informacion de nuestra red:
    DEVICE=eth1
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.1.5
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1

    La configuracion de red anterior es de ejemplo, tomamos la tarjeta como la segunda tarjeta del sistema, por eso eth1. Ahora reiniciamos la red.

    #service network restart
    Shutting down interface eth0: [ OK ]
    Shutting down interface eth1: [ OK ]
    Shutting down loopback interface: [ OK ]
    Setting network parameters: [ OK ]
    Bringing up loopback interface: [ OK ]
    Bringing up interface eth0: [ OK ]
    Bringing up interface eth1: [ OK ]

    Y con el comando dmesg podemos ver que el sistema esta cargando el nuevo controlador:

    ip_tables: (C) 2000-2002 Netfilter core team
    eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
    sk98lin: no version for “struct_module” found: kernel tainted.
    ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 20 (level, low) -> IRQ 201
    sk98lin: Network Device Driver v8.35.2.3
    (C)Copyright 1999-2006 Marvell(R).
    ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 20 (level, low) -> IRQ 201
    divert: allocating divert_blk for eth1
    eth1: DGE-530T Gigabit Ethernet Adapter
    PrefPort:A RlmtMode:Check Link State
    ip_tables: (C) 2000-2002 Netfilter core team
    eth1: network connection up using port A
    speed: 1000
    autonegotiation: yes
    duplex mode: full
    flowctrl: none
    role: master
    irq moderation: disabled
    scatter-gather: enabled
    tx-checksum: enabled
    rx-checksum: enabled
    rx-polling: enabled

  2. Sabes que tengo el mismo problema pero con red hat… el kernel es kernel-2.6.9-42.EL, necesito saber que comando puedo utilizar que sean equivalentes al yum.

    de antemano gracias

  3. Debido a una caida de energia eléctrica se me tronaron las dos tarjetas de red e mi proxy, le instale dos tarjetas D-Link DGE-530T. Tengo Debian con Kernel 2.6.8 y no se como instalar los drivers ni como asignarles las direcciones IP para poder compartir los servicios de Proxy.

    Ya supe como montar la unidad de CDRom y puedo inclusive ver los archivos en éste.

    Me temo que mi version de Debian no incluye el comando yum de CentOS para poder realizar los comandos especificados en esta solución.

    De que otro modo puedo realizar el proceso de cargado de los drivers de las trajetas y levantar mi servidor proxy.

  4. trabajo con centos, en este equipo trabajo con una tarjeta sangoma,para grabar las llamadas del callcenter donde trabajo, y tengo el problema de que la tarjeta de red de mi server tiene conflicto de irq con la tarjeta sangoma, quisiera saber si alguien sabe como cambiar la Irq de la tarjeta de red o de la tarjeta sangoma.

    servidor: SUN microsystem X4200 centos 5.5

    Muchas gracias.

  5. Hola tengo un problema con la placa intel DH61WW y centos, pues tiene instalado centos 5.7 y al conectarle una tarjeta dlink ya sea normal de 10/100 pci o de 10/100/1000 pci – cualquiera de los casos … todo funciona, el problema es cuando desconecto el cable del monitor, la red se cae y me sale en el Terminal, cuando eh dado ping 192.168.40.106 y todo estaba normal hasta que desconecto el monitor… KERNEL:disabling irq #177, ya no se vuelve a conectar hasta que reinicie la pc y conecte el monitor. saben como resolver este problema . Que hago solo tengo un puerto pci – Gracias

Comentario, Preguntas o agradecimientos?