7490 über ADAM2 flashen

maceis

Mitglied
Mitglied seit
9 Apr 2006
Beiträge
687
Punkte für Reaktionen
4
Punkte
18
Hallo zusammen,

ich muss hier (weg von zu Hause) mit etwas eingeschränkten Mitteln eine 7490 über ADAM2 flashen, finde aber leider trotz intensiver Suche keine Anleitung mehr.
Die Freetz-FW ist schon gebaut und ich habe über ssh Zugriff auf ein Linux mit freetz für eventuelle Vorbereitungsarbeiten.
Ich habe aber hier kein Linux System, dass ich an die Box anschließen kann, deswegen ist mir die Variante über ADAM2 eingefallen.

Leider finde ich die Anleitung nicht mehr, die ich dazu mal gesehen hatte.
Ich brauche Unterstützung (oder eine Anleitung) zum Vorbereiten des Images und wie genau ich in ADAM2 zum Flashen vorgehen muss.
Hab ich mir das richtig gemerkt, dass immer die FW in der aktiven Partition überschrieben wird?
Dann würde ich die im Vorfeld nämlich wechseln.

Danke im Voraus und Gruß
maceis
 
Ist eigentlich angepinnt - auch genau in diesem Unterforum:


Ich hoffe, das hilft weiter ... braucht auch nicht unbedingt ein Linux-System.

Wenn von Freetz nur die "richtige" Image-Datei vorliegt, muß/kann man mit dem hier: https://github.com/PeterPawn/YourFritz/tree/master/signimage auch per PowerShell das benötigte Image daraus extrahieren - irgendwo in dem Thread zu den Inhouse-Images mit eigenem Signaturschlüssel habe ich das ausführlicher erklärt.
 
Danke. Das hat geholfen, aber ich bin immer noch am kämpfen.

Ich habe mir ein in-memory image erstellt, dass ich mit Deinem EVA-FTP-Client.ps1 Skript hochladen wollte (habe vorher noch nie mit Powershell gearbeitet).
Das klappt leider nicht ganz. Ich bekomme diese Ausgabe:
Code:
PS C:\Users\xxx\Desktop\FritzBox> .\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\Users\xxx\Desktop\FritzBox\7490_06.93-freetz-master--8d93a8f.de_20191222-224930.image.in-memory }
DEBUG: Response:
220 ADAM2 FTP Server ready

================
DEBUG: Sent
USER adam2
================
DEBUG: Response:
331 Password required for adam2

================
DEBUG: Sent
PASS adam2
================
DEBUG: Response:
230 User adam2 successfully logged in

================
DEBUG: Sent
SYST
================
DEBUG: Response:
215 AVM EVA Version 1.3179 0x0 0x740D

================
DEBUG: Sent
GETENV memsize
================
DEBUG: Response:
memsize               0x10000000

200 GETENV command successful

================
DEBUG: Memory size found    : 0x10000000 (256 MB)
DEBUG: Memory size used     : 0x08000000 (128 MB)
DEBUG: Image size found     : 0x01ecc100
DEBUG: Set memory size to   : 0x06133f00
DEBUG: Set MTD RAM device to: 0x86133f00,0x88000000
DEBUG: Sent
SETENV memsize 0x06133f00
================
DEBUG: Response:
200 SETENV command successful

================
DEBUG: Sent
SETENV kernel_args_tmp mtdram1=0x86133f00,0x88000000
================
DEBUG: Response:
200 SETENV command successful

================
DEBUG: Sent
TYPE I
================
DEBUG: Response:
200 Type set to BINARY

================
DEBUG: Sent
MEDIA SDRAM
================
DEBUG: Response:
200 Media set to MEDIA_SDRAM

================
DEBUG: Uploading file
'c:\Users\xxx\Desktop\FritzBox\7490_06.93-freetz-master--8d93a8f.de_20191222-224930.image.in-memory' to '0x86133f00
 0x88000000' ...
DEBUG: Sent
P@SW
================
DEBUG: Response:
227 Entering Passive Mode (192,168,178,1,12,1)

================
DEBUG: Sent
STOR 0x86133f00 0x88000000
================
DEBUG: Response:
150 Opening BINARY data connection

================
DEBUG: Sent
SETENV memsize 0x10000000
================
DEBUG: Response:
553 Execution failed.
200 SETENV command successful

================
DEBUG: Sent
UNSETENV kernel_args_tmp
================
DEBUG: Response:
501 environment variable not set

================
DEBUG: Sent
QUIT
================
DEBUG: Response:
221 Thank you for using the FTP service on ADAM2
221 Goodbye.

