Mostrando entradas con la etiqueta wifi. Mostrar todas las entradas
Mostrando entradas con la etiqueta wifi. Mostrar todas las entradas

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

16 septiembre 2007

Compilar rt73 en Linux

Esta miniguía pretende servir para compilar y cargar el módulo rt73 bajo Guadalinex v4 y Ubuntu Edgy o Feisty. Antes debes comprobar que la tarjeta monta ese chipset, lo cual es tan fácil como usar en un terminal el comando lsusb y comprobar los dígitos que identifican al mismo. Se trata de un número del tipo 050d:705a y que mediante una sencilla búsqueda en Internet te indicará cuál es exactamente el chipset que monta la tarjeta.

Si tu tarjeta monta el chipset rt73 de Ralink, para hacerla funcionar en Ubuntu Edgy/Feisty o Guadalinex v4 hay que salvar un problema previo. Ubuntu/Guadalinex trae precompilado el módulo rt73usb que debería hacer funcionar la tarjeta, aunque, por algún problema que desconozco, realmente no sirve para nada; es más, no solo no vale sino que además incordia. Si no, Ubuntu sería casi perfecto. Además del módulo rt73usb, también se cargan otros módulos [rt2570 y rt2x00lib], por lo que te sugiero hagas lo siguiente:

Desinstala el módulo que tiene Ubuntu/Guadalinex por defecto:

sudo rmmod rt73usb

Para que no vuelva a cargar ese módulo en el arranque, modifica el archivo /etc/modprobe.d/blacklist, lo que puedes hacer con el comando gksudo gedit /etc/modprobe.d/blacklist y añade las siguientes líneas:

blacklist rt73usb

blacklist rt2570

blacklist rt2×00lib

Antes de proceder a instalar los drivers, los usuarios de Ubuntu deben descargar e instalar las cabeceras del kernel o headers y el paquete build-essential. Yo me he basado en la receta propuesta en el blog Diario de un nómada y ahí se realiza usando el terminal desde Linux bajo una conexión a Internet mediante el comando sudo apt-get install build-essential linux-headers-`uname -r`pero si no dispones de conexión debes ingeniártelas para realizar la instalación. Afortunadamente, los usuarios de Guadalinex no tenemos este problema, ya que las cabeceras vienen instaladas de serie.

Si no estuvieran instalados estos paquetes, y en el supuesto de que no tengamos conexión a internet, lo más fácil es instalarlos desde el CD de Ubuntu/Guadalinex. Introducimos el CD y el cuando el sistema nos pregunte si deseamos abrirlo con el gestor de paquetes Synaptic, aceptamos. Otra opción pasa por abrirlo desde el propio Synaptic, desde el menú Sistema > Administración > Gestor de paquetes Synaptic y una vez abierto el programa vamos al menú Configuración > Repositorios y seleccionamos añadir CD. Confirmamos y pulsamos después el botón Recargar, con lo que aparecerán en la pantalla todos los paquetes instalados y los que podemos instalar desde el cd.

Buscamos build-essential y linux-headers y los marcamos para instalar [en el caso de las cabeceras se deben seleccionar dos paquetes, que pueden ser linux-headers-2.6.20-15-generic y linux-headers-2.6.20-15 u otras versiones posteriores]. Finalmente validamos con el botón Aplicar y aceptamos.

Ahora te bajas los drivers para Linux del sitio SerialMonkey. Los descargas en tu directorio de trabajo, supongamos que fuese /home/tu_usuario y por tanto para extraerlos abre un terminal y ejecuta el comando tar -xvzf rt73-cvs-daily.tar.gz y seguidamente observa desde el navegador de archivos (Nautilus) que se te ha creado una carpeta llamada rt73-cvs-200709****, en donde los asteriscos corresponden al día y hora de la versión, 2007 es el año y 09 el mes [como ves, dependiendo de la fecha, así será el nombre del archivo]. Bien, entra en esa carpeta desde el terminal usando el comando cd rt73-cvs-200******* [en lugar de asteriscos escribes los números que correspondan]. Es más, si escribes en terminal cd rt+tecla tabulador, se autocompleta el nombre [truquillo muy útil para el terminal]. Entra ahora en la carpeta /Module con el comando cd Module, aunque podías haberlo hecho de una sola vez con el comando cd rt73-cvs-200*******/Module/

