Probleme beim Flashen 4040 mit EVA ftp

Peter_Lehmann

Mitglied
Mitglied seit
13 Mrz 2007
Beiträge
670
Punkte für Reaktionen
265
Punkte
63
Hallo,

Ich wende mich mal ganz gezielt um Unterstützung an die hiesigen Wissensträger.
Und: Es geht hier nur um den "Missbrauch" von AVM-Technik. Also nicht um Fritz-OS.

Gegenwärtig bin ich dabei, einige in meinem Wireguard-Netz und mit openWRT zum Wireguard-Server umgeflashte F!B 7412 durch F!B 4040 zu ersetzen. Durch das immer größer werdende Netz und bei einigen Freunden stark gestiegene Bandbreiten wird die 7412 bei einigen so langsam zum Flaschenhals.
Mir ist die Vorgehensweise also bestens vertraut und ich habe auch bereits (neben einigen 7412) zwei 4040 zum WG-Server "umgearbeitet".

Problem:
Die letzte, gerade in der Bucht ersteigerte 4040 ist mit der Firmware 07.14 versehen und arbeitet als "normaler AVM-Router" exakt wie sie soll. Also anscheinend technisch völlig in Ordnung.
Ich kann in den entscheidenden ersten Sekunden problemlos per "ftp -n -v -p <IP>" auf den ftp-Server gehen und mich als adam2 anmelden und authentisieren. Auch der Flash-Modus und die Umschaltung auf binary werden übernommen und quittiert.
Auch wenn ich dann mit "put" versuche, das Binary in mtd1 zu schreiben, erfolgt eine Bestätigung, dass auf passive mod umgeschaltet wird. ... Und nach ein paar Minuten kommt immer ein Timeout.

Ich habe es auf meinen zwei Linux-Rechnern probiert (lt. "man ftp" sollte der Schalter -p gar nicht mehr notwendig sein- da passive mode per default - habe auch ohne -p getestet) . Selbstverständlich ist die vorhandene Firewall deaktiviert. Ich habe einen Switch zwischen F!B und Rechner geschaltet und auch das openWRT-Binary hinsichtlich Prüfsumme gecheckt. Und ich habe natürlich auch das richtige Binary (openwrt-19.07.7-ipq40xx-generic-avm_fritzbox-4040-squashfs-eva.bin) verwendet.
Nach meinen Flash-Versuchen startete die 4040 nur noch "rot-blinkend". Ich konnte aber jedes mal problemlos das Revovery-Tool (07.14 und auch 07.01) anwenden und die F!B wiederbeleben.

Und nun bin ich an einer Stelle angelangt, wo ich nicht mehr weiter weiß.

Entdeckt jemand von euch in meiner Beschreibung einen Fehler?
Kann ich noch etwas anderes versuchen?
Oder hat gar, ohne dass ich es mitbekommen habe, AVM diesen Hintereingang geschlossen? (Nur deswegen habe ich auch auf 07.01 recovert)

Ich bedanke mich schon mal im Voraus für zielführende Hinweise.

MfG Peter
 
Hast du es nach dieser Anleitung gemacht?
https://openwrt.org/toh/avm/avm_fritz_box_4040#installation_via_eva_ftp

Probiere doch mal die EVA-tools von Peter.
Die gibt es für Linux und Windows.

Oder hat gar, ohne dass ich es mitbekommen habe, AVM diesen Hintereingang geschlossen?
Nein, das geht IMO gar nicht.

(Nur deswegen habe ich auch auf 07.01 recovert)
Nicht nötig, da der Bootlader nicht von der FW abhängig ist.
 
Zuletzt bearbeitet:
Nach meinen Flash-Versuchen startete die 4040 nur noch "rot-blinkend".
Das ist aber bei diesem Modell auch zu erwarten. Es hat halt nur eine einzige OS-Version im Flash (der ist ja auch eher klein) und diese wird vor dem Start eines Schreibvorgangs erst einmal gelöscht - damit ist beim nächsten Start nichts mehr vorhanden, wenn das Schreiben nicht geklappt hat (der Bootloader überlebt das natürlich).

