Este Sábado decidí cambiarle el firmware a la Fonera y ponerle un flamante DD-WRT. Cuando me la regalaron, en el SIMO del año pasado, pude acceder a ella vía SSH y acceder a la línea de comandos (el firmware de la fonera está basado en OpenWRT, una distribución linux para sistemas empotrados). Ayer no me conformé con eso, y decidí probar con DD-WRT.

Lo primero que hice fue conectarme vía serie (RS232), usando el pinout que hay en la fonera, y un conversor de niveles MAX232 (muy baratos, incluso Maxim-Dallas los manda como churros de muestra completamente gratuitos). En esta web tenéis un completo tutorial sobre como hacerlo.

En los manuales que leí por internet, la gente usaba wget conectandose a un servidor externo. Esto está muy bien si tu fonera tiene acceso a internet, como este no era mi caso ( creo que algo cambié la ultima vez, que la deje un poco inutilizada…) lo que hice fue bajarme todos los archivos a una carpeta en mi escritorio (para luego servirlos en un FTP):

Además, necesité un servidor FTP y uno TFTP (el FTP puede perfectamente ser un servidor web…) y Putty para conectarme vía serie y usando Telenet (es una especie de Hyperterminal pero con muuuchas más opciones);

Para poder acceder desde la fonera al servidor FTP y TFTP necesitamos un cable ethernet cruzado que conectamos desde la fonera al PC que tiene instalados estos servidores. Lo conecté y confguré la IP del PC de forma estática a 192.168.1.3

Tras conectarme vía serie a la fonera accedo a la línea de comandos (una shell Linux…) y lo primero que hice fue comprobar la conectividad con el PC con un ping 192.168.1.3. Tras ver que todo estaba bien, ya pude comenzar con la instalación propiamente dicha:

El primer paso consiste en modificar la configuracion del Redboot. RedBoot es una aplicacion de codigo abierto que permite el intercambio de archivos en sistemas embebidos mediante el cable serie o el cable ethernet. Esta provisto de una linea de comandos que permite administrar las imagenes de la Flash, las configuraciones del RedBoot, descargar archivos desde un servidor tftp, etc.. La fonera por defecto viene con el redboot capado para entrar por ethernet y solo podremos acceder a el si usamos un cable serie.

root@OpenWrt:~# cd /tmp
root@OpenWrt:~# wget ftp://192.168.1.3/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
root@OpenWrt:~# mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
root@OpenWrt:~# reboot

Tras estos pasos la fonera se reinicia, volvemos a conectar con Putty vía puerto serie y tecleamos:

root@OpenWrt:~# cd /tmp
root@OpenWrt:~# wget ftp://192.168.1.3/out.hex
root@OpenWrt:~# mtd -e “RedBoot config” write out.hex “RedBoot config”
root@OpenWrt:~# reboot

Tras este paso la fonera no se reinicia bien por lo que hay que seguir estos pasos:

  • Desconectar la fonera
  • Ejecutamos ping -t 192.168.1.254 y lo dejamos funcionando
  • Abrimos el Putty y lo preparamos para conectar mediante telnet a la IP 192.168.1.254 en el puerto 9000
  • Enchufamos la fonera
  • Cuando comienza a responder a los ping, conectamos mediante Putty

Si todo ha ido bien deberíamos estar viendo el prompt “RedBoot>”. En mi caso no funcionó el apagarla y encenderla, asique le hice un corto entre Vcc y masa desde el pinout y eso funcionó.

( Editado: tras flashear otra fonera, me di cuenta de dos cosas. La primera es que usando puerto serie (RS232) no hace falta llevar a cabo estos pasos… tras reiniciarse en la ventana de Putty nos aparecerá el esperado prompt. Además en los pasos que se describen a continuacion, si se realizan desde el puerto serie, podemos ver mucha más informacion que usando telnet y nos ahorramos el tener que hacer la conexion de telnet al puerto 9000. )

Ahora tenemos que configurar el directorio del TFTP en nuestro ordenador y decirle al RedBoot de la fonera de donde debe bajarselos del siguiente modo:

RedBoot> ip_address -l 192.168.1.254 -h 192.168.1.3

La primera IP es la IP de la fonera, y la segunda es la del ordenador con el TFTP instalado que está conectado con un cable ethernet cruzado a la fonera.

Ya podemos pasar a instalar el firmware dd-wrt (cuidado si hacéis copy-paste con las ‘x’… deben ser ‘x’ normales y corrientes. Gracias a Andrómeda por hacernos ver ese fallo…):

RedBoot> fis init
RedBoot> load -r -v -b 0×80041000 root.fs
RedBoot> fis create -b 0×80041000 -f 0xA8030000 -l 0×002C0000 -e 0×00000000 rootfs
RedBoot> load -r -v -b 0×80041000 vmlinux.bin.l7
RedBoot> fis create -r 0×80041000 -e 0×80041000 -l 0×000E0000 vmlinux.bin.l7
RedBoot> fis create -f 0xA83D0000 -l 0×00010000 -n nvram
RedBoot> reset

