Mostrando entradas con la etiqueta ubuntu. Mostrar todas las entradas
Mostrando entradas con la etiqueta ubuntu. 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

28 febrero 2008

Compilar rt73 en Ubuntu

Esta es la segunda receta que cuelgo en este blog para compilar el módulo rt73 bajo Linux y aun no tengo la certeza de que pueda funcionar. Ha sido pensada para Guadalinex v4 [basada en Ubuntu Edgy], aunque puede ser válida, salvando alguna pequeña diferencia, para la mayoría de distribuciones Linux y en particular para aquellas basadas en Ubuntu. La otra receta que edité hace algunos meses es más simple [clic aquí] pero me consta que en algún caso no llegó a funcionar.

Antes de nada debemos asegurarnos de que no se cargue el módulo rt73usb que ya sabrás no es válido para gestionar la tarjeta, por lo que se debe editar el archivo blacklist con el comando sudo gedit /etc/modprobe.d/blacklist y una vez que se ha editado el archivo blacklist, se debe añadir al final del mismo las siguientes líneas,

blacklist
rt73usb

blacklist rt2570

blacklist rt2×00lib

con lo que se evitará la carga de ese módulo. Si anteriormente hubiésemos intentado la conexión con Ndiswrapper, se añadirá una nueva línea blacklist ndiswrapper, con lo que evitaremos que ese módulo se cargue igualmente en nuestro sistema. Guarda los cambios en el archivo. Ahora hay que reiniciar y comprobar con el comando lsmod que ninguno de los dos módulos, rt73usb y ndiswrapper, aparecen cargados en el kernel de nuestro sistema.

Es necesario instalar las fuentes del kernel (linux-source), aunque verás recetas que no requieren esa operación como la comentada anteriormente. Comienza por descargarlas de los repositorios de Guadalinex [o de Ubuntu si fuera el caso]; simplemente hay que buscarlas con Synaptic o bien desde terminal con apt-get e instalarlas. El caso es que he mirado en el repositorio oficial de Guadalinex y las fuentes que encuentro para la v4 son las que corresponden al kernel 2.6.17, de ahí que el ejemplo que propongo sea para esa versión. Desde la aplicación Synaptic es posible comprobar si es ésta la versión más reciente. En última instancia, te sugiero que pruebes a llevar a cabo esta tarea sobre una v4 pura sin actualizar, compila el driver y por último actualiza tu sistema.

Si no se dispone de conexión bajo Guadalinex se pueden descargar desde otro equipo o sistema operativo. El método más sencillo consiste en bajarse el paquete deb desde el repositorio oficial. Una vez descargado se copia al escritorio de tu equipo desde donde se pueden instalar fácilmente con un doble clic sobre dicho archivo o desde un terminal con el comando [si usas otra versión de las fuentes, el comando indicado sería el que corresponda a las fuentes descargadas]:

sudo dpkg -i /home/tu_usuario/Desktop/linux-source-2.6.17_2.6.17-10.33_all.deb


Si el nombre de las fuentes o la versión de las mismas fuese otro, hay que usar el que corresponda en ese caso.

Lo más probable es que te cree un archivo comprimido en el directorio /usr/src, por lo que debes entrar en ese directorio con el comando cd /usr/src y descomprimir con el comando

sudo tar xvfj linux-source-2.6.17-bla-bla-bla.tar.bz2

pero si el archivo fuese del tipo linux-source-2.6.17-bla-bla-bla.tar.gz debes ejecutar el comando

sudo tar zxvf linux-source-2.6.17-bla-bla-bla.tar.gz

Una vez instaladas las fuentes se requieres también instalar las cabeceras [linux-headers], pero teniendo en cuenta que Guadalinex incorpora además las cabeceras del kernel instaladas de serie [al menos en la versión v4, no sé sin la v4.1 estarán ya disponibles], nos aseguramos que hay creado un enlace simbólico desde el archivo /lib/modules/2.6.17-10-generic/build hacia /usr/src/linux-headers-2.6.17-generic y otro desde/usr/src/linux hacia /usr/src/linux-2.6.17. Si no fuera así hay que crearlos con los dos comandos siguientes:

sudo ln -s linux-source-2.6.17-bla-bla-bla linux

sudo ln -s /usr/src/linux-headers-2.6.17-bla-bla-bla /lib/modules/2.6.17-bla-bla-bla/build

La existencia o no de esos enlaces, que no archivos, se puede comprobar con el explorador de archivos, Nautilus, y el botón derecho del ratón sobre el mencionado archivo para ver sus propiedades. Está claro que bla-bla-bla es una cadena de caracteres que desconozco pero puede ser “generic” o algo parecido.

