WIFI: Como Instalar una Tarjeta SD en WRT54G Configuracion en dd-wrt y openwrt kamikaze
15 Julio, 2008
Si habéis actualizado a la versión v24 de dd-wrt, en las opciones de administración aparece una nueva opción referida al almacenamiento en tarjetas sd. Esta opción solo esta disponible en las versiones “generic” de dd-wrt y únicamente se puede acceder a ella realizando una modificación en el router. Mas abajo explicare como configurarlo en el firmware dd-wrt v24 y en la versión 7.09 de openwrt kamikaze.
La utilidad de este mod es de aumentar el tamaño disponible para instalar programas en el wrt54g. Lo que nos da la oportunidad de ofrecer servicios http, ftp …etc.
Antes de todo advertir que este tutorial ha sido probado en un router wrt54g v2.2 y que en otras versiones o dispositivos las soldaduras y procedimientos son diferentes.
Puntos de soldadura
Necesitaremos:
- Un cable ide para destripar.
- Una tarjeta SD de un tamaño no mas grande de 2GB ( No las soporta de mas tamaño).
- Un socket de tarjetas SD o un adaptador microSD-SD ( Opcional )
- Soldador y estaño.
Ahora sacamos 6 hilos del cable IDE y los soldamos en las siguientes ubicaciones:
NOTA: La ubicación exacta de el pin DI es en RA10 y CLK en la tercera soldadura de RP4 comenzando desde la izquierda, ambas en la parte de abajo según foto.
Una vez que hemos soldado todos los cables al router pasaremos a soldarlos a un socket SD, o bien como en mi caso a un adaptador microSD-SD, o directamente a la tarjeta de memoria. Este es el esquema:
Aseguramos las soldaduras con cera termofusible o cinta adhesiva y ya lo tenemos:
DD-WRT v24
Lo primero que hay que hacer, en el caso que queramos usar dd-wrt, es flashear el router con el firmware “generic”, seleccionaremos la opción de resetear el router ( esto es recomendable para eliminar cualquier resto de variables en la nvram que nos puedan dar problemas ).
Configurando el router
Vamos a la sección administración seleccionamos las opciones jffs2, limpiar jffs2, Dispositivo MMC y GPIO pins select en auto. Salvamos, aplicamos los cambios y reiniciamos ( es necesario seguir este orden para que dd-wrt formatee y cree un sistema de archivos ext2 en la tarjeta ).
Una vez que haya reiniciado observaremos que en la pagina de información del sistema tenemos nuestra tarjeta SD en funcionamiento mostrándonos los MB disponibles. Si esto no sucede y os aparece como tamaño MMC 2,816.00KB / 0, revisad las soldaduras o volved a repetir el proceso anterior.
Entramos en el router mediante telnet o ssh y debería de tener montada la tarjeta sd en /mmc. Lo comprobaremos con el comando df:
root@dd-wrt:~# df
Filesystem 1k-blocks Used Available Use% Mounted on
rootfs 2816 2816 0 100% /
/dev/root 2816 2816 0 100% /
/dev/mtdblock/4 64 64 0 100% /jffs
/dev/mmc/disc0/part1 118983 13 112823 0% /mmc
Solo tendremos que ejecutar ipkg con la opcion “-d mmc” para instalar programas en la tarjeta sd:
root@dd-wrt:~# ipkg -d mmc install programa
OPENWRT Kamikaze
Lo bueno de openwrt, es que es un sistema operativo muy ligero para el wrt54g, lo cual nos permite disponer de una particion jffs2 de mayor tamaño que en cualquier otro firmware.
Toda la configuración se lleva a través de archivos bajo el directorio /etc/config/ y aunque pueda resultar un poco engorroso en un principio trabajar con estos archivos, merece la pena usarlo ya que ningún otro firmware ofrece tanta libertad.
Openwrt se puede instalar a través de la típica gui de vuestro actual fimware, “Administración-Firmware upgrade”, o a través de el comando tftp. Yo lo voy a hacer con tftp porque si queréis volver a por ej. dd-wrt lo tenéis que hacer como explico a continuación:
Un kamikaze en el router
Lo primero que tenemos que hacer es activar el boot wait. Activarlo hace que el router cuando arranque, mas o menos a los tres segundos, espere durante un breve periodo de tiempo a que se le envíe por ftp un firmware para flashear.
A continuación nos bajaremos el firmware de aquí. Renombramos el archivo a firmware.bin, nos colocamos con una terminal en el directorio del firmware y hacemos:
# apt-get install tftp // Instalamos tftp
Ahora conectamos únicamente el router a nuestro pc y nos asignamos una ip que pueda ver el bootloader ( la IP que se asigna el bootloader es 192.168.1.1 ):
# ifconfig eth0 192.168.1.2 netmask 255.255.255.0
Ponemos en marcha tftp:
$ tftp 192.168.1.1 // Apuntamos al router.
tftp> binary
tftp> put firmware.bin // Lo escribimos en la terminal y no pulsamos enter todavía.
Solo nos queda encender el router y mas o menos a los tres segundos pulsamos enter. Si vemos que nos pone en la terminal “Sent 1839136 bytes in 3.0 seconds” esperamos a que se reinicie el router y ya lo tenemos. En el caso de que te salga “Timeout” ten paciencia y repite el proceso.
La configuración con que viene openwrt es la básica con un cliente dhcp en la wan y con un demonio dhcp escuchando en la lan, con lo que no tendréis problemas para acceder a internet.
Aconsejo, una vez instalado el firmware y antes de editar configuraciones, limpiar la nvram del router para no tener problemas:
$ telnet 192.168.1.1
root@OpenWrt:/# cd /tmp
root@OpenWrt:/# wget http://downloads.openwrt.org/people/kaloz/nvram-clean.sh
root@OpenWrt:/# chmod a+x /tmp/nvram-clean.sh
root@OpenWrt:/# /tmp/nvram-clean.sh
Accediendo a la tarjeta SD
Para que openwrt nos monte la tarjeta, hacemos:
$ telnet 192.168.1.1
root@OpenWrt:/# ipkg update // Actualizamos la lista de programas.
root@OpenWrt:/# ipkg install kmod-fs-ext2
root@OpenWrt:/# ipkg install kmod-broadcom-mmcEn el ultimo comando, hemos instalado el modulo propietario para que el wrt54g pueda trabajar con la tarjeta sd. Este modulo es inestable y tendremos problemas con el. Para arreglar esto, instalaremos uno optimizado para la versión de nuestro router:
root@OpenWrt:/# rmmod mmc
root@OpenWrt:/# cd /tmp
root@OpenWrt:/# wget http://programmingstuff.free.fr/files/openwrt/whiterussian/mmc/1_3_3/gpio5/mmc.o
root@OpenWrt:/# mv mmc.o /lib/modules/2.4.34/
root@OpenWrt:/# insmod mmc
root@OpenWrt:/# dmesg // Visualizamos el log del sistema y no debería de aparecernos ningún log de error.
root@OpenWrt:/# ipkg install e2fsprogs // Instalamos las herramientas para trabajar con particiones ext.
root@OpenWrt:/# mkfs.ext2 /dev/mmc/disc0/part1 // Formateamos la partición de la tarjeta ( Tarda unos minutos en hacerlo ).
Llegados a este punto se pueden hacer varias cosas:
Copiar / a la tarjeta sd y arrancar desde ella: tutorial.
O bien usar la tarjeta como medio de instalación de programas para así no estar limitados por la memoria flash del router, que a continuación explico como hacerlo:
root@OpenWrt:/# mkdir -p /mnt/sd
root@OpenWrt:/# touch /etc/init.d/externalmount
root@OpenWrt:/# vi /etc/init.d/externalmountY añadimos la linea:
mount -t ext2 /dev/mmc/disc0/part1 /mnt/sd
root@OpenWrt:/# ln -s /etc/init.d/externalmount /etc/rc.d/S60externalmount
root@OpenWrt:/# chmod +x /etc/init.d/externalmount
root@OpenWrt:/# vi /etc/ipkg.conf // Configuramos ipkg añadiendo la siguiente linea.dest sd /mnt/sd
root@OpenWrt:/# vi /etc/profile // Editamos /etc/profile para ajustar las rutas.
Cambiamos:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin( lo siento por el tamaño de la fuente pero era la única manera de que el código saliera entero en esta plantilla de wordpress
, si ves la siguiente linea cortada selecciona esa linea hasta el borde derecho de la ventana, solo tenéis que hacer un copy-paste )
Por:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/mnt/sd/bin:/mnt/sd/sbin:/mnt/sd/usr/bin:/mnt/sd/usr/sbin
Y añadimos:
export LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/sd/lib:/mnt/sd/usr/lib
Reiniciamos y volvemos a logearnos por telnet:
root@OpenWrt:/# df // Debería de mostrar la partición /mnt/sd:
Filesystem 1k-blocks Used Available Use% Mounted on
none 7152 28 7124 0% /tmp
/dev/mtdblock/4 2048 716 1332 35% /jffs
mini_fo:/jffs 1216 1216 0 100% /
/dev/mmc/disc0/part1 59869 4127 52700 7% /mnt/sd
Para instalar programas en la tarjeta sd solo tenemos que usar el comando ipkg de la siguiente manera:
root@OpenWrt:/# ipkg -d sd install programa
Un poco de bricolaje
El pequeño monstruo que he montado:
Saludos.
6 Comments Add your own
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed








