[Problem] 3490 nach Update in Bootloop

fritz.fichtl

Neuer User
Mitglied seit
27 Dez 2018
Beiträge
25
Punkte für Reaktionen
0
Punkte
1
Ich besitze eine 3490 OS7.01 bei der ich das Update auf 7.11 durchgeführt habe. Seitdem hängt die FB im Bootloop fest.
Nach Stromzufuhr blinkt die INfo LED 5mal, anschießend ist diese für ca. 15 sec. an, dann Reboot.
Wenn ich wieder auf das zweite Partitionsset zurückschalte funktioniert die Box wieder. Auch ein wiederholen des Updates sowie mit dem Recover haben immer das gleiche Ergebnis.
Die Einträge "linux-fs-start" etc. sind alle vorhanden und können auch bearbeitet werden.
HWRevision 212
HWSubRevision 1
ProductID Fritz_Box_HW212
SerialNumber 0000000000000000
annex B
autoload yes
bootloaderVersion 1.2191
bootserport tty0
cpufrequency 500000000
crash [0]e966511c,5acadd44,1[1]0,0,0[2]0,0,0[3]0,0,0
firstfreeaddress 0x811382FC
firmware_info 140.06.83
firmware_version avm
flashsize nor_size=0MB sflash_size=1024KB nand_size=512MB
linux_fs_start 1
maca xx:6D:B4:BE:D5
macb xx:6D:B4:BE:D6
macwlan xx:6D:B4:BE:D7
macwlan2 xx:6D:B4:BE:D8
macdsl xx:6D:B4:BE:D9
memsize 0x10000000
modetty0 38400,n,8,1,hw
modetty1 38400,n,8,1,hw
mtd0 0x400000,0x3400000
mtd1 0x0,0x400000
mtd2 0x0,0x40000
mtd3 0x40000,0xA0000
mtd4 0xA0000,0x100000
mtd5 0x0,0x800000
my_ipaddress 192.168.178.1
prompt Eva_AVM
req_fullrate_freq 250000000
sysfrequency 250000000
tr069_passphrase PmkNvwzF6iEk
tr069_serial 00040E-E0286DB4BED5
urlader-version 3191
usb_board_mac xx:6D:B4:BE:DA
usb_device_id 0x0000
usb_device_name USB DSL Device
usb_manufacturer_name AVM
usb_revision_id 0x0000
usb_rndis_mac xx:6D:B4:BE:DB
wlan_key xxx85818083392422323
Kann hier ein Hardwaredefekt vorliegen, wenn ein Partitionsset problemlos funktioniert und das andere eben nicht?
Oder müsste das Tffs neu geschrieben und hochgeladen werden?
Ich habe leider nur von den Partionen der 6490 eine Ahnung, jedoch nicht von der 3490. Wohin müsste ggf. das neu erzeugte Tffs geschrieben werden?
 
Hat die Box sich nach erfolgreichen Update automatisch neugestartet oder wurde anschließend per Stromkabel ziehen neugestartet, falls zweites, liegt es daran.
 
Die Box ist nach dem Update von selbst neu gestartet. Ich habe nach dem Update so lange gewartet bis die Box mindestens 2 Rebootdurchläufe ausgeführt hat, bevor ich die Stromzufuhr unterbrochen habe. Daran kann es nicht liegen.
 
Zuletzt bearbeitet:
Hast Du bereits versucht in beide Partitionssets das selbe Recovery hinein zu schreiben? Bevor Du anfängst ein neues TFFS schreiben zu wollen? (Was soll eig am Environment korrupt sein? Wenn das eine System ja startet...)

Hast Du das Image bereits erneut heruntergeladen und hast das Update erneut angestoßen?
 
Zuletzt bearbeitet:
Oder müsste das Tffs neu geschrieben und hochgeladen werden?
Das kannst du dir sparen denn das hat bereits das Recovery-Tool getan.

Hast Du bereits versucht in beide Partitionssets das selbe Recovery hinein zu schreiben?
Ich würde aktuell das funktionierende Partitionsset nicht mit Hilfe des Recovery-Tool überschreiben wollen.

Kann hier ein Hardwaredefekt vorliegen, wenn ein Partitionsset problemlos funktioniert und das andere eben nicht?
Vielleicht, vielleicht auch nicht. Um zu wissen was die Ursache für das Problem ist bräuchte man wohl auf Basis der bisher bekannten Fakten vermutlich eine Glaskugel. Das TFFS hätte ich jetzt aber am wenigstens in Verdacht gehabt. Zudem dieses durch den Einsatz des Recovery-Tool vermutlich eh schon neu geschrieben wurde.
 
