Forum: Mikrocontroller und Digitale Elektronik AVM Fritz Repeater 600 - fehlgeschlagenes Firmware Update?!


von Jan (bugsimpson)


Lesenswert?

Ich habe hier einen Fritz Repeater 600v2 welchen ich von Kleinanzeigen 
gekauft habe, die Historie ist also unbekannt.

Bei diesem Gerät blinkt zyklisch (schnell) die grüne Status LED.
Das WLAN Netz wird nicht aufgebaut, keiner meiner Endgeräte zeigt es mir 
an.
Es sieht für mich so aus als wenn ein Firmware Update fehlgeschlagen 
sein könnte (es könnte natürlich auch ein HW Problem sein..).

Auf der Platine befinden sich zwei Flash Chips:

1 / MX25Q80DVNIG (vermutlich ist hier der Bootloader drauf?)
2 / W25N512GVEIG (hier der Kernel + Filesystem?)

Von beiden Chips konnte ich erfolgreich einen Dump machen.

Nun meine Frage.. Bekomme ich irgendwie (außer mit einem zweiten 
funktioniereden Gerät) die originale Firmware geflasht?
Diese wird ja als "Paket" bzw. ".img" zum Downloaden angeboten.
Dort befindet sich natürlich keine .hex oder .bin. Ist es irgendwie 
möglich?

von Kilo S. (kilo_s)


Lesenswert?

Es gibt bei AVM ein Recovery Tool, Probier das doch zuerst mal aus.

Ah, V2 ohne lan... Mist der macht da nicht mit.

Man kann die Firmware aus der Update exe extrahieren, 7zip unter Linux 
macht die exe als Archiv auf.

: Bearbeitet durch User
von Kilo S. (kilo_s)


Angehängte Dateien:

Lesenswert?

ist aus dem image von AVM, 
https://download.avm.de/fritzwlan/fritzrepeater-600v2/deutschland/fritz.os/

in temp liegen kernel und filesystem.

von Jan (bugsimpson)


Lesenswert?

Kilo S. schrieb:
> ist aus dem image von AVM,
> https://download.avm.de/fritzwlan/fritzrepeater-600v2/deutschland/fritz.os/
> in temp liegen kernel und filesystem.

Danke erstmal für die schnelle Antwort.
Die Datei hatte ich auch schon gefunden.

Meine Frage währe jetzt wie ich aus den beiden Dateien eine .bin bekomme 
die ich auf den Flash bügeln kann.

von Peter K. (chips)


Lesenswert?

Thema hatten wir schon mal
Beitrag "Fritz Repeater 600 mit brick manuell flashen?"
mit dem korrekten NAND-Image laufen die 600er wieder

von Jan (bugsimpson)


Lesenswert?

Peter K. schrieb:
> Thema hatten wir schon mal
> Beitrag "Fritz Repeater 600 mit brick manuell flashen?"
> mit dem korrekten NAND-Image laufen die 600er wieder

Mega. Da ist ja sogar das Image.
Gibt es denn eine Möglichkeit die MAC Adresse einfach so zu ändern in 
einem Hex Editor oder gibt es da auch Checksummen zu?

von Kilo S. (kilo_s)


Lesenswert?

Das Image ist anscheinend vom 600, nicht vom 600v2.

So weit ich das kenne, ist die Mac zusammen mit dem Bootloader im 
kleineren Flash untergebracht, jedenfalls bei der FB7412 die ich mit 
OpenWRT fit gemacht habe, wollte die Mac am Ende des Bootloader irgendwo 
eingetragen haben. (Nicht mehr genau in Erinnerung)

von Jan (bugsimpson)


Lesenswert?

Kilo S. schrieb:
> Das Image ist anscheinend vom 600, nicht vom 600v2.
> So weit ich das kenne, ist die Mac zusammen mit dem Bootloader im
> kleineren Flash untergebracht, jedenfalls bei der FB7412 die ich mit
> OpenWRT fit gemacht habe, wollte die Mac am Ende des Bootloader irgendwo
> eingetragen haben. (Nicht mehr genau in Erinnerung)

Ja die ist im kleineren, gibt es eine Checksumme oder kann ich einfach 
die MAC im Editor anpassen?

