6.18.2009

Kernel 2.6.30 en Debian Lenny 5.0.1 (soporte para chipset RTL8187b) y Wicd

Hay ocasiones en que el kernel de nuestro linux no incluye soporte para cierto hardware, pero que una versión más actual si. Esto me pasó este último tiempo al comprar un adaptador wifi usb Encore ENUWI-G2 que funciona con el chipset Realtek RTL8187b. El linux que usaba (Mint 5) llevaba un kernel 2.6.24 y en el proceso de intentar hacerlo funcionar (ndiswrapper, wireless-compat) me enteré de que a partir de la versión 2.6.27-5 empezó a tomar buena forma el soporte wireless. Y como justamente por este proceso mi pobre Elyssa quedó duramente afectada :S decidí probar con la tan esperada última versión de Debian: Lenny y así tener wifi en mi querido Tux.

Descargé el DVD 1 por BitTorrent (pesa 4.3Gb) desde XP y lo instalé. Pero hay un inconveniente, esta versión estable tiene un kernel 2.6.26. Por lo que primero sería instalar un kernel del 2.6.27-5 en adelante, esto se puede lograr de dos maneras: compilando manual o a la manera debian. Por ahora sin entrar en detalles, lo que debemos destacar de la manera debian es que el proceso de compilación nos entrega paquetes .deb de nuestro nuevo kernel, por lo que la instalación del mismo es más confiable y sencilla.

Buscando información sobre el proceso de compilado y detalles que se deban saber para el kernel 2.6.30 me encontré con los paquetes .deb ya preparados para equipos generales (genéricos). Y como la prioridad era ver si este nuevo kernel soportaba correctamente mi adaptador wifi, opté por ahorrarme el tiempo y elegí el camino facil :)

Lo primero es descargar los paquetes linux-image y linux-headers que correspondan a nuestra arquitectura de kernel.ubuntu.com.
Luego en la ubicación donde los hallamos guardado ejecutamos lo siguiente como root:

#dpkg -i *
IMPORTANTE! El comando anterior lo usamos solamente si en la ubicación se encuentran únicamente los dos paquetes del kernel, de lo contrario instalamos primero linux-image y LUEGO linux-headers.

Si como en mi caso, la instalación es nueva y no disponemos de conexión alguna, debemos instalar primero el paquete wireless-crda para cumplir la dependencia, es un paquete de Ubuntu pero 100% compatible para Debian.
Cuando termine el proceso, reiniciamos y listo. Debemos ver una nueva entrada en el GRUB perteneciente al nuevo kernel. Iniciamos con este y vemos si todo marcha a la perfección. Si no, reiniciamos y seleccionamos el kernel anterior.

Si todo ha salido bien, como en mi caso :) probablemente veremos que el Enuwi-g2 anda mejor que en windows!!
La recepción es excelente y sin drivers de winsuks emulados.

Para darle un toque final al asunto, en mi caso el gnome-network-manager y el nm-applet no me gustan mucho, siento que se demoran mucho en levantar la interfaz y establecer la conexión. Programas que realicen la misma función y más hay unos cuantos, realmente no se mucho de ellos ya que es la segunda vez que uso wifi en linux y la primera en donde el equipo es mio xD. Pero googleando por ahí me encontré con Wicd que por lo que he leido en foros y otros sitios, le dan buenos comentarios y al ver que tiene instalación por repositorios, pues es cuestión de una línea ;)

Como dice en la página oficial, podemos acceder a Wicd a travez de los repositorios de Debian Squeeze (testing) y Sid (unstable), pero para los que preferimos mantenernos en la línea Lenny (stable) tenemos la opción de usar los backports. Así que editamos el archivo sources.list y añadimos el repositorio (como root).
#gedit /etc/apt/sources.list
añadimos, guardamos y salimos:
deb http://www.backports.org/debian lenny-backports main contrib non-free
actualizamos los repositorios:
#apt-get update
y finalmente instalamos wpa_supplicant para tener soporte de seguridad inalámbrica (WEP, WAP, etc) y finalmente wicd:
#apt-get install wpa_supplicant
#apt-get -t lenny-backports install wicd

Reiniciamos para que se vuelvan a cargar los servicios (no se hacerlo por init :S ) y listo. Ahora puedo nuevamente postear desde mi querido Tux y en kernel nuevo.

Saludos!!
Powered by ScribeFire.