Cómo instalar ddwrt, OpenWrt u otro firmware en La Fonera

Hace tiempo que instalé OpenWrt en mi fonera con un método bastante engorroso y delicado, teniendo que habilitar la conexión SSH primero. Ayer cometí un error al configurar la red, quería que cogiese la IP de red por DHCP y perdí el acceso a la fonera, así que me quedé con un ladrillo que gasta corriente.

Había escuchado buenas críticas sobre dd-wrt (especialmente de la interfaz web de administración) así que también quería probarlo.

Este post es un resumen de cómo flashear el firmware dd-wrt en la fonera, aunque puede hacerse de igual forma con OpenWrt u otros.

Bueno, vamos directamente al tema en sí. Necesitaremos lo siguiente:

  1. Una fonera compatible con dd-wrt u OpenWrt. En mi caso tengo una Fonera 2100 de las primeras.
  2. La última versión del firmware dd-wrt compatible con la fonera, es un único archivo .bin que se consigue en su web oficial: http://www.dd-wrt.com
    Puede aparecer que hay la versión Console o WebFlash, nos interesa la versión Console, la otra es para subirla por el interfaz web.
    Si quisiéramos utilizar OpenWrt, tenemos que descargar de la última versión, el rootfs (archivo con los datos de la partición) en formato jffs2 (para poder escribir en él) y el vmlinuz (el kernel de linux compatible) para la arquitectura atheros. Actualmente están en la siguiente dirección: http://downloads.openwrt.org/kamikaze/8.09.2/atheros/
  3. El FonFlash que se puede conseguir en esta dirección: http://www.gargoyle-router.com/download.php
    Debemos seleccionar en el primer combo del tipo de descarga el FonFlasher para el sistema operativo que estemos utilizando. Están soportados tanto Windows, como Linux y MacOs.
  4. El FonFlash requiere la librería libpcap, si no la tienes instalada obtenla del repositorio si usas Linux (apt-get install libpcap0.8) o en el caso de Windows desde la web oficial del port para este sistema operativo: http://www.winpcap.org/
  5. Un cable de red rj45 y un ordenador para realizar la instalación.

Ahora es cuando vais a alucinar con la facilidad para realizar este proceso:

  1. Pulsamos el botón de reset durante al menos 30 segundos en la fonera para resetearla.
  2. Conectamos la fonera con el cable rj45 al ordenador, sitúala en un sitio donde no haya riesgo de que se desconecte el cable de red o el de alimentación. De momento deja el cable de corriente desconectado.
  3. Lanzamos el programa FonFlash, en Linux pedirá la contraseña del usuario para poder ejecutar los comandos con sudo.
  4. Seleccionamos en el combo de tipo de firmware dd-wrt u OpenWrt según sea nuestro caso:
  5. En el combo de interfaz de red, seleccionamos nuestra tarjeta de red donde está conectado el cable rj45.
  6. Le indicamos el archivo de firmware que nos hemos bajado, en el caso de OpenWrt necesitará los dos archivos: rootfs y vmlinuz.
  7. Pulsamos el único botón que tiene la aplicación: «Flash Router Now!» y le conectamos el cable de corriente a la fonera después.
  8. Esperad pacientemente a que finalice el proceso, en cuanto termine mostrará un mensaje y la fonera se reiniciará.
  9. ¡Listo! la fonera arrancará con un servidor DHCP habilitado, debemos entrar en la web de la fonera para configurar el usuario y contraseña de acceso al panel de control. Por defecto la url será http://192.168.1.1

Resulta muy interesante el funcionamiento interno de este programa, el código fuente del mismo está disponible en su web oficial si tienes mucha curiosidad. Intercepta la petición DHCP de la fonera para acceder al RedBoot (un telnet de emergencia que tiene la fonera al arrancar durante unos segundos), ejecuta todos los comandos delicados y peligrosos por nosotros, e incluso transfiere por TFTP el archivo con el nuevo firmware, nosotros sólo tenemos que pulsar un botón.

Por otro lado la interfaz web de dd-wrt es extensísima y completa, tiene incluso gráficas del ancho de banda consumido, velocidades de las distintas interfaces, permite la configuración en modo cliente, WDS, tiene cliente y servidor VPN, etc… un sin fin de funcionalidades que convertirán a la fonera en un enrutador de altas prestaciones.

Una imagen vale más que mil palabras:

¡Que lo disfrutes! 🙂