Ahora ejecuta uno tras otro los siguientes comandos:

make

strip -S rt73.ko

sudo make install

Por último hay que cargar el nuevo modulo con el comando

sudo modprobe rt73

Para que arranque el sistema con este módulo siempre cargado debes abrir el archivo /etc/modules con el comando gksudo gedit /etc/modules y añade una línea al final del archivo que acabas de abrir, en concreto añadirás rt73 y guardas el archivo con los cambios introducidos.

Se supone que ya deberías poder configurar la conexión, para lo que tendrás que ir al menú Sistema > Administración > Red y si no fuese posible conectar, hay que hacer algunas cositas más.

Se puede saber si ha cargado el módulo con el comando lsmod y el estado de la interfaz wifi con el comando iwconfig.

Es muy importante que si algo no sale, copies los mensajes de error que te envía el sistema y los estudies detenidamente. Si has conseguido completar este proceso sin errores estás a punto de ver la luz; y si te has equivocado en algo, ya intentaremos descubrir lo que fue mal.

Si a pesar de todo no logras configurar la conexión, es posible que el nombre wlan0 [e incluso wlan1] asignado a rt73, no sea compatible con tu sistema, por lo que puedes crear un alias como te propongo a continuación, pero antes observa el comentario que encontré en el sitio de Ubuntu:

I then added in /etc/modules the line "rt73" and in /etc/modprobe.d/rt73 "alias rausb0 rt73" and removed the obsolete /etc/modprobe.conf created by make install.

Si cuando ejecutas el comando iwconfig aparece en la primera línea wlan1... [a veces puede aparecer como wlan0] Ejecuta el comando gksudo gedit /etc/modprobe.d/aliases y añade al final la siguiente línea, alias rausb0 rt73. Seguramente debas eliminar /etc/modprobe.conf como indica la nota anterior y no olvides que también podrías crear el alias como se indica ahí mismo, añadiendo en /etc/modprobe.d/rt73 una línea con el contenido alias rausb0 rt73.

Si te conectas por DHCP ejecuta en un terminal el comando sudo dhclient rausb0. Pero si te conectas con IP estática, ejecuta en un terminal el comando sudo ifconfig rausb0 aquí_tu_IP up.

Reinicia el equipo y ya está. ¿Puedes configurar ahora la conexión con tu dispositivo wifi? Así lo espero.


Enga, hasta pronto.

27 febrero 2007

Tarjetas Compatibles (II)

Esta tarea que se antoja sencilla en la mayoría de los casos, puede darnos más de un quebradero de cabeza. Es más, dependiendo de la distribución que hayamos instalado en nuestro equipo, podemos encontrarnos con la agradable sorpresa de que la tarjeta puede funcionar, simplemente, con la introducción de los datos de configuración de la red inalámbrica. Pero, en otros muchos casos, es posible que tengamos que vérnoslas con uno de los mayores tabúes de Linux: la compilación.

Desde aquí animo a los novatos en este sistema operativo a intentarlo. En mis inicios tuve necesidad de compilar no sólo los drivers para un infame aparato, mal conocido como winmodem, sino que hube de enfrentarme a la compilación del kernel o núcleo de Linux cuando usaba Guadalinex 2004, basada en Debian Sarge. Fue mi primera gran experiencia y debo decir que me resultó especialmente grato. Para los que mecesiten saber cómo hacerlo les invito a visitar los foros de Guadalinex, un sitio donde suelo estar con asiduidad.