Ahora te bajas los drivers del sito de Ralink, en concreto los que corresponden a rt25001usb y además el paquete del firmware. El paquete del driver descargado [el del firmware creo que no hay que instalarlo ya que viene de serie, pero por si acaso lo descargas] se puede extraer directamente situando el puntero del ratón sobre él y clicar con el botón derecho del ratón para elegir "Extraer aquí", o bien desde un terminal ejecutando el siguiente comando

tar zxvf /ruta_archivo/2008_0117_RT73_Linux_STA_Drv1.1.0.0.tar.gz


Ahora entras en la carpeta Module y ahí tienes todo el conjunto de archivos del driver listo para compilar. Lee el archivo Readme donde se te dan las instrucciones para compilar el módulo rt73, tanto para kernels 2.4 como 2.6 series.

Abre el terminal y muévete hasta el directorio creado al descomprimir el archivo, mediante el uso del comando cd por lo que se puede ejecutar el comando

cd /ruta_archivo/2008_0117_RT73_Linux_STA_Drv1.1.0.0/Module

[está claro que ruta_archivo se refiere a la ruta donde se encuentra el directorio creado al descomprimir el archivo de los drivers]. Si fuese tu escritorio, la ruta sería algo así como


/home/tu_usuario/Desktop/rt73/2008_0117_RT73_Linux_STA_Drv1.1.0.0

Seguidamente ejecuta el comando sudo cp Makefile.6 Makefile con lo que creas el archivo Makefile necesario para las reglas de compilación a partir de Makefile.6 para tu kernel 2.6. [observa que hay otro archivo, Makefile.4 que es el que corresponde al kernel de las series 2.4 y que deberías usar para compilar con esa serie del kernel].

Continúa con la receta de los foros Ubuntu y ejecuta la siguiente secuencia de comandos:

sudo make

A veces, se crea una cantidad de código inservible sobre el módulo rt73 y hay que "desnudarlo" con el comando strip -S rt73.ko para continuar con la secuencia de comandos habitual.

sudo cp rt73.ko /lib/modules/2.6.X/kernel/drivers/net/wireless/

sudo insmod /lib/modules/2.6.X/kernel/drivers/net/wireless/rt73.ko

sudo depmod -a

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], puede ser conveniente crear un alias, para lo que vas a ejecutar 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 tu_número_IP up .

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

Comenta todas las incidencias ocurridas durante el proceso con todo lujo de detalles. Así sabremos cómo ayudarte y de paso ayudamos a los nuevos usuarios que pretendan seguir tus pasos.

Un último detalle. Hay dos guías más en los foros para compilar el driver rt73. La primera requiere conexión a Internet y la recomiendo vivamente; fue elaborada por anariv siguiendo fielmente las recomendaciones del fabricante del chipset, aunque debe manejarse con criterio ya que fue redactada en su día para un kernel determinado y en unas condiciones muy particulares [para verla pincha aquí]. Hay otra receta para usar sin conexión y aparentemente más sencilla; ha sido probada con éxito aunque algunos usuarios no pudieron ponerla en práctica [clic aquí].

Enga, hasta pronto y mucha suerte.

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.

09 julio 2007

Correo Web

Aunque el cliente de correo que habitualmente acompaña a Guadalinex y Ubuntu es Evolution y las veces que lo he usado me ha parecido realmente bueno, cuando instalé Ubuntu Feisty en mi flamante PC de escritorio, un Compaq Presario Media Center SR2049ES a muy buen precio, decidí probar Mozilla Thunderbird para gestionar el correo electrónico.

El motivo principal para decidirme por este cliente de correo tenía que ver con la mayor facilidad para importar mi libreta de direcciones de correo y los mensajes almacenados en un PC compartido con otros usuarios y que habitualmente funcionaba con el sistema operativo de las "ventanitas". Pero estos motivos por sí solos no hubieran sido suficientes.

Lo que finalmentre me decidió a usar Thunderbird fue la posibilidad de manejar el correo web. Después de buscar por Internet las posibles soluciones, decidí instalar la versión 1.5.0.12 de Thunderbird [la única disponible en los repositorios de Ubuntu]. Finalmente, en el sitio oficial de Mozdev.org encontré la solución. Ahí se puede observar que es posible manejar la mayoría de los servidores, o al menos los más conocidos. Por mi parte, puedo decir que todos los que yo uso están en la lista, así que no puedo pedir más.

