Bueno pensé que sería más fácil (...menos de un año
![Azn ^-^](https://foro.seguridadwireless.net/Smileys/nostalgia/silvidos.gif)
).
Lo que he hecho yo para meterle mano es desoldar la flash que está al lado del procesador, leer con flashrom y buscar con GHex quiet=s (aparece 2 veces)
Lo cambias por quiet=n grabas con flashrom sueldas y ya tienes consola por el puerto serie con putty o screen. Fácil pero mejor si se pudiera acceder por telnet
Es un chisme algo antiguo ¿merece la pena?
Flash:-------------
Serial Flash [Bus:0 CS:0] : s25fl128p 16384KB, 256 sectors each 64KB
Serial Flash [Bus:0 CS:1] : s25fl128p 16384KB, 256 sectors each 64KB
Concatenating MTD devices:
(0): "sf0"
(1): "sf1"
into device "sf0"
7 cmdlinepart partitions found on MTD device sf0
partitions[0] = {.name = U-Boot, .offset = 0x00000000,.size = 0x00020000 (128K) }
partitions[1] = {.name = env1, .offset = 0x00020000,.size = 0x00010000 (64K) }
partitions[2] = {.name = env2, .offset = 0x00030000,.size = 0x00010000 (64K) }
partitions[3] = {.name = UBFI1, .offset = 0x00040000,.size = 0x00fb0000 (16064K) }
partitions[4] = {.name = UBFI2, .offset = 0x00ff0000,.size = 0x00fb0000 (16064K) }
partitions[5] = {.name = RootFileSystem, .offset = 0x00146000,.size = 0x00530000 (5312K) }
partitions[6] = {.name = nvram, .offset = 0x01fb0000,.size = 0x00050000 (320K) }
Creating 7 MTD partitions on "sf0":
0x00000000-0x00020000 : "U-Boot"
0x00020000-0x00030000 : "env1"
0x00030000-0x00040000 : "env2"
0x00040000-0x00ff0000 : "UBFI1"
0x00ff0000-0x01fa0000 : "UBFI2"
0x00146000-0x00676000 : "RootFileSystem"
0x01fb0000-0x02000000 : "nvram"
Creating 1 MTD partitions on "sf0":
0x00000000-0x01000000 : "sf0"
Creating 1 MTD partitions on "sf1":
0x00000000-0x01000000 : "sf1"
-----------
Tiene el firm duplicado, (va a ser por eso que quiet=s esté dos veces) y este es el script de arranque de Uboot:
bootcmd=while itest.b 1 == 1;do;
if itest.b ${ACTIMAGE} == 1 || itest.b ${ACTIMAGE} == 3;then
aimgname=UBFI1;
aubfiaddr=${UBFIADDR1};
bimgname=UBFI2;
bubfiaddr=${UBFIADDR2};
bimgnum=2;
else
if itest.b ${ACTIMAGE} == 2;then
aimgname=UBFI2;
aubfiaddr=${UBFIADDR2};
bimgname=UBFI1;
bubfiaddr=${UBFIADDR1};
bimgnum=1;
else
echo *** ACTIMAGE invalid;
exit;
fi;
fi;
if itest.b ${ACTIMAGE} == 3;then
eval *0x80000000 - ${UBFI3RAMRESERVE};
eval 0x80000000 + ${evalval};
ramimgaddr=${evalval};
if autoscr ${ramimgaddr};then
bootm ${LOADADDR};
else
echo Reloading RAM image;
tftpboot ${ramimgaddr} ${UBFINAME3};
if autoscr ${ramimgaddr};then
bootm ${LOADADDR};
else
setenv ACTIMAGE 1;
fi;
fi;
fi;
echo *** ACTIMAGE = ${ACTIMAGE}, will try to boot $aimgname stored @${aubfiaddr};
if autoscr $aubfiaddr;then
echo *** $aimgname bootscript executed successfully.;
echo Start booting...;
bootm ${LOADADDR};
fi;
echo *** $aimgname is corrupted, try $bimgname...;
setenv ACTIMAGE $bimgnum;
if autoscr $bubfiaddr;then
echo *** $bimgname bootscript executed successfully.;
echo Check image...;
if imi ${LOADADDR};then
echo Save updated ACTIMAGE...;
saveenv;
echo Image OK, start booting...;
bootm ${LOADADDR};
fi;
fi;
echo Backup image also corrupted...exit.;
exit;
done;
Uff.