================
Ausnahme beim Aufrufen von "Invoke" mit 1 Argument(en):  "Error uploading image file."
Bei C:\Users\xxx\Desktop\FritzBox\EVA-FTP-Client.ps1:638 Zeichen:40
+                     $ScriptBlock.Invoke <<<< ()
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : DotNetMethodException

Ab "SETENV memsize 0x10000000" gibt es Fehler, die ich nicht lösen kann.
Hab ich was übersehen oder falsch gemacht?

Ich hab auch aus der image-Datei "kernel.image" extrahiert.
Aber der Windows ftp client der Kommandozeile lässt mich diese Datei nicht mit "put kernel.image mtd1" hochladen (cant open data connection). Mich macht außerdem stutzig, dass diese Datei nur ca. 2,5 MB groß ist.

Wie kann ich jetzt weitermachen?

Gruß
maceis
 
lässt mich diese Datei nicht mit "put kernel.image mtd1" hochladen
Da hast Du dann Glück gehabt, weil das auch ziemlicher Unsinn ist bei einer 7490.

Das "553 Execution failed" ist eher ein Zeichen dafür, daß die verwendete Image-Datei eine falsche ist und der Bootloader daraus keinen Kernel entpacken und starten konnte.

Wie hast Du denn diese Datei erzeugt?

Und vor allem ... wie kommst Du danach auf die (nun wirklich vollkommen absurde) Idee, irgendetwas nach "mtd1" schreiben zu wollen?

Wobei ich tatsächlich nicht verstehe, wieso hier das Zurücksetzen der Speichergröße (das ist das "SETENV memsize 0x10000000") vor der "553"-Message protokolliert wurde (der Fehler beginnt also in Wirklichkeit gar nicht da, das ist eine Reaktion auf einen Fehler und soll nur die ursprüngliche Speichergröße wieder eintragen) ... aber auch das "Timing" der Ausschriften wäre wichtig (ich wollte schon länger mal eine Uhrzeit in die Meldungen einbauen, aber man kann das auch "von Hand" stoppen). Wenn da lange nach dem "150 Opening BINARY data connection" nichts kommt, klingt das für mich eher nach einem Timeout ... werden denn da tatsächlich Daten übertragen und wenn ja, stimmt deren Anzahl mit der Größe der Image-Datei überein? Das findet man notfalls in einem Wireshark-Mitschnitt heraus.

Aber ich würde immer noch als erstes mal den Inhalt der Image-Datei kontrollieren oder zumindest deren Größe - die muß sich exakt auf die Summe aus "filesystem.image" und "kernel.image" minus 16 Byte belaufen und Abweichungen deuten dann schon mal auf eine falsche Datei hin. Außerdem muß die Größe der Datei ein Vielfaches von 256 sein und an der Stelle in der Datei, wo (ausgehend von der Größe der "kernel.image", die zuerst darin enthalten ist) dann die "filesystem.image" beginnt, sollte die Zeichenfolge "sqsh", gefolgt von 252 binären Nullen stehen. Das sind schon mal die "Eckdaten" eines gültigen Images (man kann auch noch die ersten Bytes der "kernel.image" auf korrekten Aufbau überprüfen) und wenn irgendetwas davon nicht paßt, ist die Datei falsch aufgebaut - woher auch immer das dann kommen mag.
 
Danke für Deine Unterstützung!

Das "553 Execution failed" ist eher ein Zeichen dafür, daß die verwendete Image-Datei eine falsche ist und der Bootloader daraus keinen Kernel entpacken und starten konnte.

Wie hast Du denn diese Datei erzeugt?
Ich habe ganz normal eine neue FW gebaut und dann folgendes gemacht:
Code:
[lokaler Pfad]/eva_tools/image2ram < images/aktuell/7490/xxxbox/7490_06.93-freetz-master--8d93a8f.de_20191222-224930.image > images/aktuell/7490/xxxbox/7490_06.93-freetz-master--8d93a8f.de_20191223-003300.image.in-memory


Wobei ich tatsächlich nicht verstehe, wieso hier das Zurücksetzen der Speichergröße (das ist das "SETENV memsize 0x10000000") vor der "553"-Message protokolliert wurde (der Fehler beginnt also in Wirklichkeit gar nicht da, das ist eine Reaktion auf einen Fehler und soll nur die ursprüngliche Speichergröße wieder eintragen) ... aber auch das "Timing" der Ausschriften wäre wichtig (ich wollte schon länger mal eine Uhrzeit in die Meldungen einbauen, aber man kann das auch "von Hand" stoppen). Wenn da lange nach dem "150 Opening BINARY data connection" nichts kommt, klingt das für mich eher nach einem Timeout ... werden denn da tatsächlich Daten übertragen und wenn ja, stimmt deren Anzahl mit der Größe der Image-Datei überein? Das findet man notfalls in einem Wireshark-Mitschnitt heraus.
Ich hoffe mal, dass ich da drum herum komme ;).
Insgesamt läuft das relativ zügig durch. Sieht für mich nicht wirklich nach einem Timeout im ftp aus.