Para descargar las extensiones ya sabes que hay que hacerlo desde Firefox con el botón secundario del ratón sobre el enlace y seleccionando la opción "Guardar enlace como...". Para instalar las extensiones desde Thunderbird debemos ir al menú Herramientas > Extensiones > Instalar y marcamos la ruta donde descargamos las extensiones. Hube de instalar una primera extensión, web-mail-x.x.x [1.0.17 en mi caso] y, posteriormente, las específicas según el correo que quieras gestionar [Hotmail y Lycos añadí yo]. Me las prometía muy felices, pero mi correo no funcionaba.

Después de buscar y mirar por todos los sitios más inimaginables descubrí una información crucial [siento no mencionar la fuente ya que este artículo lo escribo algunos meses después de resolver el problema]. Cuando ejecutas Thunderbird y abres el menú Herramientas > Extensiones y eliges Webmail, marcas Preferencias, y en la pestaña Puertos del menú Servidor [puedes verlo en la imagen], debes elegir un puerto por encima del 1024 [creo que era ese el número] o de lo contrario la extensión no cumplirá con su cometido. Yo elegí 1111 para el servidor POP, 1112 para SMTP y 1113 para IMAP.


Es posible que si usas un cortafuegos debas habilitar los puertos mencionados, para permitir el tráfico, tanto del correo entrante como del saliente. A día de hoy, debo decir que no resolví el problema del correo saliente, pero no es un tema que me preocupe, ya que habitualmente no suelo usar esas cuentas para enviar correo. Igual un día de estos me pongo a ver si lo soluciono, pero por ahora me conformo con lo que tengo.

Sed felices y disfrutad de Linux. Hasta pronto.

16 mayo 2007

Escáner Mustek

Finalmente me decido a instalar en mi equipo el escáner Mustek Bearpaw 1200CU Plus con Ubuntu Feisty. El equipo aparece identificado por el código 0x055f/0x021b [cuando conectas el equipo y ejecutas el comando lsub en un terminal aparece el ID 055f:021b].

La verdad es que no me podía imaginar que fuese tan fácil. Hace algún tiempo instalé en Guadalinex 2004 [Debian Sarge] un Epson Perfection sin dificultad aparente, no recuerdo si con la aplicación Sane o Xsane.

Como se trata de un dispositivo que apenas uso, fui dejando de lado la instalación de esta "Zarpa de Oso", pero finalmente decidí que había llegado el momento. En la lista del Proyecto Sane descubrí que el dispositivo era totalmente compatible. Sólo tuve que hacer unos pequeños ajustes:

1. En primer lugar edité como root el archivo de texto /etc/sane.d/gt68xx.conf y busqué el texto siguiente:

# Another Mustek BearPaw 1200 CU Plus version?
usb 0x055f 0x021b

y añadí las siguientes líneas:

override "mustek-bearpaw-1200-cu-plus"

firmware "/opt/gt68xx/PS1Gfw.usb"

2. Seguidamente descargué el firmware PS1Gfw.usb [después comprobé que también podría haber usado en su lugar PS1Dfw.usb que parece tener una mejor gama de resolución, lo que debía haberlo hecho constar en la última de las dos líneas anteriores].

3.- Me fui a un terminal y en el directorio /opt creé el subdirectorio gt68xx donde copié el firmware descargado previamente.

4.- Finalmente otorgué permisos de lectura a todos los usuarios mediante la ejecución como root del comando
chmod a+r /opt/gt68xx/PS1Gfw.usb [los usuarios de Ubuntu recordad el uso de sudo].

Ahora ya podía abrir el menú "Aplicaciones > Gráficos > Escáner de Imagen Xsane" y escanear. Y así fue como eché a andar mi polvoriento "Zarpa de Oso".

¿Por qué será que se recurre tan a menudo a los animales para designar a multitud de dispositivos y software informático? Algún día me descolgaré con curiosidades que tiene que ver con lo dicho.

Hasta pronto y disfrutad de Linux...

01 marzo 2007

Seguridad WPA

El ejemplo que empiezo por comentar es para Ndiswrapper [también puede usarse para otros módulos que soporten wpa, con las modificaciones oportunas] y aun no está plenamente contrastado. Simplemente, advierto de que en el sitio de Ndiswrapper se habla de plena compatibilidad con wpa_supplicant a partir de versiones posteriores a la 1.21. Por mi parte, debo aclarar que a mí me ha funcionado para una tarjtea con chipset Atheros funcionando con Madwifi.

