[Gelöst] Flashen über Bootloader funktioniert nicht - Bootloader Flashen gesperrt?

Fox.Mulder

Mitglied
Mitglied seit
21 Jan 2007
Beiträge
658
Punkte für Reaktionen
13
Punkte
18
Hallo,
ich habe eine 7590er Fritzbox, welche vor längerer Zeit gefreezt wurde. Aufgrund eines Bootloops habe ich versucht, die Box über eva-Skripte, welche bisher immer funktioniert hatten zu flashen. Das Flashen ist aber immer abgebrochen. Danach habe ich die Box mit einer 20er FW Recovery zurückgeflasht. Weiterhin ist das Flashen über den Bootloader nicht möglich. Kann es sein, dass AVM mit einem FW Update den Bootloader gesperrt hat? Welche Möglichkeit gibt es noch, um die Box wieder mit einer modifizierten FW zu flashen? Push_firmware, PowerShell und eva-Skripte funktionieren nicht.
 
Ich tippe auch mal wieder spontan auf das falsche Format der zu flashenden Daten - aber dafür (zumindest zum "gezielten Raten" einer Ursache) gibt es ja üblicherweise Protokoll-Dateien.
 
Ich hatte die gleichen Fehlermeldungen, wie jemand in einem hier unerwünschten Board gepostet hat.

Ich habe nun den Ablauf mit PowerShell nochmal mit einem anderen in-memory Image erfolgreich flashen können. Was genau der Grund war, kann ich nicht nachvollziehen. Vielleicht habe ich nach Abbruch des falschen Recovery-Images nicht schnell genug das PowerShell Skript gestartet.

Warum ist die USB 3.0 Geschwindigkeit der 7590 wesentlich schlechter als bei der 7520/30 (Lesen über Netzwerk von einem USB 3.0 Datenträger)?

7530: 100 MByte/s
7590: 60 MByte/s
 
Zuletzt bearbeitet:
deine Frage in #4 scheint erledigt zu sein. Wäre super, wenns jeder auch hier es weiß.
 
Vielleicht habe ich nach Abbruch des falschen Recovery-Images nicht schnell genug das PowerShell Skript gestartet.
Da gibt es kein Zeitlimit und somit auch keine Eile. Wenn der Bootloader steht (was er nach dem FTP-Zugriff durch das Recovery-Programm bisher bei allen Bootloader-Versionen macht(e)), bleibt er da auch stehen und solange man die FTP-Sessions immer "komplett" ausführt (inkl. An- und Abmeldung), kann man auch über Tage noch Sessions starten (zumindest habe ich das mit einer 7580 mit bestückter Serieller so erlebt).
 
  • Like
Reaktionen: prisrak1
Déjà-vu, ..ist auch mein Traum von einem einzigem gemeinsamen Support dem allem Wissen im Universum. Bleibt wohl dabei.
 
Ich habe ein älteres freetz-NG Image geflasht. Dazu möchte ich gesicherte Daten im Freetz-WebIF wiederherstellen. Diese werden auch eingelesen. Nach dem Neustart ist davon leider nichts in der Konfiguration zu sehen. Die gesicherten Einstellungen sollten zum geflashten Image passen.
Konfiguration wiederherstellen ...
cat var_flash/freetz > /var/flash/freetz
ERLEDIGT
Sicherungsdateien entfernen ...
ERLEDIGT
Kann ich die Daten der Datei /var/flash/freetz manuell Freetz unterschieben?
 
Ist es die
die 7490 auf die 7590? , oder wird was von mir verwechselt ..
Eine Freetz-ng Sicherung von der 7590 wieder auf die 7590 einspielen. Gibt es irgendwas wie modsave flash nur in umgekehrter Richtung? Das sollte normalerweise automatisch beim Wiederherstellen passieren.
 
Zuletzt bearbeitet:
erzählst nicht viel, aber man kann nachvollziehen. Ich gehe davon zumindest aus. über Rudishell, oder ..

... auch hier irgendwo mitgeschaut danke an die schlauen Köpfe!
falls benötigt:

Das Vorgehen für deinen Fall:

Kopieren der ar7.cfg in einen beschreibbaren Bereich
Ergänzen der ar7.cfg um die passenden Regeln
Stoppen von u.a. ctlmgr
Rückschreiben der ar7.cfg nach /var/flash
Neustart der Box