von Kilo S. (kilo_s)


Lesenswert?

Wozu?

Das Image ist doch nur vom großen Speicher, die Mac bekommt das OS aus 
deinem existierenden Bootloader. Muss nicht angepasst werden.

von Jan (bugsimpson)


Lesenswert?

Jan schrieb:
> Kilo S. schrieb:
>> ist aus dem image von AVM,
>> https://download.avm.de/fritzwlan/fritzrepeater-600v2/deutschland/fritz.os/
>> in temp liegen kernel und filesystem.
>
> Danke erstmal für die schnelle Antwort.
> Die Datei hatte ich auch schon gefunden.
>
> Meine Frage währe jetzt wie ich aus den beiden Dateien eine .bin bekomme
> die ich auf den Flash bügeln kann.

Wie sieht es hier mit aus? Gibt es eine möglichkeit?

von Kilo S. (kilo_s)


Lesenswert?

Ich würde gucken was der Bootloader sagt, serielle Schnittstelle finden, 
verbinden dann die üblichen Verdächtigen Anleitungen durchgehen die sich 
mit dem Flashen über serial befassen. Dann versuchen das komplette Image 
von AVM über den Bootloader zu Flashen.

Ich hab das Gerät leider nicht vor mir, aber im Prinzip ist's kaum ein 
Unterschied zum Flashen von Fremdimages.

von Dieter S. (ds1)


Lesenswert?

Lade Deine beiden Dumps hier hoch, dann kann man schauen ob man die 
Position des Firmware Updates dort findet.

von Jan (bugsimpson)


Lesenswert?

Kilo S. schrieb:
> Ich würde gucken was der Bootloader sagt, serielle Schnittstelle
> finden,
> verbinden dann die üblichen Verdächtigen Anleitungen durchgehen die sich
> mit dem Flashen über serial befassen. Dann versuchen das komplette Image
> von AVM über den Bootloader zu Flashen.
>
> Ich hab das Gerät leider nicht vor mir, aber im Prinzip ist's kaum ein
> Unterschied zum Flashen von Fremdimages.

Ich habe es schon mit ChatGPT versucht.
Man muss laut ChatGPT die Firmware dann komplett via. Seriell, Zeile für 
Zeile (vll. 100 Stk. zusammen) schicken. Dabei können echt doofe copy & 
paste fehler passieren..

von Jan (bugsimpson)



Lesenswert?

Dieter S. schrieb:
> Lade Deine beiden Dumps hier hoch, dann kann man schauen ob man
> die
> Position des Firmware Updates dort findet.

Hier sind beide Dumps.

von Jan (bugsimpson)


Angehängte Dateien:

Lesenswert?

Wenn ich versuche den Dump aus dem Link weiter oben zu flashen sagt mir 
das Tool "EZP2019" (für meinen Flash Progammer) das die Datei zu groß 
währe für den Puffer.
Vermutlich habe ich den Chip nicht richtig parametriert in der Software, 
da ich ihn neu anlegen musste aufgrund von nicht vorhanden sein.

von Kilo S. (kilo_s)


Lesenswert?

Beim 25Q80 ist's leicht.
Ab Adresse 00000800, da geht's los mit Infos und den MAC Adressen.

Aber wie gesagt, da musst du nix ändern.

Das zweite ist korrupt durch falsches lesen? Kommt mir jedenfalls so 
vor.

Dauernd wiederholende Blöcke sollten das eher nicht sein.

: Bearbeitet durch User
von Jan (bugsimpson)


Lesenswert?

Kilo S. schrieb:
> Beim 25Q80 ist's leicht.
> Ab Adresse 00000800, da geht's los mit Infos und den MAC Adressen.
> Aber wie gesagt, da musst du nix ändern.
> Das zweite ist korrupt durch falsches lesen? Kommt mir jedenfalls so
> vor.
> Dauernd wiederholende Blöcke sollten das eher nicht sein.

Dann kann es sein das ich beim anlegen vom Chip einen Fehler gemacht 
habe?

von Kilo S. (kilo_s)


Lesenswert?

Jan schrieb:
> Dann kann es sein das ich beim anlegen vom Chip einen Fehler gemacht
> habe?