Zuletzt bearbeitet:
Vielen Dank für Eure Einschätzungen.

Beim Recover wird ja das aktuelle Partitionsset überschrieben, richtig? Bei meiner Box macht das linux_fs_start=1 Probleme. Das Recover läuft problemlos durch, die Box startet neu und landet im Bootloop. Nach einem Recover stehen im Enviroment unter "firmware_info recovered=2" und es ist ein neuer Eintrag "ptest" ohne Wert vorhanden. Weiß jemand was diese Einträge bedeuten? Beim Umschalten auf das funktionierende partitionsset (0) wird der Eintrag "firmware_info" wieder mit dem Wert 140.07.01 versehen, der Eintrag "ptest" bleibt stehen.

Beim booten des defekten Partitionssets scheint die Box ja nicht besonders weit zu kommen, da bereits nach 29 sec. ein reboot stattfindet. Es leuchten nach der kurzen Lichtorgel nie die LED's Power, LAN, WLAN oder DSL auf.
Ein echter Hardwaredefekt kann doch auch nicht vorliegen, wenn im Partitionsset 0 alles super funktioniert.
 
Merkwürdig. Meine 3490 hatte kein Update-Problem. Kann es sein, dass Dein Recovery defekt ist? Sonst könnte ich mir nur vorstellen, dass der Flash ein paar defekte Zellen hat, die für das neue Partitionsset ungünstig liegen. Aber ich dachte immer, dass die Box das automatisch erkennt und entsprechend korrigiert.
 
Das Recovery kann nicht defekt sein, da ich am Anfang das Partitionsset (0) überschrieben habe, da hat es funktioniert. Nur im Partitionsset (1) eben nicht. Defekte Zellen im Flash sollten doch vom Controller erkannt werden.
Ich bin jetzt auch ziemlich ratlos.
 
firmware_info recovered=2
Ist gleichzusetzen mit "lade beim Neustart die Werkseinstellungen" ist dieser Wert noch vorhanden, schließt dies wiederum auf ein nicht korrektes Starten des FRITZ!OS (was sich in den beschriebenen Bootloop zeigt)

ein Versuch wäre es ggf. wert, dort mal die korrekte Versionsangabe beim Booten mit zu schicken (wichtig ist es systematisch. vor zu gehen um alles wieder rückgängig machen zu können)
 
Weiß jemand was diese Einträge bedeuten?
Das mit der "ptest"-Variablen ist "normal", weil AVM da schon immer etwas inkonsequent war bei deren Inhalt.

So wird der alte Wert in der Variablen durch das Kommando:
Code:
290 echo "ptest " >$CONFIG_ENVIRONMENT_PATH/environment
in der "/etc/init.d/S42-ptest" versucht zu löschen (Zeile 290 ist aus der 113.07.11 und es verschiebt sich immer mal ein wenig, aber "die Gegend" sollte stimmen) ... was im Prinzip auch funktioniert. Nur macht es eben beim procfs-Interface für das TFFS einen Unterschied, ob man im "echo"-Kommando nach dem Variablennamen noch ein Leerzeichen angibt oder nicht ... wie man in "tffs_proc.c" in der Funktion "avm_urlader_setenv_sysctl()" nachlesen kann, wird ohne dieses Leerzeichen die Variable gelöscht und mit dem Leerzeichen auf einen Wert der Länge 0 gesetzt.
Code:
root@FB7490:~ $ grep "ptest" /proc/sys/urlader/environment
ptest
root@FB7490:~ $ echo "ptest" > /proc/sys/urlader/environment
root@FB7490:~ $ grep "ptest" /proc/sys/urlader/environment
root@FB7490:~ $ echo "ptest " > /proc/sys/urlader/environment
root@FB7490:~ $ grep "ptest" /proc/sys/urlader/environment
ptest
root@FB7490:~ $ grep ptest /proc/sys/urlader/environment | busybox hexdump -C
00000000  70 74 65 73 74 09 0a                              |ptest..|
00000007
root@FB7490:~ $
Wie man oben auch sehen kann, erzeugt die Anwesenheit der Zeile mit "ptest" in der Ausgabe also zwischen dem Namen und dem Newline-Zeichen noch ein "TAB" (hex 09).