1. cat /var/flash/ar7.cfg >/var/tmp/ar7_edit.cfg
2. vi /var/tmp/ar7_edit.cfg
3. Änderungen ausführen, das ist vi-Handwerk, Speichern nicht vergessen
4. ctlmgr -s
5. jetzt muß es zügig gehen, sonst schlägt irgendwann der Watchdog an
6. cat /var/tmp/ar7_edit.cfg >/var/flash/ar7.cfg
7. ctlmgr
8. der ctlmgr braucht so ca. 30 Sekunden, bis er alles wieder eingefangen hat
9. Änderungen überprüfen mit "cat /var/flash/ar7.cfg"
10. wenn nötig (hängt von den vorgenommenen Änderungen ab) jetzt noch ein "reboot", u.U. reicht auch ein "rc.net restart" (so macht es ar7cfgchanged auch bloß, das wird auch von der AVM-Firmware selbst gar nicht mehr verwendet, denn da fehlt eigentlich das Stoppen des ctlmgr, der nun mal die cfg-Files seinerseits cached)
 
Keine Rudi Shell. Ich versuche nur die Freetz Einstellungen, welche ich über das Freetz WebIF gesichert hatte, mit dem Webif wiederherzustellen. Das geht leider nicht wie gewünscht. Die Einstellungen sind in /var/flash/freetz enthalten, im Webif nach dem Wiederherstellen und Neustart aber nicht vorhanden.

Die Datei ar7.cfg gehört zu den AVM Einstellungen, welche über das AVM WevIF erfolgreich wiederhergestellt wurden.

Es geht also ausschließlich um die Konfiguration von Freetz und den darin enthaltenen Paketen.
 
Zuletzt bearbeitet:
hab noch paar Notizen, hoffe passt .. :

Wenn man das Paßwort ändern will, verwendet man dazu den Befehl passwd "user" Benutzername. Man wird dann wieder zweimal nach dem neuen Paßwort gefragt.
Einen Benutzer löschen kann man mit dem Befehl deluser Benutzername.
In jedem Fall müssen die Änderungen mit dem Befehl modsave all wieder gespeichert werden.
Anzeigen kann man die Datei mit dem Befehl cat /var/tmp/passwd.
Anzeigen und Ändern ist auch möglich über die Rudi-Shell von Freetz. Diese ist nur verfügbar, wenn die Sicherheitsstufe auf 0 gesetzt ist.
Wenn alles Richtig gelaufen ist, sollte folgendes in der passwd stehen:

echo 0 > /tmp/flash/mod/security
flash
echo 0 > /tmp/flash/security all
modsave flash

cat /var/tmp/passwd <---

root:YwMW2tjBb02CA:18414:0:99999:7::: <--- test

telnet: root/freetz
echo 0 > /tmp/flash/mod/security
flash
echo 0 > /tmp/flash/security all
modsave flash
 
Zuletzt bearbeitet:
Für Passwörter habe ich irgendwas mit moduser save; modsave flash im Kopf. Eigentlich geht es um die Einstellungen, welche im Freetz WebIF sichtbar sind, z.B. die Konfiguration von Paketen, wie transmission, wireguard, autofs, sshfs, usw. Dann muss ich ggf. alles manuell neu konfigurieren und die alten Einstellungen irgendwie aus /var/flash/freetz entnehmen.
 
Da das "echte" Schreiben in den TFFS-Flash mittlerweile auch vom Treiber verzögert wird, die Freetz-Einstellungen schon ein wenig größer sind und daher auch mal mehrere Blöcke umfassen können (die auch erst noch zu komprimieren sind, bevor sie geschrieben werden können), sind die 5 Sekunden, die vom Freetz-GUI da vor dem (optionalen) Neustart vorgesehen sind, vielleicht auch nur nicht genug. Ich würde es zumindest mal versuchen, beim Wiederherstellen keinen Neustart machen zu lassen und stattdessen mit einer eigenen Shell nachsehen, ob die Datei vom Treiber aktualisiert wurde und erst danach die Box selbst neu starten:
Code:
cat /proc/tffs_stat
- die Freetz-Einstellungen haben die TFFS-ID 60. Einen expliziten Call für "flush data" gibt es da m.W. nicht mehr - wenn das "cat" bzw. dessen "close()"-Call nicht einen impliziten über den File-Descriptor machen sollte.

