01 abril 2008

Livebox en Ubuntu

Hoy traigo un artículo, espero que de interés para la comunidad. Hace unos meses instalé ese armatoste denominado Livebox por los distribuidores de adsl Orange. Además de ser bastante feo es enorme [vamos que no hay forma de camuflarlo en sitio alguno] y me dio más de un quebradero de cabeza, llamadas a soporte incluidas [el famoso 902 de las narices]. Finalmente logré conectar con cable de red ethernet, con más trabajo que nada, pero ese fue el primer paso. Ya tenía conexión.

Seguidamente le tocó el turno a los demás equipos wifi de la casa. Un detalle de vital importancia: para activar cualquier tarjeta inalámbrica que pretendamos conectar al router wifi, debemos pulsar inmediatamente antes el famoso botoncito Nº 1 del lateral del Livebox, lo que nos permitirá enlazar con nuestro equipo wifi y así entrar en la red inalámbrica Livebox. Eso no fue mucho problema para el portátil que usa chipset Atheros ni para los otros equipos con chipset rt61 e ipw3945. La verdad que este mecanismo de seguridad por hardware se me antoja bastante adecuado para evitar que algún vecino se nos cuele en la red sin nuestro permiso.

Ahora la dificultad estaba en el dispositivo wifi usb que acompaña al pack de Orange y que quería hacer funcionar con Ubuntu Feisty. Probé de mil maneras, con drivers para Linux, intersil, prism54 y no sé que más y tras muchas vueltas encontré una solución.

La "tarjetilla" usb que trato de instalar es una Inventel UR054G (R01) v1.1 con ID 1435:0427 y que puedes comprobar conectándola en tu equipo y ejecutando en terminal el comando lsusb.

Para configurarla he probado de todo, ya que monta un chipset de la familia Prism54, y de hecho en el kernel creo recordar que se cargaban los módulos islsm y los prism54usb que no funcionan adecuadamente [hablo de memoria pero la cosa va por ahí, así que ejecutando el comando lsmod sabremos exactamente cuáles son los que corresponden]. La he probado con Gutsy y funciona con los drivers nativos [creo que eran los p54usb] pero al rato se cuelga el equipo. Así que, igualmente recomiendo Ndiswrapper, que tan buenos resultados ha demostrado con Feisty.

Me decidí por Ndiswrapper y todo ha funcionafo de forma muy estable. Procedí a editar como root el archivo /etc/modprobe.d/blacklist con el comando gksudo gedit /etc/modprobe.d/blacklist y añadí las siguientes líneas de texto:

# tarjeta usb inventel con chipset prism54usb
blacklist islsm_usb
blacklist islsm_device
blacklist islsm
blacklist islsm_pci
blacklist crc_ccitt

# tarjeta usb inventel con chipset prism54usb
blacklist prism54usb
blacklist prism54common

Si tu caso fuese el famoso del Thomson TG123g, que al parecer usa el chipset rtl8187 [busca y trata de localizarlo con el comando lsmod e intenta bloquear la carga del mismo como he explicado anteriormente añadiéndolo a la "lista negra", ya que de lo contrario te puedes encontrar con dos módulos intentando gestionar la tarjeta y eso no te funcionaría].

Si deseas usar Ndiswrapper bajo Ubuntu Gutsy [conozco usuarios que lo han probado y les funciona correctamente], debes añadir al archivo blacklist una nueva línea con el contenido blacklist p54usb. Sospecho que igual es necesario una segunda línea extra, blacklist p54common. Así evitamos que se cargue el módulo que gestiona la tarjeta en esta versión de Ubuntu, con lo que tendremos disponible el módulo de Ndiswrapper listo para ser instalado en el núclñeo de nuestro sistema. Esto lo comento para aquéllos usuarios que, como es mi caso, la tarjeta se les cuelga después de estar funcionando un buen rato.

Ahora estoy probando Ubuntu Hardy 8.04 64-bit y he añadido al mencionado archivo de la "lista negra" las dos líneas antes comentadas:

# tarjeta usb inventel con chipset islsm
blacklist islsm_usb
blacklist islsm_device
blacklist islsm
blacklist islsm_pci
blacklist crc_ccitt