Wie liest AVM das also wieder aus beim nächsten Start? So:
Code:
 24 export CONFIG_ENVIRONMENT_PATH=/proc/sys/urlader
 25 PTEST=`cat $CONFIG_ENVIRONMENT_PATH/environment | grep ptest | tr , ' '`
 26 if [ -z "$PTEST" ] ; then
 27 PTEST=`cat /proc/cmdline | grep ptest | tr , ' '`
 28 fi
Die Variable "$PTEST" enthält also mindestens noch den Namen und das Tabulator-Zeichen ... wenn da irgendwelche komma-separierten Infos im Wert stehen, werden diese Kommata in Leerzeichen umgewandelt.

Seit einiger Zeit spielt diese "ptest"-Variable aber auch eine Rolle bei der Installation einer Firmware ... nur kommt sie dort erst ins Spiel, wenn die Installation bereits durch ist.

-----------------------------------------------------------------------------------------------------------------

Nun ist dieser ganze "ptest"-Kram ja ohnehin zusammengewürfelt ... hier treffen sich Teile, die bei der Produktion einer Box auszuführen sind, mit Optionen, welche den Providern zusätzliche Protokoll-Möglichkeiten beim Test einer neuen Firmware einräumen (psupportd=irgendwas - der Wert interessiert nicht weiter, weil nur bis zum Gleichheitszeichen verglichen und dann immer auf "1" gesetzt wird in der "S42-ptest") ... eine strikte Trennung zwischen den (internen) Möglichkeiten für AVM und den Zusatzangeboten für Tests durch die Provider (die dafür offenbar spezielle Programme erhalten von AVM, die auf anderen Rechnern laufen und mit der FRITZ!Box in diesem "Testzustand" kommunizieren - denn sonst käme auch ein Provider nur auf beschwerlichen Wegen an die Ausgaben auf "/dev/console" bzw. hätte Probleme, diese vernünftig zu speichern - komme ich nochmal drauf zurück) ist dort jedenfalls nicht zu erkennen.

Ich habe nicht in die 3490 gesehen (den Vergleich mit der 7490 kann ja jeder selbst vornehmen) ... wenn darin nicht noch zusätzlicher Inhalt in der "S42-ptest" auftaucht, sollte das Vorhandensein von "ptest" im Environment jedenfalls nicht der Auslöser sein ... nach dem nächsten Systemstart steht das ohnehin wieder drin (s.o.).

Wobei Fehler dort nicht vollkommen ausgeschlossen sind, denn auch das Starten des "ptestd"-Daemons bei den DOCSIS-Modellen mit dem Parameter "--client_ip=192.168.178.20" ist - behaupte ich mal ganz kühn - ein Fehler, den AVM dort eingebaut hat und der in "nicht-Cable"-Modellen nur deshalb keine Auswirkungen hat, weil dort der "ptestd" nicht Bestandteil der (Release-)Firmware ist. In den Cable-Modelle wird er aber auch in der Release-Version zur Kommunikation zwischen den beiden System im Gerät benutzt ... nur da eben normalerweise ohne den "--client_ip"-Parameter. Eingeschleppt hat AVM das Problem (wenn es denn eines ist in den Augen von AVM, denn i.d.R. hat der gemeine FRITZ!Box-Benutzer keinen Zugriff auf die Zusatzprogramme für den Client) mit der Labor-Reihe, die in die 07.0x mündete.

-----------------------------------------------------------------------------------------------------------------

Warum gehe ich jetzt so ausführlich auf diese Variable ein? Weil ich mehrfach schon erläutert habe, wie man durch das Beobachten von solchen Variablen, die vom System bei jedem Start geschrieben bzw. geändert werden, auch - zumindest grob - ermitteln kann, wie weit das System bei seiner Initialisierung kommt. Hier kann man also mit den Augen (für die genaue Beobachtung der LEDs) in Kombination mit einer Stoppuhr (oder gleich einem Smartphone, weil man das aus dem eigenen Video viel leichter ermitteln kann, da man es mehrfach ansehen kann, während man die Abläufe hier niederschreibt) und dem Vorher-Nachher-Vergleich von Variablen im Bootloader (denn man darf dann natürlich nur einen einzigen Start ausführen und nicht erneut versuchen, das System zu initialisieren, weil man dann wieder den Vorher-Zustand nicht mehr sicher kennt) schon wahre Wunder bewirken ... selbst wenn man das Problem damit wohl nicht reparieren kann. Aber die (Er-)Kenntnis, wo es überhaupt liegt, hilft natürlich vehement bei der Entwicklung einer Strategie für seine Lösung.

-----------------------------------------------------------------------------------------------------------------