Aber ich würde immer noch als erstes mal den Inhalt der Image-Datei kontrollieren oder zumindest deren Größe - die muß sich exakt auf die Summe aus "filesystem.image" und "kernel.image" minus 16 Byte belaufen und Abweichungen deuten dann schon mal auf eine falsche Datei hin. Außerdem muß die Größe der Datei ein Vielfaches von 256 sein und an der Stelle in der Datei, wo (ausgehend von der Größe der "kernel.image", die zuerst darin enthalten ist) dann die "filesystem.image" beginnt, sollte die Zeichenfolge "sqsh", gefolgt von 252 binären Nullen stehen. Das sind schon mal die "Eckdaten" eines gültigen Images (man kann auch noch die ersten Bytes der "kernel.image" auf korrekten Aufbau überprüfen) und wenn irgendetwas davon nicht paßt, ist die Datei falsch aufgebaut - woher auch immer das dann kommen mag.

Code:
% du -b *
32983040        7490_06.93-freetz-master--8d93a8f.de_20191222-224930.image
32293120        7490_06.93-freetz-master--8d93a8f.de_20191223-003300.image.in-memory

 % echo $((32293120/256.0))
126145.
Vielfaches von 256 stimmt schon mal


Code:
% tar xf 7490_06.93-freetz-master--8d93a8f.de_20191222-224930.image
 % du -b var/tmp/*
29768968     var/tmp/filesystem.image
2524168       var/tmp/kernel.image

%  echo $((29768968+2524168-16))
32293120
Somit entspricht das, soweit ich das erkennen kann, Deinen Informationen.

Was kann ich noch versuchen?
 
Dann "rate" ich als nächstes einfach mal, daß das KEIN Windows 10 ist und Du auch kein Update auf WMF 5.1 gemacht hast - geschrieben hast Du dazu ja nichts.

Beschrieben habe ich das in dem oben verlinkten Thread - und auf die Idee, daß es daran liegen könnte, bringt mich der Inhalt ab hier: https://github.com/PeterPawn/YourFritz/blob/master/eva_tools/EVA-FTP-Client.ps1#L385

Da zum Kopieren die Methode "CopyToAsync" des "File"-Objekts verfügbar sein muß und deren Fehlen über die "try-catch"-Konstruktion in "WriteFile" einfach mit abgefangen würde, muß das nicht mal zwangsläufig eine passende Fehlermeldung geben, weil "WriteFile" auch dann nur "false" zurückgeben würde.

Welche Minimal-Versionen erforderlich sind, steht in der Datei an der oben verlinkten Stelle - ebenso, wie man das "abfragt".

Ich denke mal, daß auch das wieder erfolgsversprechender ist als "Spur", als ein Beobachten der Datenübertragung. Ist es das jetzt aber definitiv auch nicht, wird es wohl auf Mitschnitte hinauslaufen.

Man kann aber auch mal die Gegenrichtung prüfen und Daten (genauer "Dateien", weil GETENV keine Datenverbindung braucht) von der Box lesen, um die prinzipielle Funktion der Skripte zu testen, denn auch für das Lesen wird unter bestimmten Umständen die "CopyToAsync"-Methode (hier aber vom TCP-Stream) benutzt.
 
Zuletzt bearbeitet:
Dann "rate" ich als nächstes einfach mal, daß das KEIN Windows 10 ist und Du auch kein Update auf WMF 5.1 gemacht hast - geschrieben hast Du dazu ja nichts.
[...]
Ja, da hast Du völlig recht.
Ich bin hier an einem (fremden) Windows 7 Rechner (bitte nicht fragen warum das hier noch auf Win 7 läuft). Ich benutze auch zum ersten mal Windows Powershell.
Den von Dir erwähnten Hinweis auf Minimal_Versionen habe ich, ehrlich gesagt, nicht gesehen.
 
Ich gehe mal davon aus, daß die Information, ob es dann mit aktuellen Versionen doch noch geklappt hat, nach dem Aufstehen nachgereicht wird? Oder daß sie kommt, wenn - ebenfalls nach dem Aufstehen - die Bemühungen fortgesetzt werden? Ich würde das nur gerne "abgeschlossen" wissen - die Frequenz meiner eigenen Anläufe bei der Suche nach neuen Beiträgen steigt meist, wenn ich solche Problem-Threads noch "offen" habe. Wenn es noch irgendwo hängen sollte, wäre das ja vermutlich auch für Dich wünschenswert, wenn ich nicht erst nach dem 26.12. wieder hier auftauche.
 
Ja, Danke. Ich hatte hier heute früh noch einige familiäre Verpflichtungen.

Da ich das System hier nicht ändern kann (und auch nicht will), habe ich mich für den wenig eleganten Weg des Downgrade-Recovers (6.30 glaub ich) entschieden.

Trotzdem hätte ich noch sehr gerne den Weg über den adam-ftp-server gewusst. Das muss doch gehen.

Ich hab jetzt ein Freetz 6.93 drauf. Leider gibt es da noch ein Problem mit dem OpenVPN Server, weil da wohl jetzt eine neue Version in Freetz ist, wo trotz identische Konfiguration pull am Client nicht geht und auch das Routing von Hand nicht funktioniert. Auch das tun0 Interface wird anders eingerichtet, als das bei bisherigen Versionen der Fall war. Aber das ist alles ein anderes Thema.

Schon mal herzlichen Dank bis hierhin für deine Mühe und Deine Unterstützung.
Gruß maceis
 
Das muss doch gehen.
Dir ist aber schon bewußt, daß EVA und ADAM in diesem Kontext dasselbe sind und daß es bei der 7490 gar keinen "adam-ftp-server" gibt?

Niemand verwehrt es Dir, die Berechnungen der Speicheradressen und das Setzen der notwendigen Einstellungen per "SETENV"-Kommando auch "von Hand" zu machen (ggf. auch mit einem FTP-Client, wenn der sich an der notwendigen Angabe von zwei Parametern beim "STOR"-Kommando nicht stört) ... die Skript-Dateien automatisieren das eben nur. Wie so ein FTP-Dialog ablaufen sollte, hast Du ja im Protokoll stehen.

Was Du ansonsten mit:
Trotzdem hätte ich noch sehr gerne den Weg über den adam-ftp-server gewusst.
meinen solltest, erschließt sich halt (mir und vermutlich auch anderen Lesern) nicht.

Wie auch immer ... frohe Weihnachten. Ich mache in Kürze für die nächsten Tage zu.
 
Dir ist aber schon bewußt, daß EVA und ADAM in diesem Kontext dasselbe sind und daß es bei der 7490 gar keinen "adam-ftp-server" gibt?
Ja, obwohl:
Code:
220 ADAM2 FTP Server ready

Niemand verwehrt es Dir, die Berechnungen der Speicheradressen und das Setzen der notwendigen Einstellungen per "SETENV"-Kommando auch "von Hand" zu machen (ggf. auch mit einem FTP-Client, wenn der sich an der notwendigen Angabe von zwei Parametern beim "STOR"-Kommando nicht stört) ... die Skript-Dateien automatisieren das eben nur. Wie so ein FTP-Dialog ablaufen sollte, hast Du ja im Protokoll stehen.
Recht hast Du, aber zuerst muss ich mich um mein OpenVPN Problem kümmern.

Dir (und allen anderen, die hier noch reinschauen) wünsche ich auch eine frohes Fest und alles Gute.

Gruß
maceis
 
Ich weiß nicht genau, was Du mir damit sagen willst.
Die von mir gemostete Zeile stammt jedenfalls von meiner 7490.
 
Die von mir versaftete Zeile auch ... siehe #3 und außerdem hatte ich selbst geschrieben, daß es ein und derselbe Server ist und damit die Formulierung:
Trotzdem hätte ich noch sehr gerne den Weg über den adam-ftp-server gewusst. Das muss doch gehen.
(mal ganz abgesehen davon, daß Du selbst eine Zeile zitierst, wo von "ADAM2" die Rede ist) irgendwie keinen richtigen Sinn ergibt, denn genau dieser - von Dir immer noch "gesuchte" - Weg geht ja aus dem - von Dir selbst in #3 veröffentlichten - Protokoll hervor.

Bis zum "STOR"-Kommando sind das ja exakt die Zeilen, die es in einem eigenen FTP-Dialog (und einen solchen willst Du ja mit dem "adam-ftp-server" vermutlich führen, weil der auch kaum etwas anderes verstehen wird) bräuchte.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,172
Beiträge
2,247,422
Mitglieder
373,715
Neuestes Mitglied
wesleymoons87
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.