Möglich, kann auch sein das ein fehlgeschlagenes Update den so 
hinterlassen hat.

von Kilo S. (kilo_s)


Lesenswert?

Im Vergleich mit dem Image vom 600 ohne V2 aus einem anderen Beitrag, 
der Kernel scheint dort bis 00254E30 zu gehen, ca 2.33Mb?

Offset, Kalibrierdaten, (die müssen erhalten bleiben?!) Offset, FS.

Aber im Zusammenbau und zerlegen solcher Images bin ich kein Profi. Da 
muss noch mal jemand drüber gucken der das besser kann.

von Jan (bugsimpson)


Angehängte Dateien:

Lesenswert?

Ich bekomme dieses Dump (was weiter oben im Link, von einem anderen 
Thread stammt) nicht geflasht, was mache ich falsch?

Das Programm (EZP2019+) sagt mir ständig das dass File zu groß für den 
Puffer währ..

Im Screenshot sieht man wie ich den angelegten Chip parametriert habe.

von Kilo S. (kilo_s)


Lesenswert?

Nochmals das ist für 600 OHNE V2!

Das wird dir vermutlich nix Bringen.

Wie du deinen Programmer dazu bewegst den korrekt zu lesen und zu 
schreiben musst du bitte dessen Software entnehmen. Den kenn ich leider 
nicht.

Ich sehe hier immer noch die beste Option das Original Image mit Eva 
über seriell zu Flashen, der Bootloader kümmert sich um den Flash, 
Manipulationen sind nicht nötig (Prüfsumme zb.) weil alles von AVM 
stammt.

Es gibt bestimmt Programme dazu die dir das "Copy and Paste" Ersparen 
und mit dem Bootloader passend zusammen arbeiten.

von Peter K. (chips)


Angehängte Dateien:

Lesenswert?

nein, das Image von Johannes ist schon für den Nand vom 600V2,
aber das Image ist korrupt, wie er im Beitrag vorher schrieb;

ich hatte später ein funktionierendes NAND-Image an Johannes geschickt 
und er hat mir 9 NAND-Flashes damit programmiert - haben alle 
funktioniert;

der Fehler liegt immer an dem korrupten NAND, hab damals mit der 
seriellen Konsole verschiedene Fehler ausgelesen:
- Bootloop ( SQUASHFS error: xz decompression failed, data probably 
corrupt)
- bootet, stürzt aber bei WPS ab (CRASHED at 
dl_load_elf_shared_library+0x620)
-stürzt bei WLAN-Init ab (meshd_config.service exit error)
log siehe Anhang
- Bootloop - Dateisystem korrupt (Kernel panic - not syncing: VFS: 
Unable to mount root fs on unknown-block(0,0))

wie man das über die serielle Konsole fixen kann - noch nicht probiert - 
würde mich aber interessieren...

von Jan (bugsimpson)


Lesenswert?

Peter K. schrieb:
> nein, das Image von Johannes ist schon für den Nand vom 600V2,
> aber das Image ist korrupt, wie er im Beitrag vorher schrieb;
> ich hatte später ein funktionierendes NAND-Image an Johannes geschickt
> und er hat mir 9 NAND-Flashes damit programmiert - haben alle
> funktioniert;
> der Fehler liegt immer an dem korrupten NAND, hab damals mit der
> seriellen Konsole verschiedene Fehler ausgelesen:
>
> wie man das über die serielle Konsole fixen kann - noch nicht probiert -
> würde mich aber interessieren...

Ist es möglich das Du das NAND Image öffentlich zugänglich machst?

von Kilo S. (kilo_s)


Lesenswert?

Peter K. schrieb:
> wie man das über die serielle Konsole fixen kann - noch nicht probiert -
> würde mich aber interessieren...

Da ist EVA ne Schwachstelle. Bootloader scheint keine Möglichkeit zu 
haben über seriell das Image entgegen zu Nehmen, zwischen zu speichern 
und danach zu Flashen.

Bin davon ausgegangen dass dieser Weg Alternativ zu LAN existiert, wenn 
er schon kein LAN hat.

Pff, das ist doch blöd!