Ich würde hier auch erst mal ohne einen "normalen" FTP-Client ans Werk gehen (zumal der Server eigentlich sein P@SV- oder PASV-Kommando immer sehen muß, denn nur darauf wird er mit 227 ... antworten, worin dann ja auch die Portnummer zu finden ist) - es kann sein, daß der Löschvorgang irgendwie länger braucht und daß es zwischen der Bestätigung mit 150 Opening BINARY data connection und/oder dem tatsächlichen Start der Verbindung (bzw. dem "accept()" auf der Router-Seite und/oder dem Start einer Datenübertragung) eine Verzögerung gibt, mit der der verwendete FTP-Client nicht klarkommt - das sind ja alles unterschiedliche Timeout-Werte beim Sockets-Zugriff und mit irgendwelchen "Restarts" oder neuen Versuchen (was ein "richtiger FTP-Server" können sollte/würde), kommt EVA auch nicht wirklich gut klar.

Wenn das Timeout auch mit eva_store_tffs auftreten sollte und auch mit einem noch einmal erhöhten (verdoppelten) Timeout-Wert (in dieser Zeile: https://github.com/PeterPawn/YourFr...8df58ffc79c3094/eva_tools/eva_store_tffs#L104), dann kann/muß man da noch einmal genauer hinsehen. Das Timing ist derzeit an NOR-Boxen, wie der 7390, ausgerichtet bzw. an den dort bezogenen "Erfahrungen". Beim Schreiben von TFFS-Partitionen ist es auch nicht wirklich nötig, da 60 Sekunden zu verwenden - da sind die Partitionen aber auch eher klein und deren komplettes Löschen dauert dementsprechend nicht so lange, wie das bei den deutlich größeren Filesystem-Partitionen der Fall sein kann.

Immer unter der Annahme, daß hier tatsächlich ein Löschvorgang länger braucht (das hängt ja auch wieder vom verbauten Flash-Chip ab und KÖNNTE damit bei verschiedenen Gerätes desselben Modells auch einen Unterschied machen) - wobei man das mit dem FTP-Log des AVM-Recovery-Programms ja verifizieren kann, denn das schreibt für die Zeilen auch jeweils einen Zeitstempel.
 
Hallo ihr beiden!
Auch wenn ich niemanden direkt angesprochen habe, haben doch die erwarteten User geantwortet. Prima!

@eisbaerin:
Ja, das ist die Anleitung, nach welcher ich meine ersten beiden 4040 und (sinngemäß) auch meine bislang acht 7412 geflasht habe. Auch diverse Freifunk-Router wurden nach Anleitungen von openwrt.org einer neuen Verwendung zugeführt.
Und dass die FW-Version keinerlei Auswirkung auf den Bootloader hat, wusste ich nicht. Aber besser, ich habe gefragt - und weiß (nicht "vermute") es jetzt.

@PeterPawn:
Auch dir vielen Dank für deine wie immer wertvollen Hinweise.
Ich habe neben dem python-Tool (von Freifunk Darmstadt) "fritzflash.py" plus mitgegebenem --IMAGE <imagedatei> (welcher das ganze eigentlich nur scriptgesteuert macht) bislang nur mit dem Standared-ftp-Client meines openSUSE gearbeitet. Hat ja damit auch bei zwei 4040 problemlos funktioniert. Werde mir jetzt mal dein Script holen und damit testen.
Aber das für mich wichtigste in deinem Beitrag war wieder mal das erworbene Hintergrundwissen. Dass die Partition nicht einfach "nur" überschrieben, sondern vorher gelöscht wird. Und auch dass die 4040 nur eine OS-Version im Flash hat, habe ich nicht gewusst.
Ich melde mich wieder, wenn ich wieder mal getestet habe ... .

MfG Peter
 
Und auch dass die 4040 nur eine OS-Version im Flash hat, habe ich nicht gewusst.
Wollte ich dir fast schon schreiben, daß die 4040 sich von der 7412 in vielem Unterscheidet.
Auch hat die 4040 nur 32MB NOR-Flash, die 7412 hat dagegen 128MB NAND-Flash und damit auch Platz für zwei OS-Versionen.
 
So eine Sch<zensiert>e!

Kaum macht man alles richtig, schon funktioniert es. :)
Dank eurer Hilfe, musste ich nur das Timeout ein wenig verzögern, und schon hat er das neue Binary genommen und alles hat sofort funktioniert, so wie ich es gewohnt war.
Und sogar die doch recht umfangreiche Konfiguration (immerhin ein VPN-Stern mit 6 außenliegenden Sternen!) konnte ich nach einer kleinen Korrektur der exportierten Konfiguration der 7412 einfach importieren und es lief bis auf die Konfiguration der LEDs alles auf Anhieb. Und die LEDs waren auch nach ein paar Minuten richtig konfiguriert.
Sofort einen Test übers VPN mit iperf 3 gemacht und festgestellt, dass mein Uplink (36MBit/s) zu fast 100% ausgelastet wurde. Bin auf das Ergebnis gespannt, wenn mein Freund in DK seine 4040 bekommt. Er hat immerhin einen symmetrischen FTTH-Zugang, bei dem mir in "Neuland" die Tränen kommen.

