[Problem] in-memory Image lässt sich nicht mit EVA-FTP-Client.ps1 auf 7590 hochladen

DM41

Moderator
Teammitglied
Mitglied seit
26 Apr 2005
Beiträge
7,421
Punkte für Reaktionen
126
Punkte
63
  • Like
Reaktionen: mj084

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
368
Punkte für Reaktionen
11
Punkte
18
Ich habe ein ähnliches Problem mit meiner FB6890LTE ... Auf dieser Box läuft derzeit die 7.26-Labor ... nun wollte ich ein aktuelles freetz-ng mit der Laborversion über den Bootloader installieren. Klappt auch nicht.

Code:
PS C:\Users\Public\Downloads\FreetzTheBox> .\EVA-FTP-Client.ps1 -Address 192.168.15.1 -ScriptBlock { BootDeviceFromImage .\Images\6890_07.24.all-rev84953_labor_freetz-ng-18456-005524b6a_20210715-060407.NAND_bootable.image } -Verbose -Debug
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.3292 0x0 0x46409

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

200 GETENV command successful

================
DEBUG: Memory size found    : 0x20000000 (512 MB)
DEBUG: Memory size used     : 0x08000000 (128 MB)
DEBUG: Image size found     : 0x03158900
DEBUG: Set memory size to   : 0x04ea7700
DEBUG: Set MTD RAM device to: 0x84ea7700,0x88000000
DEBUG: Sent
SETENV memsize 0x04ea7700
================
DEBUG: Response:
200 SETENV command successful

================
DEBUG: Sent
SETENV kernel_args_tmp mtdram1=0x84ea7700,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
'.\Images\6890_07.24.all-rev84953_labor_freetz-ng-18456-005524b6a_20210715-060407.NAND_bootable.image' to '0x84ea7700
0x88000000' ...
DEBUG: Sent
[email protected]
================
DEBUG: Response:
227 Entering Passive Mode (192,168,15,1,12,18)

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

================
SendCommand : Ausnahme beim Aufrufen von "Flush" mit 0 Argument(en):  "In die Übertragungsverbindung können keine
Daten geschrieben werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen."
In C:\Users\Public\Downloads\FreetzTheBox\EVA-FTP-Client.ps1:681 Zeichen:21
+                     SendCommand "QUIT"
+                     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [SendCommand], MethodInvocationException
    + FullyQualifiedErrorId : IOException,SendCommand

PS C:\Users\Public\Downloads\FreetzTheBox>

Ich habe davor den TimeOut in Zeile 407 in der EVA-FTP-Client.ps1 auf 60000 (also 60 Sekunden) gestellt..