¿Cómo compilar el driver?

Ahora bien, si lo que pretendemos es compilar nuestro propio driver de Linux a partir de las fuentes obtenidas del fabricante [o, muy frecuentemente, de las que nos hemos bajado del sitio del equipo de desarroladores del driver libre], debemos, al igual que con otras muchas compilaciones, instalar previamente las cabeceras [headers] y/o las fuentes [source] del kernel correspondiente a la versión del núcleo de Linux instalado en nuestro sistema. Cada distribución tiene su propio método de instalación y conviene consultar los manuales o guías donde se detalla cómo hacerlo. En mi caso, voy a explicar cómo proceder si usamos una distribución basada en Debian [si estuviese basada en Ubuntu, procedemos de idéntica forma, pero cuando se haga referencia un comando que deba usarse como root, se antepondrá a la sintaxis del mismo el prefijo sudo].

  • Las cabeceras o headers del kernel suelen encontrarse como linux-headers o kernel-headers. Para saber exactamente la vesión que debemos descargarnos, podemos consultar en un terminal la versión exacta del kernel de Linuz mediante el comando uname -a. Suelen venir en el cd de instalación de la dsitribución y también se pueden descargar de los repositorios usando el programa Synaptic o desde un terminal mediante el siguiente comando como root [está claro que las cifras X.Y.z se corresponden con valores particulares en cada caso]:
apt-get install kernel-headers-2.X.Y-z
  • Para bajar la fuentes del kernel [kernel-source o linux-source, según la distro usada] de la misma versión del núcleo que tenemos instalado, podemos usar, igualmente, Synaptic o tiramos de línea de comando, como se ha explicado con las cabeceras, pero sustituyendo headers por source. Si no las encontramos, se pueden bajar del sitio http://kernel.org , con la diferencia que en el primer caso se crean de forma automática dos enlaces simbólicos que apuntan ambos al directorio /usr/src/linux-2.X.Y [donde X.Y se corresponden con la versión del kernel instalada] y en el segundo debes desempaquetar los paquetes en el directorio /usr/src y crear los enlaces simbólicos como root con el siguiente comando:
ln -s /usr/src/linux-2.X.Y /lib/modules/version-kernel/build
ln -s /usr/src/linux-2.X.Y /usr/src/linux

Seguidamente, y una vez que nos hemos bajado los drivers de la tarjeta, debemos seguir las instrucciones que se acompañan, normalmente en un archivo de texto llamado readme, para proceder a la compilación e instalación del driver. Son dos o tres pasos sencillos que no deben ser causa de mayores problemas. En el peor de los casos, si ocurre algún error, el sistema nos devuelve un mensaje en el que se nos indica el origen de aquél.

¿Cómo instalar el driver?

Finalmente, y una vez que tenemos el driver compilado y el módulo que gestiona el uso de la interfaz inalánbrica o wifi, sólo queda cargarlo en el kernel y configurar la conexión. Para cargar el módulo, ya sea compilado por nosotros mismos o bien porque lo trae precompilado la distro que estemos usando [por ejemplo, Guadalinex v4, basada en Ubuntu Edgy, trae compilados los módulos de bastantes tarjetas, por lo que tiene un magnífico nivel de reconocimiento de hardware], simplemente hay que ejecutar como root [anteponer sudo para distros basadas en Ubuntu] el comando modprobe modulo_tarjeta. Con esto cargamos en el kernel el módulo que se encarga de hacer que nuestro sistema se entienda con el dispositivo inalámbrico [wifi]. A veces, se requiere editar como root el archivo /etc/modules y añadir al final del mismo una nueva línea con el nombre del módulo que gestiona nuestra tarjeta. Yo suelo usar como editor de texto Gedit, por lo que procedemos a abrir un terminal y ejecutamos el comando gedit /etc/modules, añadimos al final una nueva línea con el nombre del módulo que gestiona nuestra tarjeta. Para comprobar que nuestro driver ha sido cargado, podemos leer el informe de módulos del kernel cuando ejecutamos en un terminal el comando lsmod.