Also, noch einmal, vielen Dank an euch beide!
MfG Peter

4040.png
 
Gegenwärtig bin ich dabei, einige in meinem Wireguard-Netz und mit openWRT zum Wireguard-Server umgeflashte F!B 7412 durch F!B 4040 zu ersetzen.
Hallo, habe jetzt auch eine 7412 mit openwrt installiert und möchte die gerne als Wireguard Gateway einrichten aber mit der Firewalleinstellungen komm ich nicht ganz klar und vielleicht kannst Du helfen.
- Muss der DSL Port in der Config entfernt werden?
- wie sehen die Einstellungen bei dir in der Firewall aus?
Danke und Gruß.
 
Hallo @Insti,

Also ich habe mich sowohl an die Anleitung von openwrt.org als auch an die hier verlinkte Anleitung von heise gehalten: Billige Fritzbox 7412: Wireguard-VPN und DNS-Verschlüsselung ... (letztere kam allerdings erst, als ich die erste 7412 schon "freihändig umgearbeitet" hatte - entsprechend hoch war mein "Selbstlerneffekt", was mir keinesfalls geschadet hatte).
Oder konkreter: in c't 09/2020, Seiten 134 und 135 ("Entfritzt") steht die Anleitung zum Flashen von OpenWrt und in 10/2020, Seiten 160 und 161 ("Eintrittsduo") ist die Installation und Konfiguration von Wireguard sehr gut und ausführlich beschrieben.

Als Netzwerkschnittstellen gibt es "nur" noch LAN und LANV6 und die Tunnelschnittstellen WG0 (bis - bei mir - WG5).
An Firewalleinstellungen muss eine neue FW-Zone ("VPN") eingerichtet werden.
Aber all das ist im zweiten Artikel bestens beschrieben. Einfach 1:1 abarbeiten und schon ist gut. Es lohnt sich wirklich, sich diese zwei Artikel zu beschaffen.