Das Image will einfach nicht auf die Box. Die Box bleibt im "Uploadmodus" hängen.. nach einem Neustart wird das originale Image geladen.
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
14,137
Punkte für Reaktionen
1,357
Punkte
113
@WileC:
Bei Dir ist das auch ein anderer Fehler ... offenbar wird hier dann beim Flushen der Buffers (hier: https://www.ip-phone-forum.de/threads/in-memory-image-lässt-sich-nicht-mit-eva-ftp-client-ps1-auf-7590-hochladen.310780/post-2437272 im ersten Satz erwähnt) festgestellt, daß der Remote-Host die Datenverbindung schon geschlossen hat. DAS sollte auch nicht passieren, solange die Übertragung funktioniert - hier vermute ich tatsächlich wieder, daß es an der Größe des Images liegen könnte. Denn mit 50 MByte ist das bei dieser Box noch einmal extra groß - das liegt wahrscheinlich an der LTE-Firmware, die da auch noch enthalten ist.

Ich weiß nicht genau, wie der Kernel-Header bei einer 6890 aussieht und wo dort der bootcore-Kernel landet - ich würde an Deiner Stelle mal versuchen, das RAM-Limit auf 256 MB anzuheben in der Skript-Datei (https://github.com/PeterPawn/YourFr...60b19387370/eva_tools/EVA-FTP-Client.ps1#L271), wenn ich davon ausgehe, daß der bootcore-Kernel (der hat ein initramfs als Dateisystem integriert und kommt daher ohne weiteres FS aus) an das obere Ende des verfügbaren Hauptspeichers geladen wird.

Ob die 6890 nach dem Abbruch der Datenverbindung noch irgendwelche Nachrichten von sich gibt und das Skript die nur nicht mehr liest oder ob die Box dann komplett schweigt, kann man im Protokoll nicht erkennen. Da die Exception beim Flush() vermutlich bei einem der drei Close() -Aufrufe auftritt, wird das Skript nicht mehr beim Lesen von Antworten der Box vorbeikommen - aber das ist auch nur geraten.
 

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
368
Punkte für Reaktionen
11
Punkte
18
Ich habe testweise einfach mal mit der selben PowerShell-Session eine 6820v1 gefreetz - ohne Probleme, ohne Fehlermeldungen. Bis zum quit und „true“ durch.

Die Box startete einfach neu und hatte das neue Image.

Würde es Sinn machen, bei der 6890 den ScriptBlock mit „0“ abzuschließen? Also
Code:
EVA-FTP-Client.ps1 -scriptblock { BootDeviceFromImage 6890.in-memory 0 }
 
Zuletzt bearbeitet:

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
14,137
Punkte für Reaktionen
1,357
Punkte
113
Nein, damit startet die Box vermutlich gar nicht - denn dann würde das Image im Speicher vermutlich da liegen, wohin eben der bootcore-Kernel entpackt werden soll. Warum AVM die Speicherbegrenzung bei den VR9-Boxen eingeführt hat, weiß ich nicht - aber bei den GRX-Boxen wird ein zweiter Kernel (der ist ähnlich einem Bare-Metal-Hypervisor) verwendet, der einige wichtige Hardware-Ressourcen verwaltet bzw. diese an die erste (und einzige) virtuelle Instanz delegiert. Der kriegt auch als erstes von EVA die Steuerung und startet dann selbst erst das eigentliche FRITZ!OS.

Wenn Du noch etwas probieren willst, dann das oben angesprochene größere Limit für die Begrenzung des Hauptspeichers. Bei der Null als zweitem Parameter, wird der komplette Hauptspeicher der Box verwendet (z.B. bei den ARM-Modellen sinnvoll) - das dürfte (zumindest nach meiner Überzeugung und nach meiner "Interpretation" der Abläufe) bei der 6890 (die hat ja einen GRX5, afaik) garantiert nicht funktionieren.
 

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
368
Punkte für Reaktionen
11
Punkte
18
Mir ist auch aufgefallen, das das Image der 6890LTE_Labor um einiges größer ist, als die FOS7.21 ... vielleicht probiere ich erstmal ein Image mit der 7.21 und minimal freetz drauf zu tun und in der Folge eine FOS7.26_Labor... mal sehen ob das klappt .. dann..

Aber natürlich auch den Test mit der Speicheränderung...

Wobei, wenn ich
Code:
EVA-FTP-Client.ps1 -scriptblock { BootDeviceFromImage 6890.in-memory 0 }
eben mit der 0 eingebe, dann dürfte ja die Reduzierung in Deinem Skript bei Zeile 247 gar nicht greifen oder?
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
14,137
Punkte für Reaktionen
1,357
Punkte
113
Noch einmal: Bei GRX-Prozessoren ist die Beschränkung des Hauptspeichers ERFORDERLICH - ich weiß nur nicht genau, auf welchen Wert. Wenn Du das selbst ermitteln willst, sieh in die Image-Datei. Das Kernel-Image besteht aus einem Header für das gesamte Image, darin liegen dann ZWEI weitere Images (1x FRITZ!OS, was man "sieht" und 1x "bootcore" - was das ist, steht oben), die auch jeweils wieder einen Image-Header haben. In jedem Image-Header steht auch die Adresse, an die das nachfolgende Image zu entpacken ist - der Hauptspeicher muß mindestens so weit begrenzt werden, daß beim Entpacken des bootcore-Kernels NICHT die in den Speicher geladenen Daten (Kernel + Dateisystem) überschrieben werden. Wie genau diese Adressen am Ende aussehen, kannst/mußt Du selbst nachsehen. Absolut "einheitlich" KÖNNEN die eigentlich nicht sein bei allen GRX-Boxen, denn die 7560 hat m.W. einen deutlich kleineren Hauptspeicher als die anderen Modelle.
 

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
368
Punkte für Reaktionen
11
Punkte
18
Also, ich habe jetzt auf eine FB6890LTE das aktuelle Freetz-NG mit meinen Paketen und einem FOS 7.13 erfolgreich über den Bootloader ohne jegliche Modifikationen in der EVA-FTP-Client.ps1 flashen können, danach habe ich ein Update auf FOS 7.26-Labor über das WebIF gemacht. Auch erfolgreich.
 
Zuletzt bearbeitet:

kein_experte

Neuer User
Mitglied seit
21 Jul 2021
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich habe leider ein ähnliches Problem und komm nicht wirklich weiter.
Ich war mit meiner 7590 auf 7.28 und habe es nicht hinbekommen das freetz-ng zum laufen zu bekommen. Installiert wurde es mit dem unten angegebenem Fehler. Ich sehe mein ausgewähltes Icon bei der Fritzbox und kann auch über die 3 Punkte zu Freetz gehen, manchmal bekam ich bei Port 81 die Möglichkeit mich einzuloggen. Hier wurde aber nichts akzeptiert. Name: root pw=freetz, Manchmal ging es nicht. Weder telnet noch ssh gehen obwohl diese im Freetz Image ausgewählt wurden zur Installation.
Also wieder alles auf Anfang und Recovery auf 7.21 Eingespielt. Neues Freetz mit 7.21 erstellt, in memory Image "gespittet".
Und erneut beim Flashen dieser Fehler. Beim 2.mal war es etwas kurios, weil ich die "linux_fs_start" nicht auslesen konnte. Ich dachte mit dies ist bestimmt wegen dem Recovery daher wurde der Flashversuch dennoch gestartet. Und an gleicher Stelle wieder nix. Nach dem Fehler startet die Box alleine durch und ich kann mich einloggen beim Fritz OS.
Ich komm hier leider nicht weiter.

Code:
PS C:\YourFritz\master\eva_tools> .\EVA-Discover.ps1 -maxWait 120 -Debug -Verbose
DEBUG: Using local IPv4 address 192.168.178.15 ...
AUSFÜHRLICH: Sending discovery packet (1) ...
AUSFÜHRLICH: Sending discovery packet (2) ...
AUSFÜHRLICH: Sending discovery packet (3) ...
AUSFÜHRLICH: Sending discovery packet (4) ...
AUSFÜHRLICH: Sending discovery packet (5) ...
AUSFÜHRLICH: Sending discovery packet (6) ...
AUSFÜHRLICH: Sending discovery packet (7) ...
AUSFÜHRLICH: Sending discovery packet (8) ...
AUSFÜHRLICH: Sending discovery packet (9) ...
AUSFÜHRLICH: Sending discovery packet (10) ...
AUSFÜHRLICH: Sending discovery packet (11) ...
AUSFÜHRLICH: Sending discovery packet (12) ...
AUSFÜHRLICH: Sending discovery packet (13) ...
AUSFÜHRLICH: Sending discovery packet (14) ...
AUSFÜHRLICH: Sending discovery packet (15) ...
AUSFÜHRLICH: Sending discovery packet (16) ...
AUSFÜHRLICH: Sending discovery packet (17) ...
AUSFÜHRLICH: Sending discovery packet (18) ...
AUSFÜHRLICH: Sending discovery packet (19) ...
AUSFÜHRLICH: Sending discovery packet (20) ...
AUSFÜHRLICH: Sending discovery packet (21) ...
AUSFÜHRLICH: Sending discovery packet (22) ...
AUSFÜHRLICH: Sending discovery packet (23) ...
AUSFÜHRLICH: Sending discovery packet (24) ...
AUSFÜHRLICH: Sending discovery packet (25) ...
AUSFÜHRLICH: Sending discovery packet (26) ...
AUSFÜHRLICH: Sending discovery packet (27) ...
AUSFÜHRLICH: Sending discovery packet (28) ...
AUSFÜHRLICH: Sending discovery packet (29) ...
AUSFÜHRLICH: Sending discovery packet (30) ...
AUSFÜHRLICH: Sending discovery packet (31) ...
AUSFÜHRLICH: Sending discovery packet (32) ...
DEBUG: Received UDP packet from 192.168.178.1:5035 ...
AUSFÜHRLICH: Found EVA loader at 192.168.178.1 ...
AUSFÜHRLICH: Trying to connect to the FTP port to hold up the device in bootloader ...
DEBUG: Error during FTP connection attempt ...
EVA_IP=192.168.178.1
True
PS C:\YourFritz\master\eva_tools> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }
PS C:\YourFritz\master\eva_tools> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -ScriptBlock { GetEnvironmentValue linux_fs_start }



PS C:\YourFritz\master\eva_tools> c:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\YourFritz\Images\firmware.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.3258 0x0 0x46409

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

200 GETENV command successful

================
DEBUG: Memory size found    : 0x20000000 (512 MB)
DEBUG: Memory size used     : 0x08000000 (128 MB)
DEBUG: Image size found     : 0x02045400
DEBUG: Set memory size to   : 0x05fbac00
DEBUG: Set MTD RAM device to: 0x85fbac00,0x88000000
DEBUG: Sent
SETENV memsize 0x05fbac00
================
DEBUG: Response:
200 SETENV command successful

================
DEBUG: Sent
SETENV kernel_args_tmp mtdram1=0x85fbac00,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:\YourFritz\Images\firmware.image.in-memory' to '0x85fbac00 0x88000000' ...
DEBUG: Sent
[email protected]
================
DEBUG: Response:
227 Entering Passive Mode (192,168,178,1,12,16)

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

================
DEBUG: Sent
SETENV memsize 0x20000000
================
DEBUG: Response:
226 Transfer complete
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 0 Argument(en):  "Error uploading image file."
In C:\YourFritz\master\eva_tools\EVA-FTP-Client.ps1:638 Zeichen:21
+                     $ScriptBlock.Invoke()
+                     ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RuntimeException
 
3CX

Neueste Beiträge

Statistik des Forums

Themen
239,246
Beiträge
2,124,303
Mitglieder
362,450
Neuestes Mitglied
reblu

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via

IPPF im Überblick

Website-Sponsoren


Kontaktieren Sie uns bei Interesse