Algunos de los pasos de arriba, tardan bastante (algunos más de 5 minutos). Hay gente que dice que les ha tardado hasta 20′, aunque no fue mi caso…

Si todo ha ido bien, tras el reset, la fonera empezará a emitir una señal abierta con SSID “dd-wrt”. Si nos conectamos, podremos entrar a la configuración en la IP 192.168.1.1 con usuario/contraseña root/admin.

La cantidad de opciones que ofrece DD-WRT son incontables en comparación con la pobre interfaz que nos ofrecía la fonera. En definitiva, merece la pena el experimento. En un futuro os hablaremos en este blog sobre las posibilidades de este firmware.

Más información | Fonera.info

Muy MaloMaloRegularBuenoMuy Bueno (4 voto(s), media: 5 sobre 5)
Cargando ... Cargando ...

11 Respuestas a “Instalando DD-WRT en mi Fonera”

  1. Pingo Wellman dice:

    Fantastico Post. Que ganas tengo de ver esa fonera en accion y hacer algunas preguntillas, porque esto es para imitarlo y hacerlo en casa, jeje

  2. Agregala dice:

    Que bueno el post, coincido tambien,

    He agregado esta entrada a nuestra red social de noticias en donde podrá ser votada.Os invitamos a visitarnos.

    http://www.Agregala.com

    Saludoss

  3. Sergio dice:

    Hola, una vez instalado el dd-wrt, como podemos acceder mediante SSH?
    En el putty ponemos la ip: 192.168.1.1 pero que puerto? Por cable o wifi?

    Saludos

  4. Andromeda dice:

    Muy bueno, acabo de instalarlo…

    Ya hare algunos comentarios de como instalarlo encima de otro dd-wrt y algunas notas.

    Un Saludo.

  5. Sparc dice:

    Hola Sergio, si lo que quieres es conectarte a la fonera y tener una línea de comandos lo puedes hacer por Telnet (puerto 23). Si no, para activar SSH puedes ir a “Services” y activar Secure Shell… luego en “Administration” activas SSH Management.
    Por cable serie, solamente tendras acceso al RedBoot durante los 10 primeros segundos de arranque de la fonera.

    Andromeda, ya nos contaras esos truquillos :)

  6. Andromeda dice:

    Poner atención que en la web las lineas la errata de la x :
    RedBoot> fis init
    RedBoot> load -r -v -b 0×80041000 root.fs
    RedBoot> fis create -b 0×80041000 -f 0xA8030000 -l 0×002C0000 -e 0×00000000 rootfs
    RedBoot> load -r -v -b 0×80041000 vmlinux.bin.l7
    RedBoot> fis create -r 0×80041000 -e 0×80041000 -l 0×000E0000 vmlinux.bin.l7
    RedBoot> fis create -f 0xA83D0000 -l 0×00010000 -n nvram
    RedBoot> reset

    Menos en la última linea el “0×80041000″ lo que hay entre el 0 y el 8 es una x, pero si haceis un copy-paste directamente desde la web os dara un error ya que hay un caracter diferente (esta × y es x)

    Otra cosa, si tenemos metido un firmware más grande, tal vez tengamos que hacer un “fis init -f” porque si no cuando vayamos a hacer los “fis create” nos dara un error del tipo “Can’t locate e0000(917504) bytes free in FLASH” al no caber el nuevo firmware.

    A parte de eso muy buen post.

    Un Saludo.

  7. Sparc dice:

    Muchas gracias por la aportación, Andromeda. La verdad no se xq salen así las ‘x’, he intentado editarlo pero parece ser un problema de la plantilla. Pero efectivamente esas ‘x’ son las clásicas de los números en hexadecimal.

  8. Jose dice:

    Hola puedo comprar una fonera con invitacion o sin ella y cambiarle el firmware al segundo dia? gracias un saludo

  9. Andromeda dice:

    Claro, si fonera es tuya puedes hacer con ella lo que quieras.

    Eso si, te recomiendo no conectarla a Internet, ya que si te actualiza a un firmware más reciente suele ser más complicado abrir el ssh. Aunque siempre puedes volver al firmware original, leete este post de mi blog reseteando la fonera y las lecturas que recomiendo para empaparte un poco más de todo el proceso.

    Un Saludo.

  10. AMO dice:

    Como es la cosa, compras una fonera por 23€ y no la conectas y fon no te pide explicaciones??? No existe contrato de permanencia???

  11. Andromeda dice:

    Por pedir pueden pedir lo que quieran, tu has pagado por un aparato, el uso que le des es problema tuyo, yo estuve 6 meses y como no se conectaba ni el tato, actualice la fonera con el DD-WRT firmware y pase de tener un aparato inútil a un Access Point con un montón de funcionalidades, no me dijeron nada. Regalaron un par de foneras a un par de amigos cuando sacaron la promoción que se las enviaban gratis a amigos tuyos, uno de ellos la uso unos días y no la volvió a conectar(hasta que hace unos días le instale el DD-WRT), el otro no la conecto nunca, estoy a ver si quedamos para convertírsela, de esto hace por lo menos un año.

Deja una Respuesta

Cerrar
Enviar por Correo