An dieser Stelle vlt. noch einige zusätzliche Hinweise, welche natürlich nicht in den Anleitungen stehen:
  • Wie auf jedem meiner Linux-Geräte läuft auch auf meinen ggw. 8 WG-Servern der sshd. Und selbstverständlich (!) ist dort lediglich die Anmeldung mit Benutzername/Passwort verboten und dafür ein 4K-Schlüssel vorhanden. (Die Verbindung per ssh hat mich schon davor bewahrt "schnell mal" nach Dänemark oder Ungarn fahren zu müssen.)
  • Als zusätzliche Softwarepakete habe ich für die wichtigsten Pakete die dt. Sprachdateien installiert.
  • Weiterhin läuft auf allen meinen WG-Servern das Programm "iperf3" als Dienst. Das macht sich gut, um mit einem kleinen Script regelmäßig den "Durchsatz" der VPN-Tunnel zu prüfen.
  • Als DDNS-Provider nutze ich, so wie es auch in der Anleitung aus der c't steht, dynv6.com. Das Paket DDNS muss natürlich auch auf dem WG-Server installiert sein.
  • So wie ich es seit vielen Jahren generell halte, sind die WG-Server voll auf Dualstack konfiguriert. Damit ist es dem VPN völlig egal, ob der Trägerkanal (also die DSL-/Mobilfunk-/FTTH-Verbindung) über IPv4 oder IPv6 läuft. Und auch der Tunnel ist selbst Dualstackfähig.
  • Und, gerade wenn man wie ich ein größeres Netz aufbauen will, ist es sehr wichtig das ganze gut zu dokumentieren. Ich habe deshalb für jeden meiner WG-Server eine Liste mit den genauen Namen der einzelnen Tunnel und Schnittstellen, allen genutzten IPv4 und IPv6, allen DDNS-Namen und natürlich auch den jeweils ersten vier Zeichen aller secret-/ public- und shared keys. Wenn keine Verbindung zustande kommt, hat man sich meistens bei den Schlüsseln verhauen ;).

Ja, soweit erst einmal. HTH und wenn du weitere Fragen hast, gerne.

vy 73 de Peter
 
  • Like
Reaktionen: Insti
Halli Hallo allerseits,

ich habe hier 2 FRITZ!Box 4040 zuhause, bei denen ich es partout nicht schaffe OpenWRT zu installieren. Ich bekomme Zugriff auf den Bootloader aber keine Datenverbindung zum löschen und schreiben.

Ich starte die Verbindung mit
Code:
ftp -n -s:openwrt.txt 192.168.178.1
und es kommt dann folgende Information
Code:
220 ADAM2 FTP Server ready
530 not logged in
ftp> quote USER adam2
331 Password required for adam2
ftp> quote PASS adam2
230 User adam2 successfully logged in
ftp> binary
200 Type set to BINARY
ftp> debug
Debugging EIN .
ftp> quote pasv
---> pasv
227 Entering Passive Mode (192,168,178,1,12,0)
ftp> quote MEDIA FLSH
---> MEDIA FLSH
200 Media set to MEDIA_FLASH
ftp> put openwrt-22.03.5-ipq40xx-generic-avm_fritzbox-4040-squashfs-eva.bin mtd1
---> PORT 192,168,178,2,204,223
502 Command not implemented
---> STOR mtd1
Die Fehlermeldung 502 bekomme ich immer gemeldet. Egal wie ich die Sache angehe.
Danach erfolgt dann diese Ausgabe
Code:
---> STOR mtd1
und nach max. 60 s bricht diese Aktion mit dieser Meldung ab
Code:
425 can't open data connection

Die Power-LED blinkt weiter und der Bootloader ist weiterhin offen. Starte ich die FRITZ!Box 4040 neu, blinkt nach kurzer Zeit die Info-LED rot und nichts geht mehr. Nach einem Neustart für das Recover-Tool bekomme ich die Info, dass auf der FRITZ!Box immernoch dieselbe Firmware installiert ist, wie vor dem Flash-Versuch.

Im Internet habe ich schon diverse Seiten gefunden und gelesen. So habe ich z.B. auch herausgefunden, dass der oft beschriebene Befehl "passive" bei mir durch "quote pasv" ersetzt werden muss, damit ich den passiven Modus aktivieren kann. Ich habe aber bisher keine Lösung für das oben beschriebene Problem gefunden. Vielleicht sehe ich den Wald vor lauter Bäumen nicht. Wo liegt hier das Problem?

- Windows-Firewall ist deaktiviert
- Client ist manuell auf 192.168.178.2 gesetzt

Mit freundlichem Gruß
Teoma
 
Da taucht gleich wieder die (alte) Frage auf:
Keine Ahnung, WELCHEN FTP-Client Du da benutzt

Aber ich befürchte, es wurde der Windows ftp-Client verwendet…

Eine mögliche Lösung für das Problem steht schon in Beitrag #2.
 