1.
HSAT | 6 Octubre, 2008 at 12:46 am
Dios mío, impresionante tu blog! Vaya moddings!
Un saludo
2.
Erik | 23 Diciembre, 2008 at 9:37 pm
Muy bueno…genial, son dos router y una carcasa de DVD, un router como cliente y el otro para emitir la señal wifi…. podria ser mmm.
Felizitaciones.
3.
Jose Blanco | 29 Marzo, 2009 at 5:47 pm
Muy buen MOD pero tengo una pregunta en que beneficia tener una SD instalada me da mejor estabilidad al usarlo como cliente??
Disculpa mi ignorancia..
4.
DrGenetic | 9 Abril, 2009 at 11:59 am
El principal beneficio de adaptar una tarjeta SD es que se pueden instalar programas que con la limitada capacidad de la memoria base es impensable. Por ej. servidor web, servidor de correo, monitorizador de redes…
La lista de paquetes instalables se encuentran en las paginas oficiales de openwrt y ddwrt.
Saludos.
5.
Jose Blanco | 10 Abril, 2009 at 4:28 am
Gracias DrGenetic ahora ya entiendo lo del MOD SD
Exitos.!!!
6.
-rikardo | 29 Abril, 2009 at 10:44 pm
Hola, yo se ke no tine mucho ke ver al caso pero tango un problema con la bios de mi mother, fallo la actualizacion y ahora la compu no responde, no da video, nada, asi ke pense ke podia intentar leer el bios (tengo entendido ke es una memoria tipo flash) con un lector de tarjetas sd desde otro pc
mi bios tiene 8 patitas y tengo una copia de respaldo de la bios anterior, asi ke pense ke talvez podria funcionar, veo ke ees un experto en esto de modificar circuitos y pense ke talvez podrias orientarme un poco
gracias
pd. si kieres te puedo adjuntar fotos o lo ke necesites, mi mother es una gigabyte “ga-945gcmx-s2″