Zumal ich - als neutraler Leser - wieder einmal nicht erkennen kann, was hier wirklich passiert ist. Zwar wird immer wieder mal mit "Recovery-Programm" und "linux_fs_start" um sich geworfen (und prinzipiell ist das Geschriebene auch nicht falsch), nur steht da nie, welches Recovery-Programm nun eigentlich auf welches Partitionset losgelassen wurde. Daraus resultieren dann auch sehr merkwürdige Dialoge:
Kann es sein, dass Dein Recovery defekt ist?
Das Recovery kann nicht defekt sein, da ich am Anfang das Partitionsset (0) überschrieben habe, da hat es funktioniert. Nur im Partitionsset (1) eben nicht.
Beim Umschalten auf das funktionierende partitionsset (0) wird der Eintrag "firmware_info" wieder mit dem Wert 140.07.01 versehen, der Eintrag "ptest" bleibt stehen.
Offenbar steht also im Partitionset, welches bei "linux_fs_start=0" verwendet wird, ein FRITZ!OS 07.01 ... da stellt man sich als "Außenstehender" halt die Frage, warum man dann nicht einfach mal mit dem Recovery-Programm für die 07.11 versucht, im anderen Partitionset die neue Version zu installieren? Dafür muß man natürlich das passende (und funktionierende) Recovery-Programm haben, dieses kann dann ja aber nicht das Recovery-Programm sein, mit dem das Partitionset 0 (wenn wir es so nennen wollen) beschrieben wurde, wenn da immer noch eine 07.01 installiert ist ... außer dieses Recovery-Programm hat eben auch "versagt".

Etwas mehr Präzision bei der Beschreibung hilft also sowohl beim Vermeiden von Mißverständnissen als auch gegen "Unverständnis" ob der Dialoge, die sich dann ergeben können.

-----------------------------------------------------------------------------------------------------------------

Ich bin dann aber auch etwas erstaunt, warum Du nicht auf eine (zumindest für mich) naheliegende Möglichkeit für einen Kreuztest kommst (und es auch noch kein anderer vorgeschlagen hat). Da wir hier ja über eine 3490 reden und dort der Einsatz des Recovery-Programms (im Gegensatz zu den GRX-Modellen, wo die UBIFS-Initialisierung bei "recovered=n" dann beide Systeme unbrauchbar macht, weshalb ich immer mit "eva_to_memory" (o.ä.) arbeiten würde, da hier das "recovered=n" nicht automatisch gesetzt wird) tatsächlich nur das System in der aktiven Partition (nach dem Inhalt von "linux_fs_start") beeinflußt, kann man ja auch einfach mal ein noch ein anderes Recovery-Programm (älter oder eben doch die 07.11) auf das vermeintlich defekte Partitionset loslassen ... mit einer noch älteren Version kann man dann zumindest mal ausschließen, daß die Box tatsächlich defekt ist.

Es ist natürlich nicht ausgeschlossen, daß AVM beim Zusammenstellen einer Firmware-Version auch mal Fehler macht ... daß das nicht alles von Alpha bis Omega durchautomatisiert ist (bzw. da auch mal geändert wird, wie jetzt gerade erst wieder bei den Namen der Images), ist ja offensichtlich. Die 3490 ist wohl auch nicht sooo weit verbreitet und da kann dann irgendeine ungewöhnliche Einstellung bei einem Kunden schon mal solitär sein und von anderen gar nicht bemerkt werden.

Da ist es dann wichtig, wirklich nur eine Variable im eigenen Vorgehen zu ändern, damit man tatsächlich sicher sein kann, daß es genau diese ist, welche zum Problem führt. Hier bieten sich also mehrere Möglichkeiten ... von der Installation der 07.11 per Recovery im ersten Partitionset (damit weiß man dann, daß die Box mit 07.11 überhaupt arbeitet) bis zur Installation einer älteren Version in Partitionset 1, damit man sicher sein kann, daß es nicht an der 07.01 generell, dem Recovery-Programm oder vielleicht doch an einem (zu sehr beschädigten) NAND-Flash liegt.

-----------------------------------------------------------------------------------------------------------------

Die Ausweichmöglichkeiten im NAND sind begrenzt (der Controller ist da auch rudimentär und Aufgaben wie Wear-Leveling und Defekterkennung obliegen der Software) und gerade für den Kernel gibt es vermutlich keine vernünftige Möglichkeit der "nicht-linearen Speicherung", weil der Bootloader m.E. ebenfalls eher rudimentären Support für NAND-Flash bietet (genaues weiß man dank CS - was "closed source" heißen soll und nicht "Chip Select" - ja nicht) ... beim Schreiben ja gar wohl gar nicht, denn deshalb installiert ja der ins RAM geladene Kernel sich selbst und beim Lesen wohl wirklich nur linear.