# tarjeta usb inventel con chipset prism54usb
blacklist prism54usb
blacklist prism54common

# tarjeta usb inventel con chipset p54usb
blacklist p54usb
blacklist p54common

Supongo que en Ubuntu Hardy sólo se necesitan estas dos últimas líneas para evitar la carga del driver, ya que funciona desde un principio pero al rato se vuelve inestable y deja de funcionar la red wifi.

Guardo los cambios, reinicio el sistema e instalo Ndiswrapper [si dispones de conexión, usa Synaptic e instala los tres o cuatro paquetes que te aparecen, ya que Ndisgtk te puede ayudar a instalar el driver si eres novato en esto de Linux]. Si no dispones de conexión en el equipo, habilita como repositorio el propio CD de Ubuntu que creo recordar los tiene disponibles [desde Synaptic entras en el menú Configuración > Repositorios y marcas la opción "Instalable desde CD-ROM/DVD"]. O si lo prefieres puedes bajarte los paquetes desde los repositorios oficiales de Ubuntu vía navegador e instalarlos posteriormente. Ojo, que la versión para Feisty es la 1.38 y no te garantizo que cualquier otra te vaya a funcionar. También puedes compilar el módulo desde las fuentes.

Ahora cargo el driver para Windo$ del CD de Livebox [en concreto en la carpeta de drivers llamada Prism y seleccionamos aquéllos que se corresponden con prisma02]. Búscala y la copias con los tres archivos que contiene a tu escritorio Ubuntu e instálalos usando la aplicacción Ndisgtk, disponible en el menú "Sistema > Administración > Windows Wireless Drivers". Si quieres seguir una guía sobre cómo instalar desde Ndiswrapper, busca en la receta que yo mismo usé [cómo instalar driver con Ndiswrapper].

Configurado el dispositivo usb wifi, debes conectar con la señal de Red desde el menú principal Sistema > Administración > Red. Ojo con el tipo de cifrado, wep, wpa y las claves. Yo lo tengo con cifrado wpa [más seguro] y funciona sin problemas, aunque te digo que me costó bastantes horas de quebrarme la cabeza con el puñetero [1ª acepción del diccionario Real Academia de la Lengua] dispositivo. Cuando quieras lanzar la conexión debes pulsar el "botoncito 1" que está en el frontal del Livebox [de los dos que hay, creo que era el de la izquierda]. Este interruptor de hardware [es una buena opción para proteger tu red de invitados no deseados] y ahora lanzas la conexión desde tu sistema Ubuntu para la tarjetilla usb mencionada al principio.

Ubuntu Hardy Heron, ¿32 ó 64-bit?

Bueno, pues me decidí por la opción de 64-bit. Ya se sabe, más potencia y mejor rendimiento. Pero mi gozo en un pozo. No encontré el driver por ningún lado. Ni siquiera en el sitio oficial de la tarjeta wifi usb, Inventel UR054g. Lo intenté con un supuesto driver para 64-bit que encontré en el CD y el sistema se me "colgó". Reinicié y un estupendo "kernel panic" me hizo desistir del invento. No hubo forma de arrancar ni siquiera a prueba de errores (recovery mode).

Así que voy a esperar un par de días para instalar la versión definitiva de Hardy Heron en su modalidad de 32-bit y ya os cuento.

Y como ya han pasado bastantes días pues os comento cómo marcha todo. Efectivamente, instalé la versión de 32-bit y todo volvió a la normalidad. El driver p54usb no es lo suficientemente estable para manejar la conexión, aunque reconozco que va bastante bien [hasta que dice basta y no responde más que con una desinstalación y posterior reinstalación en caliente]. Así que instalo el driver prisma02 bajo Ndiswrapper y todo perfecto. Sólo un pequeño detalle. Cuando entro en mi escritorio Gnome, debo reiniciar los servicios de red desde un terminal mediante el comando sudo /etc/init.d/networking restart y conecta de forma estable sin dificultad. Supongo que bastaría crear un pequeño script y ejecutarlo al inicio, una vez que se cargan todos los módulos y servicios para entrar al sistema con la conexión puesta.

Suerte y a por todas