.
Para poder realizar este tutorial es necesario que dispongas de alguno de estos recursos:
- Router con gran memoria flash libre
- SD/MMC mod.
- Router con USB.
Aqui vamos a explicar cómo hacerlo usando el SD/MMC mod. QUIERO DEJAR CLARO QUE TODA LA INFORMACIÓN ESTÁ EXTRAIDA DEL BLOG MATANDO EL TIEMPO (gracias Edu por tan buen documento).
Primer paso: Instalar SD
Puedes encontrar toda la información en: http://nuwiki.openwrt.org/oldwiki/OpenWrtDocs/Customizing/Hardware/MMC?highlight=%28mmc%29
Video explicativo de Lampi:
Y unas fotos (son las mejores que he encontrado. Extraidas de aquí):
Segundo paso: Instalar Optware
Como se detallada en Matando el Tiempo:
1) Firmware: DD-WRT v24 sp2 (10/10/09) con mod SD, una tarjeta reconocida (las modernas, por ejemplo HC, no las reconoce) y lista para usar.
Me ha reconocido una de 1 Gb (velocidad x66).
2) Montar la partición en la SD
mkdir /mmc/jffs
mount --bind /mmc/jffs /jffs
3) Instalar Optware
mkdir /jffs/opt
mount -o bind /jffs/opt /opt
mkdir /jffs/tmp
cd /jffs/tmp
wget http://www.wlan-sat.com/boleo/optware/optware-install-ddwrt.sh
./optware-install-ddwrt.sh
Adjunto el código de dicho script de instalación:
#!/bin/sh # Optware pre-installation script, Leon Kos 2006, 2008 # added -verbose_wget to some lines, MrAlvin 2009 REPOSITORY=http://ipkg.nslu2-linux.org/feeds/optware/ddwrt/cross/stable TMP=/tmp PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin unset LD_PRELOAD unset LD_LIBRARY_PATH _check_config() { echo "Checking system config ..." GATEWAY=$(netstat -rn | sed -n 's/^0.0.0.0[ \t]\{1,\}\([0-9.]\{8,\}\).*/\1/p' ) if [ -n "${GATEWAY}" ]; then echo "Using ${GATEWAY} as default gateway." else echo "Error: No default gateway set!" exit 2 fi if [ -s /etc/resolv.conf ]; then echo "Using the following nameserver(s):" if grep nameserver /etc/resolv.conf ; then GATEWAY_SUBNET=$(echo "${GATEWAY}" | sed 's/\.[0-9]\{1,3\}\.[0-9]\{1,3\}$//') if [ "${GATEWAY_SUBNET}" = "192.168" ]; then if grep -q ${GATEWAY} /etc/resolv.conf ; then echo "Gateway ${GATEWAY} is also nameserver." else echo "Warning: local nameserver is different than gateway!" echo "Check config or enter:" if test -L /etc/resolv.conf ; then echo " sed -i s/192.168.*/${GATEWAY}/ /tmp/resolv.conf" else echo " sed -i s/192.168.*/${GATEWAY}/ /etc/resolv.conf" fi echo "and try again - or wait to see if your download continues anyway." fi fi else echo "Error: No nameserver specified in /etc/resolv.conf" exit 5 fi else echo "Error: Empty or nonexistent /etc/resolv.conf" exit 3 fi if mount | grep -q /opt ; then [ -d /opt/etc ] && echo "Warning: /opt partition not empty!" else echo "Error: /opt partition not mounted." echo "for running Optware on JFFS (not recommended), Enter" echo " mkdir /jffs/opt" echo " mount -o bind /jffs/opt /opt" echo "to correct this." exit 4 fi } _install_package() { PACKAGE=$1 echo "Installing package ${PACKAGE} ..." echo " Some newer versions of DD-WRT does not show download progress bar," echo " so just be patient - or check STATUS -> BANDWIDTH tab for download" echo " activity in your routers Web-GUI, and then still wait a minute or two." wget -O ${TMP}/${PACKAGE} ${REPOSITORY}/${PACKAGE} cd ${TMP} tar xzf ${TMP}/${PACKAGE} tar xzf ${TMP}/control.tar.gz cd / if [ -f ${TMP}/preinst ] ; then sh ${TMP}/preinst rm -f ${TMP}/preints fi tar xzf ${TMP}/data.tar.gz if [ -f ${TMP}/postinst ] ; then sh ${TMP}/postinst rm -f ${TMP}/postinst fi rm -f ${TMP}/data.tar.gz rm -f ${TMP}/control.tar.gz rm -f ${TMP}/control rm -f ${TMP}/${PACKAGE} } _check_config _install_package uclibc-opt_0.9.28-13_mipsel.ipk _install_package ipkg-opt_0.99.163-10_mipsel.ipk /opt/sbin/ldconfig /opt/bin/ipkg -verbose_wget update /opt/bin/ipkg -force-reinstall -verbose_wget install uclibc-opt /opt/bin/ipkg -force-reinstall -verbose_wget install ipkg-opt
¡ Ya podemos instalar paquetes de Optware en nuestro router! Puedes ver una lista resumen aquí y directamente los paquetes aquí.
Para ello, ahora dispones en /opt/bin de la utilidad ipkg-opt para poder instalar paquetes Optware.
4) Tienes que asegurarte que cada vez que se inice el router, se ejecuten las ordenes:
mount --bind /mmc/jffs /jffs
mount -o bind /jffs/opt /opt
Gracias a estos dos comandos, /jffs y /opt apuntan a directorios de la MMC.
Para ello, en el menu ADMINISTRATION / COMANDS, puedes grabar un script con las ordenes a ejecutar (SAVE STARTUP).
Nota: Sólo he detallado lo mínimo para poder empezar a instalar paquetes. Se puede necesitar ampliar los comandos en el script de inicio, si se desea usar otros servicios, como por ejemplo servidor web con php u otros.
Si quieres probar el ejemplo de CONTROLAR LCD A TRAVÉS DE WEB EMBEBIDA, lo he adaptado a PHP (necesitas instalarte los paquetes php y php-thttpd):
Dispones de 3 archivos:
- form_lcd.html => Principal. Contiene el formulario a enviar.
- lcd.jpg => Foto que se muestra en la página principal.
- script.php => Recoge los datos enviados por POST y los envia por puerto serie.
Ahora puedes dejar el servidor que viene con DD-WRT para servir las páginas de configuración del router escuchando en el puerto 80 y añadir nuevo/s servidor/es con mayor capacidad para tus páginas personales. (Por ejemplo, php-thttpd por el puerto 8080). ¡Puedes usar PHP 5!
A continuación, pongo las fotos que he realizado del proceso:
Con esta mod al router, ya sólo queda en tu imaginación las aplicaciones que puedes realizar. Ya no perderás nada cuando tu router se reinicie. Repasa los paquetes Optware que puedes descargar, y seguro que se te van ocurriendo ideas.
Notas adicionales:
Tomato dispone de una versión con drivers para manejar SDHC, la he probado con una tarjeta de 4 Gb y ha funcionado perfectamente. Tengo que ver si se pueden usar los paquetes Optware con dicho firmware, ya que el router parece ir más descargado con dicho firmware.
Link: TOMATO firmware with SDHC mod
.
HOla! Oye amigo ya he podido montarme la SD al linksys pero lo que no he entendido bien es donde introducir los comandos? si pudieras hecharme una mano te lo agradeceria mucho.
ResponderEliminarOla! ya he solucionado un poko el problema, lo que pasa es que la direccion que nos das para bajar el optware-install-ddwrt.sh est bn muerta!
ResponderEliminarAquí encontre la siguiente!
---------
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh
----------
Honor a quien honor merece! estaba en los foros de dd-wrt
Seguimos avanzando!
Hola Manuel Antonio,
ResponderEliminarMe alegro que lo hayas solucionado!!
Con el mierdo que el script de instalación se perdiera, si te fijas esta copiado el código en este post. Podías haberlo copiado y usado.
Pero si ya lo tienes en marcha, perfecto!!!
Saludos
si lo que pasa es que estaba bastante verde y no entendia bien que era ese codigo jeje ahora lo se!, Una pregunta he buscados bastante, y digo bastantisimo, peor no encuentro mucho, sabes alguna manera de instalar Mysql, para de esta manera poder guardar los datos de un sensor en una base de datos, Por tu atencion y rapida respuesta GRacias!
ResponderEliminarHola,
ResponderEliminarEn los paquetes de Optware tienes servidor de mysql.
http://www.nslu2-linux.org/wiki/Optware/HomePage
Saludos