¿Qué drivers vienen precompilados con nuestra distro?

Lo mejor es informarse en el propio cd de instalación, en los foros y en nuesto sistema recién instalado antes de hacer nada. Voy a comentar algunos chipsets junto a los módulos que usan habitualmente:

  • Atheros. El más común de los chipsets de atheros es el ar5212, que funciona con el driver de Madwifi. En Ubuntu Edgy se debe instalar el paquete "linux-restricted-modules" [está motivado porque parte del código que gestiona el uso de la tarjeta no es libre] o bien debemos bajarnos los drivers del sitio http://madwifi.org/ y compilarlos. Guadalinex en sus versiones 3 y 4 los trae compilados y se cargan automáticamente, aunque si fuese necesario cargarlos en el núcleo, basta con ejecutar como root el comando modprobe ath_pci.
  • Ralink. Este fabricante se ha distinguido por liberar el código de sus tarjetas inalánbricas y es, actualmente, una de las mejores opciones de compra. Habitualmente el chipset recibe el mismo nombre o similar que el módulo que lo gestiona. En Guadalinex v4 y Ubuntu Edgy encontramos precompilados los módulos rt2500, rt2570, rt61 y rt73. Una simple búsqueda en nuestro sistema, desde un terminal, con el comando locate rt* nos devuelve la lista de módulos disponibles cuyo nombre empieza por rt. Otra posibilidad es usar en terminal como root el comando modprobe -l | grep "modulo" [el nombre del módulo admite comodines con * y debe ir entrecomillado]. Según he leido, el módulo rt61 no funciona en Edgy, por lo que se debe compilar desde las fuentes [Ubuntu-es], aunque los usuarios de Guadalinex v4 no necesitamos instalar las cabecerasw/headers. Respecto al módulo rt73, si se trata de un dispositivo usb requiere instalar el firmware en el directorio /etc/Wireless/RT73STA [si no existe debe crearse como root], después de haber renombrado el archivo rt73.bin como rt73sta.dat. Si no logras que funciones, quizás debas compilar un nuevo módulo, para lo que te aconsejo seguir esta receta. En el sitio de Ralink y, mejor aun, en el Open Source rt2x00 podemos encontrar más información.
  • Zydas. Fabrica los muy conocidos zd1211 y el menos común zd1201. El zd1211 está presente casi exclusivamente en dispositivos USB y el módulo que lo gestiona, al igual que el zd1201, tiene el mismo nombre que el chipset. Puede obtenerse más información para los drivers de zd1211 y para los de zd1201 en los sitios respectivos. Encontramos compilados ambos módulos en las últimas distribuciones de Linux, particularmente en Guadalinex v3 y v4, por lo que su carga en el sistema es inmediata y sencilla. Sin embargo, parece que en algunos casos, particularmente el zd1211, está dando problemas, por lo que deberás compilar el driver siguiendo las instrucciones del paquete oficial o como se indica en el sitio de Ubuntu Francófono. Como última opción tenemos la de usar Ndiswrapper.
  • Prism54. Es otro de los chipsets que tienen drivers bajo Linux y cuyo módulo respectivo, prism54, está disponible en las versiones mencionadas, al igual que en la mayoría de distribuciones de Linux. Se puede obtener más información del driver en http://prism54.org/. Un caso particular, es el de la tarjeta Senao 3054 ub5 [dispositivo USB Amper de Telefónica de España]. Se ha puesto a punto con Ndiswrapper, aunque no descarto que pueda usarse los drivers de Linux.
  • Intel/IPW. Se vienen usando los chipsets de Intel Pro Wireless, IPW, frecuentemente integrados en numerosos equipos portátiles. Dispone de drivers libres enel sitio de SourceForge para tres modelos diferentes de chipset, el más antiguo ipw2100, el más habitual ipw2200 y el más reciente ipw3945. Algún problema con el firmware en versiones más antiguas complicó su instalación en cierta medida. En el sitio de Guadalinex se explica cómo instalar y compilar ipw2100 y 2200. En cambio para hacer funcionar tarjetas que montan el chipset ipw3945, en Guadalinex v4 disponemos del módulo ya compilado que permite levantar la conexión, incluso arrancando el equipo desde el Live-CD.
  • ACX100/ACX111. El fabricante Texas Instrument [TI] ha conseguido un buen producto con drivers libres que gestionan estas tarjetas, pero en Ubuntu y Guadalinex están dando problemas, por lo que queda el recurso de compilar un nuevo driver o en su defecto usar Ndiswrapper. Se pueden descargar las fuentes del driver y encontrar más información en ACX100 de Sourceforge y en Craig's [para versiones del kernel anteriores a la 2.6.14].
  • Realtek 8180. Una nueva familia de chipsets basados en el 8180 está siendo soportada por Linux. En el sitio de Realtek en SourceForge se encuentra información del proyecto para la familia del rtl8180. En la sección de descargas del sitio oficial de Realtek podemos encontrar drivers para este chip de Realtek.
  • Broadcom. Ha creado una nueva generación de chipsets compatibles con Linux y reconocidos como bcm43xx. Dispone del módulo que la gestiona pero requiere la instalación de firmware propietario, por lo que no es instalada automáticamente. En el sitio de Fentlinux se nos explica cómo usarla con sus propios drivers y con Ndiswrapper.
  • Prism2/2.5/3. Son de las más veteranas entre las tarjetas compatibles y suelen dar cobertura a las más que difíciles conexiones por USB. Más información a través del proyecto Linux-wlan-ng, aunque lleva parado desde el año 2004 por ser material obsoleto que usa el protocolo 802.11b. Caso particular es el de la Amper - Senao SL-2511CDPLUS EXT2 por PCMCIA y la Senao SL-2511UB por USB, ambas de Telefónica y, por tanto, muy populares entre bastantes usuarios. Recomiendo visitar los foros de Guadalinex para saber cómo instalarlas.
  • Atmel. Es también uno de los fabricantes más veteranos y dispone de productos que funcionan exlusivamente con el protocolo 802.11b. En casi todas las distros de Linux se incorporan drivers libres, bajo el proyecto AT76C502. En el sitio de SourceForge se da cobertura a otro proyecto para Linux. Material muy fiable pero clasificado como obsoleto.
