lunes, 10 de enero de 2011

Wifi en Ubuntu


Wifi UbuntuEs muy común que los dispositivos de red inalámbricos marcaAtheros no funcionen correctamente en las diferentes distribuciones Linux que existen, pero es aun mas común que ese caso se de en Ubuntu, que siempre ha mostrado un muy pobre soporte para este tipo de dispositivos.
Algunas veces los problemas de Wifi en Ubuntu se resuelven fácilmente, otras es prácticamente imposible hasta el punto de llevar a algunas personas a cambiar de distribución solamente para poder usar su Wifi.
Una de las soluciones más radicales y que normalmente funciona en todas las distribuciones, es instalar el paquete de drivers libres MadWifi, mantenido por un grupo de desarrolladores voluntarios que han logrado dar el soporte a los dispositivos Atheros, a los cuales ni el kernel de Linux ni el mismo fabricante han querido dar.
Para comenzar a compilar e instalar el paquete de drivers debes verificar que tu kernel sea posterior al kernel 2.6.29. Esto puedes verificarlo fácilmente ejecutando la siguiente linea en la terminal:
uname -r
Si tienes un kernel compatible lo siguiente es descargar la versión current o la ultima versión estable desde los siguientes enlaces:
Abrimos la terminal, nos dirigimos al directorio donde descargamos el archivo .tar.gz y ejecutamos el siguiente comando para descomprimir el archivo (en mi caso, voy a utilizar la versión current de MadWifi):
tar -xvzf madwifi-trunk-current.tar.gz
Nota: si utilizas Ubuntu 10.10 Maverick Meerkat debes descargar la versión current o MadWifi no reconocerá la versión del kernel y no te será posible instalar el paquete de drivers.
Entramos al directorio resultante ejecutando:
cd madwifi-trunk-r4132-20101222/
Ahora vamos a compilar e instalar MadWifi en Ubuntu, pero primero debemos asegurarnos de tener instalado los kernel headers y los paquetes esenciales de compilación. Para eso, ejecutamos la siguiente linea en la terminal y de ser necesario instalamos los paquetes que faltan:
sudo apt-get install build-essential
Una vez instalados, vamos a compilar MadWifi ejecutando los siguientes comandos en el terminal:
sudo make
sudo make install

Ya tenemos instalado el paquete de driver MadWifi en nuestro Ubuntu, lo que sigue es agregar el moduloath_pci al kernel.
Para editar el archivo /etc/modules vamos a utilizar Gedit ejecutando la siguiente linea en el terminal:
sudo gedit /etc/modules
Veras un texto similar al siguiente:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp

Dirigete hasta la ultima linea y agrega ath_pci al final del archivo resultando en algo como esto:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
ath_pci

Muy bien, ahora guarda y cierra el archivo abierto con Gedit.
El modulo se puede activar reiniciando el sistema o ejecutando la siguiente linea en la terminal (para mayor seguridad, mejor reinicia tu equipo):
sudo modprobe ath_pci
Espero que cualquier problema que hayas tenido con tu red Wifi  en Ubuntu u otra distribución se solucione con este paquete de drivers. Por favor cuentanos tu experiencia.

2 comentarios:

  1. Hola:

    he seguido tu blog con la esperanza de poder revivir mi alicaída conexión inalámbrica. Trabajo sobre un laptop acer aspire 4520 que, desdichadamente, tiene un chipset atheros para tales conexiones. Estoy sobre natty de 64 bits. Hasta la versión 2.6.32* no tuve problemas con la conexión (maverick). Posteriormente, nada. Pensé que en nattu Canonical se iba a preocupar, tampoco, nada. Tengo instalado un controlador aletrnativo atheros (supongo que es el trunk), está habilitado y activo, pero en la conexión no veo la conexión inalámbrica "liberada". ¿Alguna sugerencia adicional? Gracias por la ayuda.

    ResponderEliminar
  2. Prueba con la herramienta rfkill. Es muy facil de usar. Esto te permite verificar si existe un bloqueo por parte de software o de hardware en tu equipo, y hacer el desbloqueo respectivo. Aqui te dejo el enlace http://linuxwireless.org/en/users/Documentation/rfkill Suerte

    ResponderEliminar