Wenn da also mehr kaputtgeht im NAND, als durch einfache Operationen behoben werden kann (ich bin nicht mal sicher, daß der Bootloader die OOB-Infos beim Laden des Kernels verwendet), halte ich ein Problem für den Bootloader nicht für komplett ausgeschlossen. Nur sind eben die 8 MB für den Kernel im zweiten Partitionset nur ein kleiner Teil des gesamten NAND-Flashs - selbst wenn man beide Kernel-Partitions betrachtet, sind deren 16 MB bei 512 MB gesamt nicht die Welt und die Wahrscheinlichkeit eines Fehlers ist eher gering - zumal dort eher selten geschrieben wird, denn so viele Updates kriegt eine normale Box beim Kunden nun auch wieder nicht.

Aber auch das sieht man dann eben wieder anhand der Variablen ... wenn "firmware_info" angefaßt wird, wurde auch der Kernel erfolgreich geladen und das Root-Dateisystem gemountet ... dann ist zwar ein Fehler innerhalb des SquashFS immer noch nicht vom Tisch (m.W. gibt es dort keine Prüfsumme über das gesamte FS), aber die Verwaltungsinformationen (die im SquashFS verteilt liegen, wobei die Pointer auf die Verwaltungsblöcke am Ende des FS stehen) waren dann schon mal lesbar, weil "firmware_info" erst in "S01-head" (kurz vor deren Ende) neu geschrieben wird mit der Versionsnummer des laufenden Systems.

Da hier ja offenbar bereits (mehrfach) mit "recovered=2" gestartet wurde (wo dann der NAND-Flash für den NAS-Speicher ohnehin gelöscht sein dürfte), ist es auch egal, ob man nun mit dem AVM-Recovery-Programm arbeitet (das dann ohnehin jedesmal auch ein neues TFFS-Image in beide Partitionen schreibt) oder ob man etwas schonender nur ein Image in die Box lädt und dieses startet.

-----------------------------------------------------------------------------------------------------------------

Wobei die Übung, die man beim Umgang ohne das Recovery-Programm erlangt, später auch nützlich sein kann, wenn man z.B. ein AVM-System so modifizieren will, daß es den Installationsvorgang im Flash protokolliert. Denn hier schließt sich wieder der Kreis zur "S42-ptest" bzw. zur Variablen "ptest". Denn diese wird ebenfalls in der "sbin/flash_update" untersucht (das Skript liegt im YAFFS2-Dateisystem unter "/wrapper", falls es jemand im SquashFS suchen sollte) und mit ihrem Inhalt kann man u.a. dafür sorgen, daß das Protokoll der Installation im Anschluß per TFTP auf einen Server übertragen wird, den man im LAN bereitstellt.

Hier kommen dann auch wieder die "Spezialprogramme" von AVM ins Spiel, jedenfalls ab der 07.11 - denn wenn es ein Programm "psupportd_sendmsg" in der Firmware gibt (was bei der 07.11 als erster Release-Version der Fall ist), dann wird anstelle des TFTP-Clients aus der BusyBox dieses verwendet. Wenn man das Protokoll also ohne die AVM-Programme haben will, muß man dieses Programm aus dem zu installierenden Image löschen und dieses dann "von Hand" installieren. Genau dabei hilft einem dann die Routine, die man beim Umgang mit dem Bootloader erworben hat.

-----------------------------------------------------------------------------------------------------------------

Es gibt also noch viele Optionen beim Versuch, die Ursache des Problems zu ermitteln ... wie immer ist Systematik und auch eine gewisse Ausführlichkeit bei der Dokumentation der Ergebnisse die beste Voraussetzung, um bei anderen vielleicht noch die eine oder andere Idee zu produzieren, was man versuchen/testen/ausschließen könnte.
 
Zuletzt bearbeitet:
Wurde mal ein älteres Recovery (7.01) versucht?
- Falls das klappt, würde ich das 7.11 *erneut* herunterladen und versuchen, ansonsten erstmal beim 7.01 bleiben.
- Klappt auch das nicht, würde ich einen Hardware-Defekt annehmen --> Austausch seitens AVM.
 
