24 diciembre 2007

NSLU2 + DWL-G122 = NAS con Wi-Fi

Partimos de una NSLU2 de Linksys con Debian GNU/Linux 4.0 (alias etch) y de un adaptador USB Wi-Fi DWL-G122 Ver. C1 de D-Link. Para que dicho adaptador funcione con la NSLU2, hay que compilar los drivers oportunos, pues el Linux de la Debian para este cacharro viene sin ellos. La versión C1 del DWL-G122 trae el 'chipset' rt73 de Ralink y los fuentes para los mismos se pueden encontrar en la página del proyecto rt2x00. Ahí proporcionan dos tipos de drivers: 'antiguos pero mejorados' y de 'nueva generación'. Puesto que los de nueva generación están muy ligados a las últimas versiones del núcleo, opté por utilizar los antiguos. Los pasos que dí para compilarlos fueron los que se pueden ver en este foro (primer comentario de Sinclair73). Es decir, desde el Linux de la NSLU2 (previamente hay que tener instalados los paquetes make, gcc & co.) ir ejecutando:

1) Bajar y descomprimir los fuentes del driver:
$ wget http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz
$ tar zxvf rt73-cvs-daily.tar.gz


2) Editar el fichero Module/rtmp_init.c para cambiar el cuerpo de la función RTMPMoveMemory a solo { memcpy(pDest, pSrc, Length); }
$ cd rt73-cvs-AAAAMMDDHH
$ vi Module/rtmp_init.c
// RTMPMoveMemory debe quedar así:
VOID RTMPMoveMemory(
 
OUT PVOID pDest,
  IN PVOID pSrc,
  IN ULONG Length
)
{
 
memcpy(pDest, pSrc, Length);
}

3) Compilar el driver:
$ cd Module
$ make arm

4) Copiar el modulo rt73.ko resultante a un punto adecuado en /lib:
$ su
# mkdir -p /lib/modules/`uname -r`/kernel\
/drivers/net/wireless/rt2x00-legacy/

# cp rt73.ko /lib/modules/`uname -r`/kernel\
/drivers/net/wireless/rt2x00-legacy/


5) Copiar el firmware rt73.bin a /lib/firmware:
# cp rt73.bin /lib/firmware

6) Actualizar las dependencias de módulos:
# depmod

7) Editar el /etc/network/interfaces y dejarlo a nuestro gusto según la red inalámbrica que tengamos, teniendo en cuenta que el alias para la interfaz de red de la DWL-G122 será wlan0. Así que para una red sin encriptación y con asignación de direcciones ip estáticas, la entrada correspondiente en dicho fichero podría ser:
allow-hotplug wlan0
iface wlan0 inet static
 
pre-up ifconfig wlan0 up
  pre-up iwconfig wlan0 mode Managed
  pre-up iwconfig wlan0 essid
"nombredelared"
 
address 192.168.0.188
 
netmask 255.255.255.0
 
gateway 192.168.0.1

Con esto ya podemos poner nuestra NSLU2 en cualquier sitio de la casa. Hay opciones más inmediatas para tener una NAS con conexión inalámbrica, como la Asus WL-HDD 2.5, pero la instalación en estas de cualquier otra versión de GNU/Linux que no sea la de fábrica no está tan 'trabajada' como la de la NSLU2. Y si ya tenemos una NSLU2, pues viene bien esta 'ampliación'.

Notas: en algunas ocasiones he tenido un comportamiento algo inestable, de modo que al arrancar la NSLU2 el enlace no estaba disponible o este sufría caídas intermitentes. La solución siempre era o tirar y levantar el enlace con:
# ifdown wlan0
# ifup wlan0

o, desconectar y volver a conectar físicamente el DWL-G122, si no disponía de una sesión telnet/ssh contra la NSLU2. Puesto que últimamente no he sufrido casi estos inconvenientes, me inclino a pensar que son causados por factores ambientales (¿interferencias de algún tipo?). Seguiré investigando, y si encuentro algo, añadiré comentarios.

Actualización: Aquí se puede encontrar mucha más información sobre como conectar adaptadores WiFi a nuestra NSLU2.

20 diciembre 2007

Solución a 'no se muestra la pantalla de arranque'

He estado actualizando la versión de ubuntu de mi Thinkpad Z60m desde la Dapper Drake 6.06 (si no recuerdo mal) hasta la actual Gutsy Gibbon 7.10. En una de las actualizaciones entre la 6.06 y la 7.04 la pantalla que muestra el arranque del sistema (en Ubuntu se usa usplash) dejó de funcionar. Hice alguna corrección parcial, con lo que conseguí que se mostrara algo parecido a una carta de ajuste, y por falta de tiempo lo dejé así. Pero al actualizar a 7.10, usplash se fue a la porra del todo. Mientras el Linux arrancaba solo se mostraba una pantalla en negro con el correspondiente cursor blanco parpadeando. Como se indica en las notas de la versión Gutsy Gibbon, esto puede ser debido a un error en la configuración de la resolución del monitor. Pero no era mi caso.

Investigando un poco descubrí que los links:
/usr/lib/usplash/usplash-artwork.so
/etc/alternatives/usplash-artwork.so

estaban mal. El primero apuntaba al segundo (eso es normal) pero el segundo apuntaba al primero, formando un bucle. Lo suyo es que el segundo link apunte al fichero '.so' del tema del usplash que tengamos configurado. Por defecto en Ubuntu sería a:
/usr/lib/usplash/usplash-theme-ubuntu.so

Parece ser que entre mi intento de arreglar usplash y la última actualización esos link habían quedado bastante mal. La solución fue reconfigurar usplash para que usara el tema por defecto, mediante ejecutar en una ventana de comandos:
# sudo update-usplash-theme usplash-theme-ubuntu

Con esto, ya me funciona perfectametne la pantalla de arranque de mi Ubuntu 7.10.

Y durante estas pesquisas encontré algo bastante interesante. Si en el efichero:
/boot/grub/menu.lst

se elimina 'quiet' de las opciones de arranque del nucleo de Linux, vuelven a aparecer en la pantalla del 'usplash' los mensajes de como van iniciando los diferentes procesos (como pasaba por defecto en las primeras versiones de Ubuntu). Esto viene muy bien para medir la 'salud' del sistema y recordarnos si tenemos instaladas cosas que quizás no utilicemos.

14 diciembre 2007

Presentación

Ahí va la presentación de rigor: Con este blog pretendo recopilar las configuraciones, pruebas, descubrimientos y demás 'cacharreos' informáticos que vaya realizando. A mi me servirá para poder responderme la eterna pregunta '¿como rayos arreglé esto hace 2 semanas?'. Y espero que a vosotros os sirva de referencia para poder solucionar problemas similares. Así que espero que os guste.

Salu2

Política de privacidad

Los anuncios Google de nuestro sitio implican que:
  • Google, como proveedor asociado, utiliza cookies para publicar anuncios en nuestro blog.
  • Esto permite a Google mostrar anuncios a nuestros usuarios basados en sus visitas a nuestro blog o a otros sitios de Internet.
  • Los usuarios pueden inhabilitar el uso de la cookie de DART a través del Centro de privacidad de Google.
Es decir: Utilizamos empresas publicitarias asociadas (Google) para publicar anuncios cuando visita nuestro sitio web. Es posible que estas empresas usen la información que obtienen de sus visitas a este y otros sitios web (sin incluir su nombre, dirección, dirección de correo electrónico o número de teléfono) para ofrecerle anuncios sobre productos y servicios que le resulten de interés. Si desea obtener más información sobre esta práctica y conocer sus opciones para impedir que estas empresas usen esta información, haga clic aquí.