Script Bash para solucionar Realtek r8168 en Ubuntu Hardy (Español)

June 2, 2008

Aviso: Esta página es una traducción de la que escribí en mi lenguaje nativo; También es posible leer el documento original en Inglés, si quiere. Muchas gracias al TheZhar de comfusion.es por su parte de revisar esta página.

Al utilizar Hardy original, algunas tarjetas de red como la Realtek r8168 no funcionan. Recomiendo esta solución: En lugar del utilizar el driver r8169 que se distribuye con Ubuntu (que está roto), es mas conveniente utilizar el driver r8168 que distribuye Realtek.

Bajar y ejecutar el script

He escrito un script Bash que automatiza el cambio de módulos del núcleo. También en esta página se pueden encontrar los módulos del núcleo que ya están compilados, por si quiere instalarlos manualmente. Los dos métodos están funcionando bien con los núcleos 16,17,18,19,21-generic (x86_64). Se pueden encontrar todos los archivos necesarios en este archivo: nosemaj.org/dl/r8168_scripts.tar.bz2. Para utilizar el script, descomprima el tar, introduzca el directorio y ejecute el script switchmods:

tar xjf r8168_scripts.tar.bz2
cd r8168_scripts
sudo ./switchmods

Es más fácil usar un módulo que ya ha estado compilado, pero ese método no tendrá éxito si usted utiliza una arquitectura o un núcleo (kernel) diferente al cuál utilicé al crearlos. Por favor, si algo no funciona bien, déjeme cualquier comentario o pregunta que tenga.

Mi configuración

El problema de conectividad efectaba mi configuración (al menos), que es la siguiente:

lspci  | grep Ethernet
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
uname -mro
2.6.24-21-generic x86_64 GNU/Linux

Pasos para tener el módulo R8168 operativo al inicio (Instalación manual)

He tenido éxito con la compilación del código de origen. Abajo describo como creé el módulo r8168 para mi sistema. (Repito, mi script hace automáticamente todo lo que describo a continuación, y con más verificaciones.)

Obtenga privilegios de root

sudo bash

Quite el núcleo del módulo r8169:

rmmod r8169

Obtenga el código de origen:

wget ftp://210.51.181.211/cn/nic/r8168-8.009.00.tar.bz2
tar xjf r8168-8.009.00.tar.bz2
cd ./r8168-8.009.00

Compile el código. Esto fallará si no están instalados las cabeceras del núcleo y otras características (gcc, linux-headers, etc.)

make clean
make modules
make install

Asegurese de que el sistema no puede usar el módulo viejo (R8169)

echo -e "\nblacklist r8169\n" >> /etc/modprobe.d/blacklist
mv /lib/modules/$(uname -r)/kernel/drivers/net/r8169.ko{,.bak}

Informe al sistema operativo que existe el módulo nuevo:

depmod
insmod ./src/r8168.ko

Inserte el módulo en el initrd para que la tarjeta funcione cuando se arranque el pc:

mv /boot/initrd.img-$(uname -r){,.bak}
mkinitramfs -o /boot/initrd.img-$(uname -r) $(uname -r)

Reinicia!

shutdown -r now

Antes de salió el código 8.008.00, se necesitaba parchearlo antes de compilar. Si hay algún razón ridículo para que usted quiere usar el viejo código, se puede encontrar el script viejo aquí.

Ver También

Locaciones de bajar el código fuente del Realtek RTL8168/RTL8111:

Foros que discuten el tema:

7 responses to “Script Bash para solucionar Realtek r8168 en Ubuntu Hardy (Español)”

  1. anubis says:

    Muchísimas gracias por el tutorial!
    Al principio me dio errores el script, y probé el método manual, hasta que me di cuenta de que habia un paso en el cual se me pedía tener instalado el paquete ‘patch’ que no viene por defecto al parecer.

    Lo instalé, y ejecuté el script tal y como pusiste y sin problemas!
    Muchísimas gracias por tu trabajo 😉

  2. Jose says:

    ¡¡Muchísimas gracias por este script!! Funciona perfectamente, por fin puedo tener el sistema actualizado y con red.

    Por cierto, al instalar algunas actualizaciones me quedé sin red otra vez, pero el script volvió a arreglarlo 😉

    Un saludo y ¡muchas gracias!

  3. Ignacio Villarino says:

    Después de varios días naufragando por los foros, tu propuesta en la que funciona para mi caso con SuSE 11 32 bits ( SuSE 11 de 64 bits no da el problema).

    Muchísimas Gracias.

  4. AItor says:

    Muchas gracias por el script!!! Buen trabajo! 🙂
    Ha funcionado a la perfeccion y e solucionado mis problemas con esta tarjeta de red!
    Saludos

  5. Comte Mal says:

    Como ya han hecho los demás, agradecerte el trabajo y las molestias que te has pegado.
    El script me ha ido a la perfección.

    ¡ Gran curro! ( Great work!) 🙂

    Y muchas gracias por tomarte la molestia de traducir tu apunte al español.

    Saludos!

  6. Jorge says:

    Agradecido infinitamente me funciono a la perfecion en Ubuntu 13.04 64Bits.

    Saludos

  7. Frank says:

    Hola, ¿que debo cambiar si uso en kernel 3.2.0-4-686-pae y el driver de realtek es el r8168-8.030.00.tar.bz2.?

    Gracias

Leave a Reply