Guadalinex v3 y v4 [basadas, respectivamente en Ubuntu Breezy y Edgy] disponen de la utilidad wpa_supplicant instalada, pero en caso de utilizar otra distribución de Linux que no la tuviese, deberíamos instalarla bajándonos el paquete de los repositorios o, en el peor de los casos, obteniendo las fuentes [wpa_supplicant] y compilándolas por el método habitual. Sigue las instrucciones de los desarrolladores sobre cómo llevar a cabo la operación y, si te sientes perdido, consulta la explicación que doy en el artículo dedicado a la instalación de tarjetas compatibles, en su apartado de compilación de drivers. Quiero aclarar que existen algunas diferencias entre la configuración bajo Guadalinex v3 / Ubuntu Breezy con respecto a Guadalinex v4 / Ubuntu Edgy y que aclaro más adelante.

Lo primero es generar una clave hexadecimal con la "frase de paso" que tienes guardada en la configuración de la red wif del router. Éso se consigue abriendo un terminal y ejecutando el comando siguiente:

wpa_passphrase nombre_red frase_de_paso


Debes sustituir el nombre de tu red wifi en el lugar de nombre_red y la frase de paso del router donde pone frase_de_paso. Esto genera una cadena similar [en longitud, claro] a ésta:

psk=1d06e406f9f6765053d822c9a006e9da6f4b03c9d09c2bd6d1cd8d887816fb6e

Seguridad WPA en Guadalinex v4 y Ubuntu Edgy

Ahora vas a editar el archivo interfaces con el comando
sudo gedit /etc/network/interfaces. Supongo que te conectas vía dhcp, por lo que lo vas a dejar tal que así:

auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wireless-essid NOMBRE_DE_LA_RED
pre-up wpa_supplicant -Bw -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant


El valor -Dwext se aplicará en versiones de Ndiswrapper posteriores a la 1.12; en caso contrario usaremos -Dndiswrapper.

En mi caso uso una tarjeta con chipset Atheros AR5212 y el archivo lo tengo de esta guisa:

auto lo
iface lo inet loopback
iface ath0 inet dhcp
wireless-essid Mi_red
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf

auto ath0

Seguidamente ejecuta el comando sudo gedit /etc/wpa_supplicant.conf y se te muestra el archivo wpa_supplicant.conf [probablemente se encuentre vacío], sin texto alguno. Eso nos da igual, porque vamos a añadir las siguientes líneas:

ctrl_interface=/var/run/wpa_supplicant

ap_scan=1

network={
ssid=nombre_red_wifi
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
#psk="Frase de paso"

psk=1d06e406f9f6765053d822c9a006e9da6f4b03c9d09c2bd6d1cd8d887816fb6e
priority=5
}

Observa que en la línea que empieza con psk se ha incluido
el valor de la clave hexadecimal obtenida anteriormente al ejecutar el comando wpa_passphrase .

En algunos sitios de internet se aconseja ejecutar el comando que se indica a continuación [en realidad le estamos diciendo que ejecute, por una sola vez, lo que tenemos cargado de forma permanente en el archivo interfaces]. En mi caso, con el driver de madwifi no lo llevé a cabo y me ha funcionado correctamente:

sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dndiswrapper

Para versiones posteriores a la 1.12, el valor -Dndiswrapper serás sustituido por -Dwext. Éste y otros detalles pueden ser consultados en el sitio de Ndiswrapper dedicado al uso de WPA.

Reinicia los servicios de red con el comando sudo /etc/init.d/networking restart

Seguridad WPA en Guadalinex v3 y Ubuntu Breezy