19 comentarios

  1. Hola.

    Cuando dices «un cable RJ45» (punto 5) ¿tiene que ser un cable cruzado?

    Tengo una fonera 2200 que ha aparecido perdida en una caja desde hace cuatro o cinco años y quiero instalarle un firm como $DEITY manda. Este sistema me parece mucho más sencillo que los que he visto por ahí (de la época de la fonera) pero me temo que la mía viene con el redboot capado (creo) y no sé si a va funcionar.

    Un saludo

  2. Hola Carlos, pues si no recuerdo mal la fonera tiene uno de esos circuitos que autodetectan si el cable es cruzado o no, así que debería dar lo mismo.
    Yo probaría directamente con uno cruzado si dispones de él, aunque no cuesta nada hacer una prueba primero intentando conectar a la fonera por http, antes de empezar con todo el proceso de cambio de firmware. 🙂

  3. Hola de nuevo.

    Pues efectivamente no hace falta un cable cruzado, con uno normal ha funcionado perfectamente.

    La verdad, es que es una pasada lo fácil que ha sido instalar el dd-wrt en la fonera. Y ni color con el firmware original. Al hilo de esto, ¿merece la pena instarle el openwrt? La verdad es que el dd-wrt tiene una pinta bárbara y he visto en su página un montón de manuales para hacer cosas muy interesantes.

    Un saludo

  4. Hola Carlos,
    me alegro que te haya funcionado correctamente. Yo inicialmente tenía instalado OpenWrt y está muy bien, te deja un sistema operativo básico y tu instalas lo que necesites, muy estilo debian. Posteriormente instalé dd-wrt y me gustó mucho, porque prácticamente todo lo que puedes hacer con OpenWrt lo puedes hacer con dd-wrt y de forma más sencilla mediante la interfaz web.
    Actualmente tengo montado un bridge entre la interfaz de wifi y la de cable, de tal forma que al conectarla a un switch, únicamente sirva para autenticarse contra la wifi, las peticiones DHCP y resto de tráfico se reenvían a la red de cable de forma transparente; dicho de otra forma, es como si el switch también soportase wifi.

    Un saludo.

  5. Buenas,

    he flasheado una fonera 2200 con esta guía y sin ningún problema, aparentemente, durante el proceso. El fallo está en que cuando se reinicia no arranca la wifi por lo que no puedo hacer nada. Si intento acceder por cable, responde ping a la 192.168.1.1 pero no accede por web desde ningún navegador ni consola.

    qué puedo hacer?. Le he metido el firmware ‘linux.bin’ para este modelo.

    un saludo

  6. Hola Fernando,
    si has probado con la versión beta, prueba con la estable y/o viceversa. Es posible que el proceso no concluyese correctamente, que el archivo estuviese corrupto, etc…
    El RedBoot debería seguir funcionando, así que te dejará repetir el proceso las veces que necesites. Si ves que ddwrt no funciona de ninguna de las maneras, prueba con OpenWrt (ya sé que no es igual, pero por lo menos tendrías algo funcional).

    Ya me dirás si pudiste solucionar el problema.

    Un saludo.

  7. gracias por contestar Jesús.

    he probado con ambas versiones y nada. He bajado varias veces los .bin por si estaban mal y, en el proceso de flasheo, no da ningún error ni problema, acaba correctamente.

    realmente no sé si le pasa algo físico a la fonera, pero lo dudo ya que estaba sin usarse ni toquetear :(.

    un saludo

  8. Prueba a apagar tu pc y la fonera, y conectalos directamente con un cable de red. Enciende la fonera y espera unos 3 o 5 minutos a que esté totalmente encendida. Acto seguido, enciende tu pc, si el servidor DHCP de la fonera funciona correctamente le asignará una IP (siempre que no estés utilizando IPs estáticas en tu red, claro) y probablemente puedas entrar en la web de administración.
    Si esto no te funciona la cosa se complica, habría que intentar entrar por ssh y ahí intentar deducir cual es el problema.

  9. La estaba flasheando directamente con cable de red sin tener internet ni nada en el equipo sobremesa. Desde la ultima vez que la he flasheado y reiniciado, está únicamente con las luces de power y eth y no asigna IP por DHCP. Si la pones manual, te responde a ping en la 192.168.1.1 pero no accede al panel de control de dd-wrt.

    He probado en el sobremesa y en el portatil y nada de nada, ya me tiene intrigado.

  10. hola de nuevo,

    le acabo de poner openwrt mediante fonflash y nada…no carga wifi ni asigna por DHCP.

    vaya desastre xDDD

  11. nada, lo dejo por imposible. Creo que el fallo, aunque se flashea bien, debe estar en el redboot.

    gracias por tu atención. un saludo

  12. Ummm, es posible que tenga algún problema, yo primero intentaría hacerle un reset para ver si coje la configuración de fábrica, es posible que la antigua esté generando algún problema. Si no recuerdo mal al cambiar el firmware y resetear no vuelve al firmware original de fon, así que o bien al resetearlo funciona, o sino lo que intentaría es buscar el firmware oficial de fon e intentar ponerla «de serie», aunque con un firmware que tenga un exploit conocido, claro. Si ni con ese funciona bien, probablemente tenga algún defecto de hardware o problema con el redboot.

  13. Hola, me gustaria hacer un programa que use los datos y estadisticas de un router con dd-wrt. Necesito conocer «en tiempo real» la intensidad y calidad de señal de los clientes conectados al router. ¿Como puedo descargar estos datos para poder usarlos con mi programa? ¿Podría directamente acceder al router?

    Muchas gracias

  14. Muchas gracias, le echare un vistazo al programa. De todos modos alguien sabe que instrucciones o comandos por ssh estan disponibles?

    Saludos,

  15. quiero flashear mi fonera 2100 y cuando le doy «flash Router Now» me dice que lo siguiete:
    Non arp received. Make sure, the device is connected directly!
    No Packet
    no se como seguir…
    tienen que estar en la misma red?
    cual seria la red por defecto…

  16. Hola Nicolas, el error aparece porque tienes que conectar un cable de red directo entre el pc y la fonera, sin pasar por ningún switch ni router. Si no recuerdo mal no hace falta que sea cruzado, pero si ves que te da problemas el que uses (que probablemente será un cable sin cruzar), prueba con uno cruzado.

  17. Al igual que Nicolás, me pone lo de No Packet, etc… cambié cable, asigné ip, también lo hice por DHCP… y sigue poniendo l mismo. Que puede pasar. Gracias.

  18. Pingback: Flashear fonera 2100... | Raiden.tk

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *