Recuperar el firm original de fon.

TOP meneame.net

Si no tenemos el telnet abierto y nuestra fonera no arranca, tenemos que utilizar el cable para poder flashear la fonera mediante redboot y un servidor tftp.

Tambien hay que configurar redboot con una ip local y la ip del servidor tftp de la siguiente forma:

ip_addr -h server_ip -l fonera_ip/24

Cuando tengamos montado el servidor tftp, meteremos en su carpeta los archivos rootfs y vmlinux.bin.l7 para poder descargarlos desde la fonera mediante redboot y flashearlos:

fis init
load -r -v -b 0×80040450 rootfs
fis create -b 0×80040450 -f 0xA8030000 -l 0×00700000 -e 0×00000000 rootfs
load -r -b %{FREEMEMLO} vmlinux.bin.l7
fis create -r 0×80041000 -e 0×80041000 vmlinux.bin.l7

Es importante recordar que no hay que tocar la fonera mientras se está escribiendo la flash pues es un proceso delicadoy hay que tener paciencia ya que es bastante lenta la escritura de la flash. Si fallase, siempre se puede empezar de nuevo.

Cuando haya acabado, reiniciamos la fonera y volverá a funcionar como siempre.

<< Volver

5 comments to “Recuperar el firm original de fon.”

  1. Comment by raksen:

    Hola, estoy teniendo problemas para recuperar el firm original tras haber abierto telnet para redboot en la fonera. El firmware desde el que estaba haciéndolo todo era 0.7.0 r4.

    Lo que obtengo al seguir este manual es:

    RedBoot> fis init
    About to initialize [format] FLASH image system – continue (y/n)? y
    *** Initialize FLASH Image System
    … Erase from 0xa87e0000-0xa87f0000: .
    … Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
    RedBoot> load -r -v -b 0×80040450 rootfs
    ** Error: invalid number ” for load address

    Pongo aquí lo que obtengo al hacer “fis list” por si sirve de algo:

    RedBoot> fis list
    Name FLASH addr Mem addr Length Entry point
    RedBoot 0xA8000000 0xA8000000 0×00030000 0×00000000
    rootfs 0xA8030000 0×80040800 0×000B0000 0×80040800
    FIS directory 0xA87E0000 0xA87E0000 0×0000F000 0×00000000
    RedBoot config 0xA87EF000 0xA87EF000 0×00001000 0×00000000

    Si no recuerdo mal, creo que al principio me equivoqué e hice:
    RedBoot> load -r -b %{FREEMEMLO} vmlinux.bin.l7
    RedBoot> fis create rootfs
    ya que me lié con este manual y un post en un foro.

    Espero que se pueda recuperar… :(

  2. Zen Comment by KaR]V[aN:

    Una curiosidad, cuando haces el fis init, es un copy/paste desde la página web?

    Resulta que la web cuando pilla un 0xnúmero, convierte la x en una x rara (x ×, espero que veas la diferencia), por eso te recomieno que no hagas un copy/paste, si no que pongas la consola del telnet al frente y a un lado el navegador con la guia para copiarlo a mano, letra a letra tal cual lo pone.

    Otra cosa que debes de tener en cuenta es que has de renombrar los archivos que te bajes (mtd1 y mtd7) a rootfs y vmlinux.bin.l7 repectivamente en el directorio del tftpd, ya que el archivo que tratas de bajarte se llama así (RedBoot> load -r -v -b 0×00040450 rootfs), aunque si no los renombras podrías llamarlos al tftp así ‘RedBoot> load -r -v -b 0×00040450 mtd1′ por ej.

    Un saludo

    PD: Yo tambien tuve ese mismo problema siguiendo mi propia guia hasta que descubrí lo de las X en el código fuente de la web que se muestran así: load -r -v -b 0×80040450 rootfs

  3. Comment by raksen:

    Era eso que tú dices de las x, he copiado los comandos a mano y ha salido todo perfecto a la primera :D.

    Muchas gracias por tu ayuda.

  4. Comment by raksen:

    Hola de nuevo después de tanto tiempo!

    Verás, quería preguntarte una cosa: He permitido que se me actualice el firm de la fonera a la versión 0.7.1 r3, y no he perdido el acceso por SSH, aunque sí creo que me ha cambiado el archivo thinclient ya que el de ahora no tiene unas líneas con comentarios que tenía antes y tampoco me aparece al entrar por SSH en la bienvenida nada de KaR]V[aN ya. Otra gente que ha actualizado el firm ha perdido el acceso por SSH, ¿sabes por qué yo no lo he perdido?

    Supongo que será porque la copia de seguridad del rootfs que tienes puesto en el post de “Recuperar el firm original de fon” es tu versión modificada, ¿no? Si es así, me alegro muchísimo de haberla flasheado con ella :)

    Yo descargué éste: /original_firm/mtd1; y en otro sitio de tu página tienes colgado tu rootfs modificado como karman.fon.rootfs.squashfs. ¿Puede ser que sean el mismo por error?

    ¿Y podrías explicarme un poco como funciona el proceso para que haya perdido el enlace a tu página que me aparecía cuando entraba por SSH y que sin embargo el firewall.user siga siendo el mismo? Es que estoy hecho un lío…

    Saludos.

  5. Zen Comment by KaR]V[aN:

    Buenas,

    Si que son el mismo, el karman.fon.rootfs.squashfs es la primera modificacion que hice, y luego lo de original_firm es una backup que hice, pero claro, con el firm ya modificado. Realmente son el mismo el original de fon y el mio, solo que el mio ya va con thinclient capado y ssh abierto para siempre.

    La idea principal de hacer mi firm modificado es que puedes reiniciar la fonera pulsando 20 seg el boton de reset y sin embargo no perderás el acceso ssh. Mi thinclient lo puedes restaurar copiandolo desde /rom/bin/thinclient (/rom es la versión flash tal cual la bajaste de mi pagina, los cambios que se realizan se guardan sobre /jffs).

    Respecto lo de que hayas perdido mi enlace, eso es porque la actualización ha modificado el /etc/motd, que es donde estaba mi enlace. Tambien puede ser restaurado desde /rom/etc/motd.

    Un saludo

Contador