Hay algunos chipsets que me he dejado en el tintero [ufff... menos mal... este capítulo se me está haciendo larguísimo, quizás porque he tenido que escribirlo íntegramente desde el principio y he debido reorganizar toda la información], ya que éstos son los que me resultan más conocidos y frecuentes. Dejo en vuestras manos añadir los que falten.

Debo decir que la mayoría de las tarjetas que montan alguno de los chipsets mencionados [casi me arriesgo a decir que todas], funcionan con Ndiswrapper, pero hay que hacer antes una pequeña correción. Se debe editar como root un archivo llamado blacklist [buscar en /etc/hotplug/blacklist para Guadalinex v3/Breezy o en
/etc/modprobe.d/blacklist para Guadalinex v4/Edgy] y añadir una línea al final del texto con el nombre del módulo que haría funcionar el chipset de la tarjeta en v3 y el término blacklist seguido del nombre del módulo para la v4. Con ello conseguimos que no se vuelva a cargar en el inicio del sistema y así evitamos que interfiera con la carga del driver de Ndiswrapper. También nos aseguraremos de descargar el módulo usando como root [ubunteros, recordad el uso de sudo] el comando rmmod nombre_modulo.

El próximo capítulo estará dedicado a la instalación de Ndiswrapper.

¡¡¡ Hasta pronto !!!

;-)

26 febrero 2007