El método es prácticamente idéntico. Sólo hay que añadir un par de detalles. Se debe editar como root el archivo /etc/default/wpasupplicant y desmarcar
la línea que proceda [sinónimo de eliminar el símbolo # de un script o programa para que se ejecute esa línea de código]. En mi caso, lo hice con la línea que hacía referencia a madwifi; si usas ndiswrapper, pues ya sabes. Para otros drivers compatibles, sustituir el valor por el que corresponda. Bien, pues ahí va:

# /etc/default/wpasupplicant
# WARNING! Make sure you have a configuration file!

ENABLED=1

# Useful flags:
# -D Wireless drive, typically optional.
# -i Interface
# -c Configuration file
# -d Debugging (-dd for more)
# -w Wait for interface to come up

# See the manual page wpa_supplicant(1) for more options and information.

OPTIONS="-w"

# EXAMPLES:

# OPTIONS="-i wlan0 -D ndiswrapper -c /etc/wpa_supplicant.conf"
OPTIONS="-i ath0 -D madwifi -c /etc/wpa_supplicant.conf"


Ahora debemos editar el archivo /etc/network/interfaces y modificar la línea que hace referencia al modo dhcp, ya que hay un bug para esta versión de Ubuntu/Guadalinex que impide a wpa_supplicant gestionar la conexión en modo dhcp, por lo que usaremos IP fija. Lo que yo hice fue dejarlo con ip estática y quedó así:

auto lo
iface lo inet loopback
iface ath0 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1
wireless-essid MI_RED
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf
auto ath0


Con ésto ya no deberías tener problemas de conectividad. Espero que todo vaya correctamente. En caso contrario cuéntnos cómo te fue.


-----------------------------------------

Si Linux no existiera habría que inventarlo

28 febrero 2007

Instalar Ndiswrapper

Ndiswrapper es un software que actúa como una especie de envoltorio sobre los drivers originales de Windows para hacerlos funcionar bajo Linux. Y lo que es más importante, permite gestionar prácticamente todas las tarjetas compatibles mencionadas en el envío anterior. Os preguntaréis que, si son compatibles, para qué queremos hacerlas funcionar con Ndiswrapper. Muy fácil, a veces hay tarjetas que no tiran por problemas de hardware [lo más frecuente] o por problemas con el propio software. Además, hay otras muchas tarjetas que, al no liberar sus fabricantes el software para hacerlas funcionar bajo Linux, la única manera de que rulen es con este método [un buen ejemplo lo tenemos en las bien conocidas tarjetas Broadcom que sólo se podían usar con este software]. Así que, de una forma u otra, es muy posible que en alguna ocasión tengas que vértelas con la instalación de este driver. Puedes comprobar si tu dispositivo inalámbrico es compatible con Ndiswrapper consultando la lista de compatibilidad. Para obtener más información sobre este controlador, visita el sitio de Ndiswrapper en SourceForge.

Si la tarjeta que vamos a configurar dispone de drivers para Linux, es posible que éstos vengan precompilados y se carguen en el sistema al ser reconocida la tarjeta. Pero si no gestionan correctamente el uso de la misma o, simplemente, no los queremos usar, se debe tomar ciertas precauciones. En primer lugar vas a editar como root un archivo llamado blacklist [busca en /etc/hotplug/ para Guadalinex v3 y Ubuntu Breezy o en /etc/modprobe.d/ para Guadalinex v4 y Ubuntu Edgy] y vas a añadir una línea al final del texto, con el nombre del módulo que haría funcionar el chipset de la tarjeta para v3 o bien el término blacklist seguido del nombre del módulo para 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.

¿Por dónde empezamos?


Esta guía ha sido realizada para ser usada en Guadalinex v3 y Ubuntu Breezy, pero en general vale para cualquier otra distribución, salvando las diferencias. Si nuestra distro fuese Guadalinex 2004, estamos de suerte, ya que lo trae instalado y sólo resta configurarlo y poco más. Para la versión 2005/v3, al igual que en Ubuntu Breezy, no está disponible y debes instalar los paquetes desde el programa Synaptic. Ábrelo y busca ndiswrapper; marca e instala los tres paquetes encontrados: source, utils y ndisgtk. A continuación vas a seguir los siguientes pasos:

1.- Instala Ndiswrapper con Synaptic o desde un terminal usando apt. Si no dispones de conexión, al final de este mensaje se explica cómo descargar los paquetes. Tambien están disponibles en el CD de Guadalinex v3. Si es tu primera experiencia en Linux y no te sientes muy seguro trabajando por un terminal, bájate de los repositorios la herramienta Ndisgtk. Si no tienes acceso desde Linux, más abajo explico cómo descargar los paquetes deb. Una vez que instales los paquetes en cuestión, debes reiniciar tu sistema.

2.- Copia los drivers de Windows que venian con el CD de tu tarjeta al directorio de usuario [supongamos que fuesen, por ejemplo, driver_windows.inf y driver_windows.sys]. Es imprescindible copiar el contenido completo de la carpeta donde se encuentran esos drivers, eligiendo la versión más reciente [habitualmente WinXP o Win2000].

3.- Abre un terminal y ejecuta sudo -s, lo que nos va a permitir trabajar como usuario root [los usuarios de distros no basadas en Ubuntu no ejecutarán este paso 3º, pero deben recordar que los apartadosl 4 al 6 deben ejecutarse como root]. Si pasados 5 minutos debes ejecutar alguno de estos pasos y no dispones de privilegios como root, debes ejecutar nuevamente sudo -s o si lo prefieres, ejecutas el comando anteponiendo sudo, quedando de la siguiente forma sudo comando_de_linux

4.- Ejecuta ndiswrapper -m [ésto crea el alias wlan0 y lo asocia con el módulo ndiswrapper].

5.- Ejecuta ndiswrapper -i /home/ruta_driver/driver_windows.inf [ésto instalará los drivers para ser usados con ndiswrapper]. Se puede comprobar que ha sido cargado correctamente usando como root el comando ndiswrapper -l lo que listará los drivers instalados con ndiswrapper y nos indicará si su hardware está presente o no.

6.- Y por ultimo, modprobe ndiswrapper.

En tarjetas, para que cargue el módulo en cada reinicio, es indispensable añadirlo a la lista de /etc/modules, por lo que vas a editar ese archivo como root y al final del mismo debes añadir una nueva línea con el nombre ndiswrapper. En mi caso abrí como root el editor Gedit mediante el comando gedit /etc/modules.

Te aconsejo usar otras fuentes de información, como la sección de Guadalinex denominada Guadapedia, donde se detalla cómo llevar a cabo la operación para la
versión 2004 [basada en Debian] y para la versión 3 [basada en Ubuntu Breezy].


¿Cómo configurar la conexión?

Es posible que a partir de este momento, la tarjeta empece a guiñar y a dar señales de vida. ¡¡¡ Ya era hora !!! Es el momento de configurar la conexión. En primer lugar lo voy a explicar por el método tradicional usando la línea de comandos. Posteriormente, explicaré el método más sencillo a partir de la utilidad Ndisgtk.

Ahora debes editar como root el archivo /etc/network/interfaces con el comando
gedit /etc/network/interfaces y debe quedar con la siguiente sintaxis:

auto lo
iface lo inet loopback
iface wlan0 inet dhcp
pre-up modprobe ndiswrapper
post-down rmmod ndiswrapper
wireless_essid nombre_de_la_red
wireless_key tu_contraseña
auto wlan0

En algunos dispositivos es posible que la interfaz inalámbrica no sea wlan0, sino que reciba otro nombre, por lo que debes sustituirlo por el que te corresponda. La última línea hace que la interfaz wifi, wlan0, se cargue al inicio.

Si en lugar de conectar via dhcp, usas ip estática, el archivo interfaces debe quedar así:

auto lo
iface lo inet loopback
iface wlan0 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
pre-up modprobe ndiswrapper
post-down rmmod ndiswrapper
wireless_essid nombre_de_la_red
wireless_key tu_contraseña
auto wlan0

Para verificar que todo funciona correctamente, desactiva la contraseña del router y en wireless_key introduces off. Ésto hará que se levante la interfaz de red inalámbrica sin necesidad de contraseña. Cuando todo funcione correctamente, configuras el cifrado de señal en formato wep. Ndiswrapper admite el encriptado wpa pero ese no es el motivo de este artículo y quizás más adelante lo expliquemos.

Si todo ha ido bien, levantas la conexión ejecutando como root elcomando ifup wlan0 y apagas, tambiéncomo root, con ifdown wlan0.

También puedes instalar Ndiswrapper usando la herramienta Ndisgtk que se instala como hemos explicado al principio. El método a seguir está descrito en la sección correspondiente de Guadapedia y simplifica notablemente el proceso de instalación.

Nota: En Ubuntu y Guadalinex v3, para ejecutar como root se debe anteponer a cualquier comando el término sudo.

Configurar de forma más sencilla

[El texto que corresponde a este apartado ha sido extraído casi en su totalidad de Guadapedia, en el sitio de Guadalinex].

Instalados los drivers, abre el menú Sistema > Administración > Red y nos pedirá que introduzcamos la clave de root, hecho lo cual, observaremos que se ha detectado el nuevo interfaz de red inalámbrica. Lo seleccionamos y, a continuación, pulsamos el botón Propiedades. Ahora nos aparecerá una nueva ventana. Allí tendremos que configurar todos los datos de la conexión.

  • Nombre de la red [ESSID]: Pondremos el nombre de la red inalámbrica exactamente igual, con mayúsculas y minúculas, tal como aparece en el menú de configuración wireless del router.
  • Tipo de Clave: Por defecto se deja en hexadecimal, pero se podrá cambiar si la contraseña nos falla.
  • Clave WEP: Si la conexión ha sido configurada en el router con clave wep, en esta casilla tendremos que indicar cuál es. En caso de usar caracteres ascii, al nombre de la clave se debe anteponer estos dos caracteres s:

A continuación tendremos que configurar los datos de red habituales.

  • Configuración: Si el router permite la conexión DHCP, usaremos dicha opción. Si no lo permite seleccionaremos Dirección IP estática. En este caso además tendremos que configurar lo siguiente:
    • Dirección IP: Es la dirección IP local de nuestra máquina en la red local. El formato usado será como este 192.168.0.5.
    • Máscara de subred: Se usa para definir el alcance de la red. Normalmente en una red local pequeña será 255.255.255.0.
    • Dirección de la puerta de enlace: Aquí pondremos la dirección IP local del router.
  • Una vez hayamos definido los parámetros de la conexión, pulsaremos la casilla (arriba) Activar esta conexión.
  • Pulsamos en Aceptar y volveremos a la ventana de Configuración de la red.
  • Aquí nos aseguramos que al seleccionar el dispositivo inalámbrico el botón Activar aparece sombreado (indicando así que ese dispositivo está activo). Si no lo estuviera, pulsaremos sobre dicho botón.
  • Finalmente pulsaremos en el botón Aceptar y cuando se apliquen los cambios tendremos configurada la conexión a internet.
El driver no funciona / Quiero usar uno diferente

Si tu driver de Window$ no funciona o quieres probar otro diferente, debes eliminar el primero antes de cargar uno nuevo. Para ello usa el comando

ndiswrapper -e anterior_driver_windos.inf

Ahora ya puedes cargar el nuevo driver [te sugiero que sea el de tu cd de instalación en window$ o en su defecto el recomendado en la lista de Ndiswrapper]. Ejecuta el comando

ndiswrapper -i nuevo_driver_windos.inf

Ahora debes cargar nuevamente el driver en el núcleo de tu sistema ejecutando como root el comando
modprobe ndiswrapper. Si todo ha ido bien, levantas la conexión ejecutando como root ifup wlan0 y apagas con ifdown wlan0.

Si a pesar de todo no logras conectar

Si no te conecta, intenta lo siguiente. Abre un terminal y ejecuta como root el comando
ifup wlan0 y ahora prueba a hacer ping a tu router [normalmente 192.168.1.1 o el que tu tengas como puerta de enlace] ping 192.168.1.1 Para probar si tienes conexión, vas a hacer ping al exterior a un par de sitios:

ping 66.102.9.104

ping www.google.es

Si el ping te responde positivamente, pero no te puedes conectar a internet cuando usas el navegador, el problema puede estar en las DNS's. [Cuando menos sabes que la tarjeta tiene acceso al router y a partir de ahí todo será bastante sencillo]. Si a pesar de todo no logras conectar, puede ser que no hayas desactivado la seguridad wifi de tu router [o que la wifi del router no este activa]. Si el router no te responde, prueba a hacer ping a la dirección de tu tarjeta [si la tarjeta está bien puesta esa acción debería responder sin problemas y sabrás que la tarjeta funciona y que el problema está en otra parte [probablemente en la configuracion del router o en el uso de mayúsculas/minúsculas]. Para configurar las DNS's entra en el menú Sistema > Administración > Red, selecciona tu dispositivo inalámbrico e introduce los valores de las dns correspondientes y que puedes anotar del sitio de Adsl4ever.

Otra posibilidad consiste en editar como root el archivo /etc/resolv.conf, mediante el comando gedit /etc/resolv.conf [ubunteros, recordad el uso de sudo]. Debe contener dos o más líneas con un contenido similar a éste:

nameserver x.x.x.x

Donde, x.x.x.x se corresponde con las DNS's del proveedor de acceso a Internet e incluso la puerta de acceso o gateway del router [si esas DNS's fueron cargadas en el menú de configuración del router].