- Falls das klappt, würde ich das 7.11 *erneut* herunterladen und versuchen, ...
Tip:
Wenn man eine beschädigte Datei (bspw. beim herunterladen verursacht) des Recovery-Tool vermutet muss man dieses nicht unbedingt gleich erneut herunterladen. Da die Recovery-Tools von AVM (mittlerweile) signiert sind, kann man sich auch die Details der Signatur anschauen. Ich habe mal zum Test beim Recovery-Tool für die 3490 (7.01) die HW-Rev. Überprüfung (per HEX-Editor) angepasst, sind nur zwei Bytes die ich geändert habe, hier das Ergebnis (links unverändertes Original, rechts per HEX-Editor angepasst):
AVM_Recovery_Tool_Signatur_001.png

Hier zum Vergleich die SHA256 Prüfsummen der beiden Dateien:
Code:
FRITZ.Box_3490.07.01.recover-image_2.exe (verändert) = efa618df67fb6c78210ac808aaef36f91bf5b7caa2d01b5f9fc14a43048dd18d
FRITZ.Box_3490.07.01.recover-image.exe   (original)  = 218b11e972aa050a54bfb6992d3108818865e04660f0ee59556915a755d067e4

Klar könnte man auch die Prüfsumme der heruntergeladenen Dateien vergleichen. Aber für den handelsüblichen Windows-Nutzer (DUW ;)) dürfte das oben beschriebene Vorgehen der Signaturüberprüfung noch mit am schnellsten und einfachsten sein.

Bei meinen regelmäßigen Synchronisationen mit dem FTP-Server von AVM konnte ich bei den Recovery-Tools der 3490 mit den Ver. 7.01 de und 7.11 de bisher übrigens auch keine ausgetauschten oder neuen Dateien seitens AVM feststellen (denn das gab es tw. auch schon bei AVM).
 
Ob der Flash für das Partitionset bei "linux_fs_start=1" tatsächlich kaputt ist, kann man ja auch (weitgehend) vom anderen System aus testen.

Für die YAFFS2-Partition und das dort liegende SquashFS-Image kann man das einfach per "mount" und "cp" herausbekommen - die Dateien im YAFFS2 müssen dem Inhalt des "ext2"-Images (nach dem 256-Byte-Header mit der "sqsh"-Signatur) 1:1 entsprechen und beim SquashFS (filesystem_core.squashfs) und der dort verwendeten LZMA-Kompression führt praktisch jeder kleine Fehler zum Alarm, weil die Dekompression dann "nicht aufgeht".

Die Kernel-Partition sollte (in der Länge des installierten Kernels) dem zu installierenden Kernel entsprechen ... wer das testet, muß beachten, ob da die TI-Checksum noch dran hängt (an der Partition eher nicht, aber an der Datei), damit er nicht in der falschen Länge vergleicht.

Auf einer 3490 eine Shell zu kriegen (auch in der 07.01) ist genauso leicht, wie bei den anderen VR9-Boxen ... also keine Kunst und - wenn man's ernst meint - auch kein Hindernis.
 
Vielen Dank für die rege Teilnahme hier im Forum um mein Problem mit der 3490 zu lösen.

Momentan kann ich leider die sehr fachkundigen Beiträge von PeterPawn, mangels Fachkunde meinerseits, nur teilweise nachvollziehen.

Ich möchte hier noch ein paar Informationen ergänzen.
Mir liegen die Recovery 7.01 und 7.11, sowie die normalen Update-Images 7.01. und 7.11 vor. Ältere Recovery oder Update-Images für die 3490 habe ich nicht vorliegen.
Ich kann ziemlich sicher ausschließen, das die Recovery Dateien defekt sind, da ich sowohl die 7.01 (und inzwischen auch die 7.11) auf das Partitionsset (0) und auf (1) ausgeführt habe. Immer mit dem Ergebnis, dass es mit dem Partitionsset (0) anschließend bootet und auch durchläuft und im Partitionsset (1) zu einem Bootloop führt.

