7520 Problem beim Flashen "FRITZ7530.bin was requested"

Moin,

ich versuche meine 7520 wie folgt mit dem neuen fritzflash.py zu flashen:
sudo python3 fritzflash.py --dev enp1s0 --initramfs ./openwrt-ipq40xx-generic-avm_fritzbox-7530-initramfs-uImage.itb --sysupgrade ./gluon-ffs-3.2.1+2024-12-18-g.297f8be7-s.1180dfa-avm-fritz-box-7530-sysupgrade.bin

Die Box connected auch korrekt, allerdings scheint sie die FRITZ7530.bin nicht zu finden:

did set ip to 192.168.178.2/24
Trying to autodiscover! Abort via Ctrl-c.
FritzBox found at 192.168.178.1

Autodiscovery succesful!
-> Device detected at 192.168.178.1.

Starting automatic image-selection!
-> Establishing connection to device!
--> Try 1 of 10
'['ptest']' is not a tuple, ignoring
-> Automatic image-selection successful!
--> Will flash uboot-fritz7530.bin
-> Establishing connection to device!
--> Try 1 of 10
-> Flash image
-> Image write successful

Starting TFTP flash process for FB 7530/7520, FR 1200 or FR 3000
TFTP Server started listening on Port 69, serving openwrt-ipq40xx-generic-avm_fritzbox-7530-initramfs-uImage.itb under name FRITZ7520.bin
FRITZ7530.bin was requested
FRITZ7530.bin was requested
FRITZ7530.bin was requested

Im gleichen Ordner wie die fritzflash.py sind natürlich auch die restlichen Dateien:

  • gluon-ffs-3.2.1+2024-12-18-g.297f8be7-s.1180dfa-avm-fritz-box-7530-sysupgrade.bin
  • openwrt-ipq40xx-generic-avm_fritzbox-7530-initramfs-uImage.itb
  • uboot-fritz7530.bin

Ich hatte die Box vorher eigentlich auf 7530 umgestellt per SETENV, aber trotzdem scheint es nicht zu klappen.

Hat jemand eine Idee woran es liegen könnte? Übersehe ich irgendwas offensichtliches?

1 Like

Hi @zentakel ,
Spannend, klingt soweit alles korrekt.

Scheint so, als wäre der Output der Hardware-Revision nicht korrekt.
Diese wird hier abgefragt im Skript:

Für Openwrt musst du die Fritzbox eigentlich nicht auf 7530 umstellen - dem Openwrt image ist das egal. Was hast du dort denn als HWRevision eingetragen?

Du kannst bei dir mal in der Zeile vor meiner markierten ein print(hwrevision) eintragen, dann wissen wir was der versucht.
Eventuell muss dann noch was passendes in dem tftp_serve_file mapping hinzugefügt werden.

Viele Grüße
Florian

4 Likes

Ich habe das geändert auf

"247": "FRITZ7530.bin",

Dann konnte ich problemlos flashen

@fmaurer: noch einmal eine etwas genauere Rückmeldung: Ich hatte ja echt etwas Respekt, eine FritzBox 7520 zu flashen, mit der FritzBox 4040 hatte ich inzwischen gewisse Routine, aber das mehrstufige Verfahren bei der 7520 schien mit deutlich anspruchsvoller.

Kompliment und vielen Dank für die Erweiterung der fritz-tools, damit war das Vorgehen sehr elegant automatisiert und lief gut durch.

Zwei Dinge haben mir allerdings etwas Kopfzerbrechen gemacht. Erstens dass (siehe oben) der falsche Dateiname angefordert wurde FRITZ7520.bin wurde offenbar vom tftp-Server bereitgestellt, FRITZ7530.bin jedoch angefordert. Das habe ich unschön entschärfen können - siehe oben.

Nulltens hatte ich noch einen aktiven TFTP-Sever auf dem Rechner, der verhindert hat, dass sich fritzflash.py an Port 69 binden konnte. Die Fehlermeldung war für mich erst sehr verwirrend (weil recht lang und für einen nicht wirklichen Python-Kenner wie mich schwer zu parsen).

Da ein aktiver TFTP-Server auf dem Rechner bei Leuten, die Dinge flashen nicht eine ganz exotische Situation ist, wäre es vielleicht hilfreich, zu überprüfen, ob an Port 69 gebunden werden kann und gegebenenfalls eine eindeutigere Fehlermeldung auszugeben.

Vielen Dank jedenfalls für die Erweiterung!

2 Likes