Si aun no has conseguido que la tarjeta funcione


En algunos casos, especialmente con ciertos dispositivos usb, se requiere completar los pasos A, B y C que se indican a continuación, entre los puntos 5 y 6 de la lista de operaciones anteriormente descrita, para configurar correctamente Ndiswrapper.

A) Ejecuta lspci -n o lsusb [según el tipo de tarjeta pcmcia/pci o usb] para obtener el código identificador del dispositivo [en este caso se obtuvo 09aa:1000 y a partir de ahora me referiré a él como xxxx:yyyy].

B) Ejecutacomo root el comando ndiswrapper -l para ver cómo llama ndiswrapper al driver [en este caso prisma02, en tu caso será el que corresponda a la tarjeta en cuestión].

C) Ejecuta como root el comando ndiswrapper -d xxxx:yyyy prisma02 [ésto asocia el driver con el dispositivo] y le indica a Ndiswrapper dónde encontrarlo. Recuerda que en este ejemplo, donde pone xxxx:yyyy iría 09aa:1000. En tu caso lo sustituyes por el valor que corresponda. Y en lugar de prisma02 pones el nombre de tu driver obtenido con la ejecución del comando ndiswrapper -l descrito en el punto B.

Para finalizar, sigue con el paso 6 de la lista y ejecuta como root [no olvides sudo en Guadalinex v3 y en Ubuntu] modprobe ndiswrapper. Ésto dará por concluida la instalación. Revisa la configuración del arhivo /etc/network/interfaces e intenta lanzar nuevamente la aplicación para levantar la conexión.