HWRevision 212
HWSubRevision 1
ProductID Fritz_Box_HW212
SerialNumber 0000000000000000
annex B
autoload yes
bootloaderVersion 1.2191
bootserport tty0
cpufrequency 500000000
crash [0]5987c636,5cf35f70,1[1]0,0,0[2]0,0,0[3]0,0,0
firstfreeaddress 0x811382FC
firmware_info 140.07.11
firmware_version avm
flashsize nor_size=0MB sflash_size=1024KB nand_size=512MB
linux_fs_start 0
maca xx:6D:B4:BE:D5
macb xx:6D:B4:BE:D6
macwlan xx:6D:B4:BE:D7
macwlan2 xx:6D:B4:BE:D8
macdsl xx:6D:B4:BE:D9
memsize 0x10000000
modetty0 38400,n,8,1,hw
modetty1 38400,n,8,1,hw
mtd0 0x400000,0x3400000
mtd1 0x0,0x400000
mtd2 0x0,0x40000
mtd3 0x40000,0xA0000
mtd4 0xA0000,0x100000
mtd5 0x0,0x800000
my_ipaddress 192.168.178.1
prompt Eva_AVM
ptest
req_fullrate_freq 250000000
sysfrequency 250000000
tr069_passphrase PmkNvwzF6iEk
tr069_serial 00040E-E0286DB4BED5
urlader-version 3191
usb_board_mac xx:6D:B4:BE:DA
usb_device_id 0x0000
usb_device_name USB DSL Device
usb_manufacturer_name AVM
usb_revision_id 0x0000
usb_rndis_mac xx:6D:B4:BE:DB
wlan_key 55985818083392422323
Jetzt ist auch wieder der Eintrag "crash" vorhanden, kann man aus dem Eintrag etwas ableiten?

Ich werde die nächsten Tage mal anstelle des Recovery mit PeterPawns "eva_to_memory" versuchen, die Firmware auf die Box zu bringen.
Mir fehlen aber immer noch die grundsätzliche Kenntnis über die Verteilung der Partitionen auf der 3490.
 
Ältere Recovery oder Update-Images für die 3490 habe ich nicht vorliegen.
Suche Firmware & Recover-Images

Ich werde die nächsten Tage mal anstelle des Recovery mit PeterPawns "eva_to_memory" versuchen, die Firmware auf die Box zu bringen.
Mir fehlen aber immer noch die grundsätzliche Kenntnis über die Verteilung der Partitionen auf der 3490.
In dieser Kombination, also eva_to_memory und image2ram (also .image.in-memory) benötigst Du das Partitionslayout nicht
Code:
cd yf/eva_tools
./image2ram < original.image > neues.image.in-memory
./eva_to_memory neues.image.in-memory 192.168.178.1 0
Zur 0 am Ende von eva_to_memory
https://www.ip-phone-forum.de/threa...-ab-version-07-08.301683/page-10#post-2320843
 
Mir fehlen aber immer noch die grundsätzliche Kenntnis über die Verteilung der Partitionen auf der 3490.
Dazu gibt es (im Gegensatz zur 6490) auch nicht viel zu wissen. Das entsprechende In-Memory Image (welches bereits das Filesystem und Kernel-Image beinhaltet) wird per Bootloader einfach nur in den Arbeitsreicher der Box geladen.

Edit:
Ah, sorry. Irgendwie hatte ich gerade #16 von @stoney übersehen. Na ja, doppelt hält vielleicht besser. ;)
 
Heute Abend habe ich den Versuch unternommen mit Hilfe PeterPawns "FirmwareImage.ps1" aus der Original 7.11er eine über den Bootloader zu ladende Firmware zu erzeugen.
PS C:\> . C:\6490\YourFritz\signimage\FirmwareImage.ps1
This is "FirmwareImage.ps1" ...
a collection of PowerShell classes to handle AVM's firmware image files
... from the YourFritz project at https://github.com/PeterPawn/YourFritz
(C) 2017-2018 P. Haemmerlein ([email protected])
Look at the comment lines from the beginning of this file to get further info, how to make use of the provided classes.
The classes are now ready to be used in this session.
PS C:\> [FirmwareImage]::new("c:\6490\firmware-3490\firmware.image").getBootableImage("c:\6490\firmware-3490\FB_3490.image.in-memory")

Anschließend habe ich wieder auf das fehlerhafte Partitionsset (1) umgestellt
und die vorher erzeugte "firmware.image.in-memory" mit "EVA-FTP-Client.ps1" in den Bootloader hochgeladen.
Wie ihr seht, habe mich aus Bequemlichkeit für die PowerShell Skripte entschieden.

