Was mich mal interessiert ist das grudsätzliche Vorgehen und "Nichtfunktionieren": Wenn du einen "falsch" modifizierten Bootlader in der Box hast, geht der Lader dann garnicht (also z.B. das FTP) oder geht "nur" das Recover nicht? Ich könnte mir vorstellen, dass das Recover grundsätzliche Probleme mit der unbekannten Größe des Flashs hat (z.B. wollen die "neueren" Recovers ja wohl teilweise den Bootlader erneuern, was hier wohl logischer Weise Probleme machte). Also muss man mit 32MB eventuell "von Hand recovern", also die mtd's per FTP einspielen.
Ansonsten würde ich vorschlagen, die Werte nach und nach zu verändern, also:
Erstmal nur die Flashgröße auf 32MB, dann erstmal mtd2 bei 128k lassen und nur mdt1 vergrößern und 3+4 verschieben und zuletzt versuchen, die Größe des Bootladers zu ändern?
Beim Übergang von 4 auf 8 MB wurde das auch so gemacht, dass mdt2 gleich blieb und erst beim Übergang auf 16MB kan die Änderung. Vielleicht sollte man in der Richtung testen?
Mal sehen, wenn es mein Wachheitsgrad gleich zulässt, mache ich vielleicht mal einen Entwurf ;-)
Jörg
EDIT: Ich habe um Sicherzugehen mal von
Enriks Erkenntnissen hier ausgehend meinen Vorschlag kommentiert. Damit sollte jede Andere Änderung auch möglich sein...
Also die Bytes sind immer in Little Endian, also von hinten nach vorne zu lesen. Damit folgt:
Code:
000570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000580 02 00 00 00 80 00 00 40 21 00 00 00 A8 03 00 00
000590 17 47 21 02 81 05 B0 00 00 87 90 10 34 2D A6 05
-0005a0 36 2D A6 05 00 00 00 04 [B]00 00 00 01[/B] 00 00 00 00
+0005a0 36 2D A6 05 00 00 00 04 [B]00 00 00 02[/B] 00 00 00 00
# Also Flash-Größe von 01 00 00 00 (16MB) auf 02 00 00 00 (32MB)
# Das sollte immer o.k. sein
-0005b0 00 00 00 00 [B]00 00 00 90[/B] [B][I]00 00 00 00[/I][/B] [B]00 00 02 90[/B]
+0005b0 00 00 00 00 [B]00 00 00 90[/B] [B][i]00 00 00 00[/i][/B] [B]00 00 04 90[/B]
# MTD0 Start bei 90 00 00 00 ohne Änderung
# [i]MTD0 Länge ist 00 00 00 00 ohne Änderung[/i]
# MTD1 Start von 09 02 00 00 auf 09 04 00 00
-0005c0 [B]00 00 F6 00[/B] [B][i]00 00 00 90[/i][/B] [B]00 00 02 00[/B] [B][i]00 00 F8 90[/i][/B]
+0005c0 [B]00 00 EC 01[/B] [B][i]00 00 00 90[/i][/B] [B]00 00 04 00[/B] [B][i]00 00 F0 91[/i][/B]
# MTD1 Länge von 00 E6 00 00 auf 01 EC 00 00 heißt für das Ende:
# von 90 02 00 00 + 00 f6 00 00 = 90 f8 00 00
# auf 90 04 00 00 + 01 ec 00 00 = 91 f0 00 00
# [i]MTD2 Start bei 90 00 00 00 ohne Änderung[/i]
# MTD2 Länge von 00 02 00 00 auf 00 04 00 00 heißt für das Ende:
# von 90 00 00 00 + 00 02 00 00 = 90 02 00 00
# auf 90 00 00 00 + 00 04 00 00 = 90 04 00 00
# [i]MTD3 Start von 90 F8 00 00 auf 91 f0 00 00 [/i]
-0005d0 [B]00 00 04 00[/B] [B][i]00 00 FC 90[/i][/B] [B]00 00 04 00[/B] 00 00 00 00
+0005d0 [B]00 00 08 00[/B] [B][i]00 00 F8 91[/i][/B] [B]00 00 08 00[/B] 00 00 00 00
# MTD3 Länge von 00 04 00 00 auf 00 08 00 00 heißt für das Ende:
# von 90 F8 00 00 + 00 04 00 00 = 91 00 00 00
# auf 91 f8 00 00 + 00 08 00 00 = 92 00 00 00
# [i]MTD4 Start von 90 fc 00 00 auf 91 f8 00 00[/i]
# MTD4 Länge von 00 04 00 00 auf 00 08 00 00 heißt für das Ende:
# von 90 Fc 00 00 + 00 04 00 00 = 90 fc 00 00
# auf 91 f0 00 00 + 00 08 00 00 = 91 f8 00 00
0005e0 00 00 00 00 19 04 00 00 00 00 00 00 60 06 00 90
0005f0 6A 09 00 90 65 09 00 90 53 09 00 90 4E 09 00 90
000600 3C 09 00 90 34 09 00 90 22 09 00 90 1B 09 00 90