Cada vez que hagamos un cambio en alguna característica de la red, para lanzarla de nuevo podemos evitar reiniciar el sistema [lo que convierte el proceso en algo demasiado lento, sobre todo si hay que hacer numerosos cambios y pruebas] si usamos como root el comando
/etc/init.d/networking restart.

No tienes conexión y quieres bajar los paquetes deb

NOTA IMPORTANTE: He comprobado que los paquetes de los repositorios de Ubuntu que indico más abajo o no están todos o algunos han cambiado de sitio, por lo que recomiendo buscarlos y descargarlos desde el propio navegador de internet del repositorio de Guadalinex y aprovecho también para recordar que aunque no es necesario, resulta conveniente descargar también el paquete common, junto a los paquetes utils y source. Además el buscador del repositorio ayuda enormemente en la tarea de encontrar paquetes aplicando distintos criterios como versiones o categorías.

Si no tienes conexión a internet, puedes descargar los paquetes deb de instalación de Ndiswrapper en otro equipo y luego copiarlos al tuyo:


A) VERSIÓN 1.1

Fuentes - Pincha aquí

Utilidades - Pincha aquí

Bájalos y los copias a tu escritorio de Linux. Entra en un terminal y cambia de directorio hasta situarte en tu escritorio [o en el directorio donde hayas alojado los paquetes]. Ejecuta en un terminal como root la siguiente orden:

dpkg -i ndiswrapper-source_1.1-4ubuntu2_all.deb
para el primero de los paquetes y


dpkg -i ndiswrapper-utils_1.1-4ubuntu2_i386.deb
para el segundo.


Ahora reinicias tu sistema y continúas con la configuración de los drivers, a partir del punto 2 de la receta.

B) PAQUETES NDISWRAPPER VERSIÓN 1.8 (No aconsejable su instalación en Guadalinex v3 y Ubuntu Breezy)

Paquetes de los repositorios Ubuntu:

Fuentes - Pincha aquí

Utilidades - Pincha aquí

Para instalarlos:

sudo dpkg -i ndiswrapper-source_1.8-0ubuntu2_all.deb
para el primero de los paquetes y


sudo dpkg -i ndiswrapper-utils_1.8-0ubuntu2_i386.deb
para el segundo.


Los paquetes de la versión 1.1 sabemos que funcionan correctamente en Guadalinex v3 y Ubuntu Breezy, pero no tenemos constancia de que los correspondientes a la versión 1.8 vayan a funcionar sin problemas. Así que tú decides. Si pruebas la versión 1.8 y te ha funcionado, coméntalo para que quede constancia de ello.

C) PAQUETE NDISGTK

Para facilitar la tarea en la configuración de Ndiswrapper, se puede instalar el paquete Ndisgtk, especialmente si no te sientes seguro en el uso del terminal.

Haz clic aquí para descargarlo

Esta utilidad facilita la carga de los drivers, evitando el uso del terminal, por lo que es muy adecuado para usuarios extremadamente novatos. No se debe olvidar que el método tradicional mediante la ejecución de comandos en terminal siempre estará ahí disponible.


Para instalarlo se debe ejecutar como root en un terminal el siguiente comando:

dpkg -i ndisgtk_0.6-0ubuntu1_all.deb

En los tres casos comentados, para la instalación de los paquetes debian, no olvides situarte previamente en el directorio de Linux donde hayas copiado los paquetes [también puedes hacerlo desde cualquier otro directorio, indicando a tu sistema la ruta donde tienes alojado el paquete] antes de ejecutar el comando dpkg -i nombre_completo_del_paquete.deb

Compilar Ndiswrapper usando las fuentes

Finalmente, y con esto termino, si decides optar por compilar los módulos de Ndiswrapper usando tus propias fuentes, descarga los archivos comprimidos del sitio de SourceForge e infórmate en el wiki del sitio sobre el procedimiento de instalación. No obstante, en un mensaje anterior he explicado los requisitos necesarios para llevarlo a cabo, en el apartado "¿Cómo compilar el driver?" del artículo "Instalar tarjetas compatibles con Linux" de este mismo blog.

Suerte y 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 rtl81