PS C:\6490> c:\6490\YourFritz\eva_tools\EVA-FTP-Client.ps1 -Verbose -Debug -ScriptBlock { BootDeviceFromImage c:\6490\firmware-3490\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.2191 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 : 0x01c23900
DEBUG: Set memory size to : 0x063dc700
DEBUG: Set MTD RAM device to: 0x863dc700,0x88000000
DEBUG: Sent
SETENV memsize 0x063dc700
================
DEBUG: Response:
200 SETENV command successful
================
DEBUG: Sent
SETENV kernel_args_tmp mtdram1=0x863dc700,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:\6490\firmware-3490\firmware.image.in-memory' to '0x863dc700 0x88000000' ...
DEBUG: Sent
P@SW
================
DEBUG: Response:
227 Entering Passive Mode (192,168,178,1,12,8)
================
DEBUG: Sent
STOR 0x863dc700 0x88000000
================
DEBUG: Response:
150 Opening BINARY data connection
================
DEBUG: Response:
226 Transfer complete
================
True

Das Problem hat es allerdings nicht gelöst. Nach dem Hochladen der "firmware.image.in-Memory" in den Bootloader habe ich die Box am Strom gelassen, hat auch nach ein paar Sekunden selbständig neu gebootet, ist jedoch wieder im die Bootloop gelandet.

Hat noch jemand eine Idee, was ich untersuchen bzw. verändern könnte, um auch das fehlerhafte Partitionsset (1) meiner 3490 wiederzubeleben?
 
welche Größe hatt denn das erzeugte image.in-memory
Code:
c:\6490\firmware-3490\firmware.image.in-memory
Die Bootpartition wird bei einem solchen Vorgang nicht automatisch umgeschalten (vorher und nachher nicht) es wird in das gerade aktive Set geschrieben.

Hier ein eva_to_memory.log von der Linuxvariante einer 7520 - daher die andere EVA Version (Bootloader) sowie die (Hex)Speicheradressen.
Code:
220 ADAM2 FTP Server ready
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.10211 0x0 0x46409
TYPE I
200 Type set to BINARY
MEDIA SDRAM
200 Media set to MEDIA_SDRAM
P@SW
227 Entering Passive Mode (192,168,178,1,12,0)
RETR env
150 Opening BINARY data connection
226 Transfer complete
SETENV memsize 0x0e9cdb00
200 SETENV command successful
SETENV kernel_args_tmp mtdram1=0x8e9cdb00,0x90000000
200 SETENV command successful
TYPE I
200 Type set to BINARY
MEDIA SDRAM
200 Media set to MEDIA_SDRAM
P@SW
227 Entering Passive Mode (192,168,178,1,12,0)
STOR 0x8e9cdb00 0x90000000
150 Opening BINARY data connection
226 Transfer complete
also der Upload schien zu funktionieren, nur warum meinst Du wird/wurde "umgeschalten" ? Läuft die Box denn auf dem Alternativwert?

Mein erzeugtes hat 29M bzw 28.815KB 3490_07.11.image-in.memory
 
Hat noch jemand eine Idee
Wie schon geschrieben ... Shell-Zugriff von "linux_fs_start=0" aus und dann die geschriebenen Daten mit denen vergleichen, die dort stehen sollten.

Wenn man tatsächlich einen (umfangreicheren) NAND-Defekt ausmachen sollte (der müßte sich auch von 0 aus feststellen lassen - z.B. über die /proc/avm/nandstat vor und nach versuchtem Auslesen der MTD-Partition), dann kann man ggf. noch darüber nachdenken, die Partitionen etwas im NAND zu verschieben, um die schadhafte Stelle zu umgehen - das hängt dann aber davon ab, wo die wirklich liegt.

Ich weiß gerade nicht genau, wie bei der 7490/3490 die Partitionen und ihre Größe erkannt werden beim Kernel-Setup - findet man aber alles in den Kernel-Sourcen, wenn man sich sicher ist, daß man das richtige Problem jagt und sich die nähere Beschäftigung mit dem Thema MTD-Partitionen auch wirklich lohnt.

Wenn von der "0" aus alles erreichbar ist, hat man ja alle benötigten Diagnose-Möglichkeiten ... bis hin zum "erase" über "/proc/mtd" und dem Beschreiben mit Testmustern, wenn das Problem nicht sofort ins Auge springt. Theoretisch müßte sogar der Driver für den NAND-Flash direkt beim Initialisieren den gesamten Speicher durchscannen und dabei bei schadhaften Blöcken einen Eintrag im Kernel-Log vornehmen. Am ehesten bildet es ggf. noch ein Problem, wenn diese Nachrichten überhand nehmen, weil es zuviele Blöcke sind und daher der Ringbuffer für die Kernel-Messages gar nicht alle speichern kann. Aber auch hier gilt weiterhin: Erst mal die Ursache und weitere Probleme ermitteln und dann kann man immer noch überlegen, wie man sie umgehen könnte - alles nur im Konjunktiv abzuhandeln, was da noch schieflaufen könnte, ergibt am Ende eher ein Buch ... und bringt ohne konkrete Erkenntnisse auch nicht wirklich etwas.
 
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.