Merke, nicht jeder lässt nen Fenster auf wenn er ansonsten alle Türen zu 
macht!

: Bearbeitet durch User
von Jan (bugsimpson)


Lesenswert?

Kilo S. schrieb:
> Peter K. schrieb:
>> wie man das über die serielle Konsole fixen kann - noch nicht probiert -
>> würde mich aber interessieren...
>
> Da ist EVA ne Schwachstelle. Bootloader scheint keine Möglichkeit zu
> haben über seriell das Image entgegen zu Nehmen, zwischen zu speichern
> und danach zu Flashen.
> Bin davon ausgegangen dass dieser Weg Alternativ zu LAN existiert, wenn
> er schon kein LAN hat.
> Pff, das ist doch blöd!
> Merke, nicht jeder lässt nen Fenster auf wenn er ansonsten alle Türen zu
> macht!

AVM möchte wohl nicht so gerne das man Reverse Engineering betreibt um 
lieber neue Geräte zu verkaufen.

von Kilo S. (kilo_s)


Lesenswert?

Verhindert jedenfalls zuverlässig die Reparatur ohne Verrenkungen.

von Peter K. (chips)


Lesenswert?

Jan schrieb:
> Ist es möglich das Du das NAND Image öffentlich zugänglich machst

habs nicht mehr, Johannes fragen!

von Jan (bugsimpson)


Lesenswert?

Peter K. schrieb:
> Jan schrieb:
>> Ist es möglich das Du das NAND Image öffentlich zugänglich machst
>
> habs nicht mehr, Johannes fragen!

Welchen Johannes? Es wird mit Sicherheit mehr als einen geben..

von Peter K. (chips)


Lesenswert?

na den aus dem zitierten thread

von Jan (bugsimpson)


Lesenswert?

Peter K. schrieb:
> na den aus dem zitierten thread

Okay, habe ich gemacht.
Es macht ja generell Sinn solche Files öffentlich zu teilen.

von Dieter S. (ds1)


Lesenswert?

EVA des Repeater hat einige interessante Kommandos:

1
help
2
3
dm              dump mem 32 Bit <addr> <range>
4
dh              dump mem 16 Bit <addr> <range>
5
db              dump mem 8 Bit <addr> <range>
6
cm              change mem 32 Bit <addr> <value>
7
ch              change mem 16 Bit <addr> <value>
8
cb              change mem 8 Bit <addr> <value>
9
sn              scan nand
10
dn              dump nand <page>
11
dnr             dump nand raw <page>
12
cn              copy nand <source> <dest>
13
en              erase nand <block>
14
wn              write nand <page>
15
ecc_test        ecc_test <page>
16
mn              mark bad block <page>
17
erase           Erase Flash <mtd>
18
printenv        print Env. Variables
19
restart         reboot Device
20
setenv          set Env. variable <var> <value>
21
unsetenv        unset Env. variable <var>
22
go              load & start kernel from mtd1
23
setmac          set mac addresses <addr> (like 12:23:40)
24
mdio-read32     read 32-Bit mdio value
25
mdio-write32    write 32-Bit mdio value
26
mdio-read       read 16-Bit mdio value
27
mdio-write      write 16-Bit mdio value
28
eth-status      eth Status


Mit "wn" könnte man eventuell den Nand Flash auch über die serielle 
Schnittstelle beschreiben.

: Bearbeitet durch User
von Jan (bugsimpson)


Lesenswert?

Dafür bräuchte man ein funktionierendes Dump..

von Kilo S. (kilo_s)


Lesenswert?

Jan schrieb:
> Dafür bräuchte man ein funktionierendes Dump..

Naja nicht ganz... Das korrupte dump gibt uns immerhin schon mal die 
Struktur wo was hin gehört.

Wenn wir Kernel und Image aus dem Download an die richtigen Stellen des 
alten dump schieben... Aber wie gesagt, da muss jemand ran der das 
besser kann als ich.

Heut ist früh Feierabend, morgen was wichtiges Anstehen.

Morgen Mittag kann ich ja mal einen Test hochladen.

: Bearbeitet durch User
von Lu (oszi45)


Lesenswert?

Bei 30€ Aufwand > Nutzen.
Wozu die neue MAC?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.