Wenn ich das jetzt so wollte, hätte ich das auch bereits getan. Mir geht es aber erst einmal darum, verstehen zu lernen, warum der Flash-Vorgang zu Beginn des löschen der Partition mtd1 abbricht. Das Problem betrifft 2 FRITZ!Boxen. Es muss also irgendwo beim Rechner liegen. Desweiteren möchte ich mit meiner (Un)Kenntnis auch keine meiner FRITZ!Box'en unbrauchbar machen. Kurzgefasst - ich möchte lernen, zuerst dieses Problem zu lösen bzw. zu verstehen, bevor ich mich anderen Alternativen zuwende.

Ja, ich habe den FTP-Client von Windows benutzt.

Mit freundlichem Gruß
Teoma
 
So habe ich z.B. auch herausgefunden, dass der oft beschriebene Befehl "passive" bei mir durch "quote pasv" ersetzt werden muss, damit ich den passiven Modus aktivieren kann.
Das ist zwar sehr trickreich, nur wird es Dir nichts nutzen. Denn der "passive mode" besteht eben nicht nur aus einem Kommando an den FTP-Server, sondern verlangt auch eine andere Behandlung auf der Client-Seite. Wie genau sich diese Modi unterscheiden, steht im passenden RFC, wo Du gerne nachlesen kannst - das findest Du über eine Suchmaschine auch schnell selbst.

Wenn ein FTP-Client nach einem deutlich angezeigten Fehler im Protokoll (und hier meine ich das FTP-Protokoll als Definition und kein Log-File) einfach weiter macht (die 502-Message sollte einem ja schon zu denken geben), dann ist das auch ein ausgesprochen dummer Client und auf ein STOR-Kommando hin, dessen Ziel im Flash liegt, muß der Server diesen Teil des Flash-Speichers eben erst einmal löschen, bevor er dort neue Daten hineinschreiben kann - daher braucht es dann eben auch nach jedem (unvollständigen) STOR mtd1wieder das Recovery-Programm, wenn man zwischendrin die Box wieder anderweitig verwenden will.

Sofern dieses "Verlangen" nicht auftritt, kann man auch einfach weitere (dann besser korrekte) Versuche starten, sein Wunsch-System doch noch irgendwie auf die Box zu bringen - es ist also KEINESWEGS erforderlich, vor jedem neuen Flash-Versuch wieder ein FRITZ!OS zu installieren und der Verzicht darauf schont sogar den installierten Flash-Speicher.
 
Dankeschön @PeterPawn . Dann werde ich mir als nächstes das Script "EVA-FTP-Client.ps1" zur Brust nehmen.

Sofern dieses "Verlangen" nicht auftritt, kann man auch einfach weitere (dann besser korrekte) Versuche starten, sein Wunsch-System doch noch irgendwie auf die Box zu bringen - es ist also KEINESWEGS erforderlich, vor jedem neuen Flash-Versuch wieder ein FRITZ!OS zu installieren und der Verzicht darauf schont sogar den installierten Flash-Speicher.
Hierzu hätte ich aber noch eine Frage. Meinen Beobachtungen zufolge ist die Zeit dafür aber auch nicht "unbegrenzt". Zwischendurch hörte das blinken der Power-LED auch mal für eine Zeit lang auf, bevor diese dann wieder zu blinken anfing. Irgendwann - ich habe die Zeit nicht gemessen - ging diese dann endgültig aus und die Info-LED blinkte rot. Ab diesem Zeitpunkt hatte ich dann auch keinen Zugriff mehr. Ist der Zeitraum, in der der Bootloader angehalten wird, tatsächlich begrenzt?

Mit freundlichem Gruß
Teoma
 
Ist der Zeitraum, in der der Bootloader angehalten wird, tatsächlich begrenzt?

Die fehlende Notwendigkeit der Installation von FRITZ!OS sollte man auch nicht mit der Notwendigkeit eines Restarts der Box verwechseln - nach Unregelmäßigkeiten sollte man die Box schon vorsichtshalber immer wieder neu starten, so daß man einen definierten Ausgangszustand 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.