Tarjetas Compatibles (I)

Este es el primero de una serie de tres artículos dedicados a explicar qué dispositivo inalámbrico conviene elegir para conectar nuestro equipo vía wireless usando el sistema operativo Linux. En este primer número trato de explicar cómo elegir la tarjeta adecuada para que funcione en nuestro flamante sistema operativo del pingüino. En el segundo número explico cómo instalar las diferentes tarjetas compatibles, según el chipset que puedan montar. Finalmente, en el tercero, explico un procedimiento muy ingenioso para hacer funcionar con Ndiswrapper aquéllas tarjetas que no son compatibles [o que, simplemente, no somos capaces de hacerlas funcionar con sus respectivos controladores bajo Linux].

Mi experiencia
con este tipo de dispositivos inalámbricos [comúnmente conocidos como wifi] ha sido más que satisfactoria, aun a pesar de que muchos fabricantes no disponen de drivers suficientemente desarrollados para sistemas operativos Linux o, simplemente, no disponen de drivers, situación que resulta cada vez menos habitual.

Existen en el mercado chipsets que vienen dando soporte para Linux desde las primeras versiones [aquéllas que usaban el protocolo 11.b], como los muy conocidos Orinoco o los Prism2/2.5/3. Pero hoy, cada vez son más difíciles de encontrar y la mayoría de las tarjetas que podemos adquirir en el mercado usan el más evolucionado protocolo 11.g, aunque son compatibles con el anteriormente citado 11.b.

Así pues, si estás leyendo este blog es porque tienes necesidad de configurar tu conexión inalámbrica bajo el sistema operativo Linux que, aunque muchos no lo crean, lleva años dando asistencia para este tipo de conexiones. Por tanto, voy a dejarme de rollos y me voy a centrar en la explicación que ocupa este artículo.

¿Qué tarjeta me compro?

Ésta es la primera pregunta que todos nos hacemos antes de agenciarnos ese pequeño dispositivo que nos permite conectarnos casi desde cualquier sitio [siempre que haya una red inalámbrica que nos dé cobertura], en nuestra casa, en el trabajo, en la Universidad, en un aeropuerto e incluso hasta en plena vía pública.

Mi opinión es que miremos antes las ofertas del mercado, ya que la diferencia de precios puede justificar una compra u otra. Además, podemos instalar la tarjeta a un puerto USB [es la opción preferida por la mayoría de compañías proveedoras de acceso a Internet... ¿por qué será?] o a un puerto PCI [como otros tantos dispositivos de nuestros equipos de sobremesa]. Un caso particular es el de las denominadas PCMCIA/Cardbus de muchos ordenadores portátiles y que se podrían englobar entre las de tipo PCI.

Si tenemos la posibilidad de elegir por el tipo de interfaz de conexión y no queremos quebrarnos la cabeza, hay que evitar las de tipo USB, aunque, como comentaré más adelante, su grado de compatibilidad es cada vez mayor.

Una vez que hemos elegido el tipo de interfaz que queremos para nuestra tarjeta, viene la opción más difícil. ¿Qué chipset nos conviene que lleve instalado? Por supuesto, cualquiera que sea compatible con Linux. Y aquí os recomiendo echar un vistazo al sitio Linux Wireless LAN Support, donde se puede consultar el grado de compatibilidad de una tarjeta según el fabricante de la misma [aunque debo decir que, con demasiada frecuencia, los fabricantes modifican el chipset de sus tarjetas sin previo aviso y nos encontramos con un mismo modelo de tarjeta que puede montar dos y hasta tres chipsets diferentes]. Esto nos obliga a comprobar previamente el grado de compatibilidad que pueda tener la tarjeta candidata y, a pesar de todo, comprar el producto con la condición de que si no es compatible con Linux o somos incapaces de hacerla funcionar, podamos devolverla sin ninguna complicación. La mayoría de los comercios nos van a dar estas facilidades, pero conviene hablarlo previamente con el establecimiento elegido.