Vielleicht hilft es nicht ... aber einen Versuch ist es sicherlich wert. Das veränderte TFFS-Handling (inkl. neuer Formate für die Verwaltung der TFFS-Daten im NAND-Flash) war ja eine der größeren Änderungen durch AVM an dieser Stelle (als "TFFS3") - wenn auch nicht erst in den letzten FRITZ!OS-Versionen. In Freetz wurde das aber nie angepaßt, soweit ich weiß ...
 
Bei mir sehe ich nur, wann der letzte Lesezugriff auf ID 60 stattgefunden hat. Die Zeit des letzten Zugriffs erhöht sich stetig und wird auch nicht zurückgesetzt, wenn ich Wiederherstellen ausgeführt habe. Wie müsste es aussehen, wenn der Schreibzugriff stattgefunden hat?
ID 60 read access 1/14 - 000.000/ 29.305 kiB (000.000/ 38.000 B/s) last access before 0:12:50
-----------------------------------------------------------------------
summary read access 86/199540 - 000.000/ 2.103 MiB (000.000/754.000 B/s) last access before 3:47:05
-----------------------------------------------------------------------
summary write access 0/0 - 000.000/ 0.000 B (000.000/ 0.000 B/s) last access before 3:44:25
 
Na so wie bei den anderen Schreibzugriffen halt auch ... es wird ja auch bei Dir noch weitere Einträge (für einzelne IDs und nicht nur die Zusammenfassung) geben? Ich habe zwar im Moment keine 7590 zum Vergleich, aber die TFFS-Quellen sind ja bei allen Modellen praktisch dieselben und nur das "backend" für die tatsächliche Speicherung unterscheidet sich je nach Art des verwendeten Flash-Speichers.

Spätestens nach einem "modsave flash" sollte auch beim Schreiben ein Eintrag für ID 60 existieren (wenn es Änderungen gab zumindest) - ist das nicht der Fall, stimmt etwas mit dem char-Node für ID 60 nicht und die Daten werden in Wirklichkeit u.U. gar nicht im TFFS gespeichert, sondern in der Partition, die hinter "/var/flash" liegt. Da gab es in Freetz-NG ein paar Änderungen (sicherlich weil die max. Größe der Einstellungen ansonsten auf 32 KB begrenzt ist, denn mehr paßt (nach zlib-deflate) nicht in einen TFFS-Node) und ich weiß nicht, wie genau die Geschichte mit "file" anstelle von "char" getestet ist bzw. was da wann angelegt oder ersetzt wird.

Vielleicht solltest Du auch noch mit einem ls -l /var/flash/freetz erst einmal abklären, ob es tatsächlich ein TFFS-Node ist - wenn die "Umschaltung" nur an einem [ -c /var/flash/freetz ] festgemacht wird, kann ich mir auch vorstellen, daß da (alte) Einstellungen ohne eigene Kompression und die (selbstgemachte) Kompression bei "file" durcheinander kommen. Wobei der Lesezugriff auf ID 60 ja dafür sprechen würde, daß zumindest mal testweise auf TFFS-ID 60 zugegriffen wurde. Wenn da irgendeine Prüfung auf eine Länge > 0 für den Inhalt des TFFS-Nodes mit der ID 60 enthalten sein sollte (ich weiß es nicht und ich habe gar keinen Bock, mir da alle Änderungen anzusehen und den Sinn zu erraten), kann dieser Zugriff aber natürlich auch nur von dieser Prüfung erfolgt sein. Dagegen spricht aber wieder die Größe der dabei gelesenen Daten ... mehr als 29 KB sind schon knapp unter der max. möglichen Größe.
 
Ich habe die Datei freetz aus den gesicherten Einstellungen manuell nach /var/flash/freetz geschrieben. Damit scheinen die Einstellungen wieder da zu sein.
 
Hierzu ist anzumerken, dass die manuelle Wiederherstellung das gleiche macht, wie die Widerherstellung mit dem Webinterface. Dies funktioniert jedoch nur, wenn man nach dem manuellen Schreiben von /var/flash/freetz den Netzstecker zieht. Wenn man stattdessen rebootet, sind die Einstellungen nach dem Neustart nicht wieder hergestellt.

Weiterhin könnte die Freetz-NG Konfiguration einen Einfluss haben, da die Widerherstellung mit einem Minimalimage funktioniert hat.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.