Ya tengo mi tarjeta. ¿Y ahora qué?

Pues es el momento de pasarle la prueba decisiva. En Linux es muy fácil saber el chipset que monta una tarjeta [en otros sistemas operativos es realmente un misterio]. Me he encontrado con tarjetas que no sólo han sido reconocidas de inmediato, sino que además han salido funcionando sin hacer absolutamente nada. Increíble, pero cierto.

Bien, pues llegado a este punto abrimos un terminal o consola y ejecutamos el comando lspci [ojo, que empieza por ele] si es un dispositivo PCI/PCMCIA o bien lsusb si fuera tipo usb. Aparecerá una lista de los dispositivos conectados al puerto referido. Normalmente vamos a encontrar un extenso informe en el que suele aparecer una línea como la siguiente:

0000:02:00.0 Network controller: Ralink Ralink RT2500 802.11 Cardbus Reference Card (rev 01)

Cuando se trata de dispositivos PCI/PCMCIA [inclusive los de tipo interno que montan la mayoría de los equipos portátiles o laptops], conviene repetir la ejecución del comando con un modificador para que nos informe del código identificativo del chipset. Para ello ejecutamos en el terminal el comando lspci -n y obtenemos un informe en el que se incluye una línea como la siguiente:

0000:02:00.0 0280: 1814:0201 (rev 01)

En este caso, el código respectivo es 1814:0201 que identifica y caracteriza con precisión el chipset respectivo, aunque, afortunadamente, no lo íbamos a necesitar ya que sabíamos a partir del primer informe que se trataba del chipset rt2500 del fabricante Ralink, perfectamente compatible con Linux. Debo decir que el informe del comando lsusb nos proporciona directamente la combinación de ocho dígitos identificativos, aunque si fuera necesaria más información podría ejecutarse lsusb -v.

Una vez que hemos identificado el chipset debemos verificar si tiene drivers compatibles para Linux. Esa búsqueda puede resultar de lo más simple o, por el contrario, volverse de lo más ingrato. Normalmente, si en el informe encontramos un chipset fabricado por Ralink, Atheros, Prism, ACX, IPW, Zydas y algunos otros [llegado a este punto es recomendable mirar en la lista que nos ofrece el sitio de "Linux Wireless LAN Support" mencionado más arriba], estaremos de enhorabuena. Como diría un matemático, se trata de una condición necesaria pero no suficiente, ya que en no pocos casos, nos encontramos con tarjetas que montan chipsets compatibles y que no hay forma de hacerlas funcionar. No todo iban a ser buenas noticias. En el próximo envío explicaré cómo hacer funcionar estos dispositivos en sistemas operativos basados en Linux.

¿Y si mi tarjeta no es compatible con Linux?

Pues no está todo perdido. Existe un remedio en Linux que hace funcionar a muchísimas tarjetas [compatibles y no compatibles] y que suelen tener disponible la mayoría de las distribuciones: NdisWrapper. Como se puede comprobar en Wikipedia, se trata de un "envoltorio" que permite insertar en él los drivers de Windows para que funcionen bajo Linux. Y esta maravilla es "Open Source" por lo que no debemos tener remordimientos a la hora de usarla en nuestro sistema. ¡Para algo tenía que servir el S.O. de las ventanitas!

Si nuestra distro favorita, una vez instalada no dispone de esta prodigiosa herramienta, tenemos dos opciones: bajarnos los paquetes de los respositorios habituales o, en el peor de los casos, compilarlos. Yo soy usuario de Guadalinex, la distribución andaluza de Linux basada actualmente en Ubuntu y adaptada a las necesidades de una comunidad que crece gracias al esfuerzo de educadores, desarrolladores y usuarios. Os invito a visitar nuestros foros, en los que participo desde hace algún tiempo.

¡¡¡ Hasta el próximo capítulo !!!

:-)