Image Flash 7170 failed. (Trunk)

sTaNy

Neuer User
Mitglied seit
24 Nov 2008
Beiträge
106
Punkte für Reaktionen
0
Punkte
16
Hallo Zusammen,

so langsam bin ich mit meinem Latein am Ende.
Vorweg, ist dies nicht mein erstes Image was ich erstelle. Zuvor lief bereits auf meiner FritzBox 7170 ein USB Root Image und ein Image auf einem USB Stick. Dieses wollte ich nun auf den aktuellen Stand bringen.

Gestern erst ein Image erfolgreich auf einer 7270 geflasht, also kein absoluter Anfänger mehr.

Zum Problem:

Habe in meinem freetz-linux (Version 1.0) alles up to date gebracht und ein Image mit usbroot und dropbear combiliert. Dieses in den Flashspeicher überspielt und im Anschluss ein großes Image mit allen benötigten Paketen compiliert, aus dem Verzeichnis /build/modified/filesystem auf meinen USB Stick an der Box kopiert, entpackt, usbroot aktiviert und hardreset. Nun startete die Box von meinem USB Image.

Das mal eine ganz kurze Zusammenfassung. Sowiet lief alles, DSL hat synchronisiert und habe auch eine IP Adresse zugewiesen bekommen. Das Problem was ich hatte, keine Internetverbindung im Browser und auch kein Ping möglich. Ansonsten schien alles zu laufen.
Was mich irritiert hat, dass alle Einstellung weiterhin vorhanden waren und eigentlich nach der Installation einer Firmware auf einem Stick alles neu eingegeben werden muss, oder!?

Daraufhin Fritzbox komplett in den Auslieferungszustand mit dem Recovery Image gebracht und von vorne angefangen.

Nur stehe ich mittlerweile an dem Problem das ich keinerlei Freetz Image geflasht bekomme!!!
Ich erhalte immer die Fehlermelung das ein unerwarteter Fehler aufgetreten ist und ich den Vorgang wiederholen soll. Mit einem frischen compilierten, einem alten und sogar bei einem Image, welches in einer komplett neuen freetz-linux 1.1.1 Umgebung compiliert wurde.

Momentan stehe ich am Ende mit meinem Latein. Auch ein erneuter Recovery Versuch brachte keinen Erfolg.

Es ist kein Problem usbroot wieder zum Laufen zu bringen, nur komme ich gar nicht mehr zum flashen von Freetz. Woran kann das liegen?

Ich verwende die aktuellste Trunk Version 4847...

Hoffe auf Hilfe...

Grüße
 
Um dem Fehler auf die Spur zu kommen musst du dich nach dem fehlerhaften Flashversuch und vor dem Neustart mit telnet auf der Box umschauen.
Existiert /var/install, /var/tmp/kernel.image? Gibt es Dateien mit dem Namen /var/tmp/*.log? Was steht drin?

MfG Oliver
 
Wenn ich mich vor dem Update per Telnet einklinke und das Update starte erhalte ich folgende Ausgabe:

Code:
ermittle die aktuelle TTY
tty is "/dev/pts/0"
Console Ausgaben auf dieses Terminal umgelenkt
#   PID  Uid        VSZ Stat Command
    1 root       1308 S   init
    2 root            SWN [ksoftirqd/0]
    3 root            SW< [events/0]
    4 root            SW< [khelper]
    5 root            SW< [kthread]
    6 root            SW< [kblockd/0]
   23 root            SW< [pdflush]
   24 root            SW< [pdflush]
   26 root            SW< [aio/0]
   25 root            SW  [kswapd0]
   62 root            SW  [pm_info]
   66 root            SW< [CPMAC]
   70 root            SW  [mtdblockd]
   96 root            SW  [tffsd_mtd_0]
  211 root            SWN [jffs2_gcd_mtd6]
  229 root       1300 S   cat /dev/debug
  236 root            SW< [capi_oslib]
  237 root            SW< [capi_oslib]
  238 root            SW  [capitransp]
  245 root            SW  [glob_codecs]
  261 root            SW< [khubd]
  317 root       7520 S N ctlmgr
  341 root       1964 S   wpa_authenticator
  351 root       7520 S N ctlmgr
  352 root       7520 S N ctlmgr
  353 root       7520 S N ctlmgr
  381 root       2368 S   usermand
  395 root       2548 S   multid
  406 root       2440 S   tr069discover -v
  436 root       5504 S   telefon a127.0.0.1
  443 root       2396 S   pbd
  444 root       2396 S   pbd
  449 root       2396 S   pbd
  450 root       1308 S   telnetd -l /sbin/ar7login
  451 root       2396 S   pbd
  459 root       5504 S   telefon a127.0.0.1
  460 root       5504 S   telefon a127.0.0.1
  461 root       5504 S   telefon a127.0.0.1
  463 root        856 S   /bin/run_clock -c /dev/tffs -d
  472 root       1308 S   init
  495 root       1324 S   -sh
  533 root       3788 S N /cgi-bin/firmwarecfg
  534 root       2396 S   pbd
  539 root       1324 S N /bin/sh /bin/prepare_fwupgrade start
  542 root       1312 R N ps
Tue May  4 23:26:09 CEST 2010
Tue May  4 23:26:16 CEST 2010
May  4 23:26:18 mediasrv[576]: DEBUG: not running
Tue May  4 23:26:22 CEST 2010
  PID  Uid        VSZ Stat Command
    1 root       1308 S   init
    2 root            SWN [ksoftirqd/0]
    3 root            SW< [events/0]
    4 root            SW< [khelper]
    5 root            SW< [kthread]
    6 root            SW< [kblockd/0]
   23 root            SW< [pdflush]
   24 root            SW< [pdflush]
   26 root            SW< [aio/0]
   25 root            SW  [kswapd0]
   62 root            SW  [pm_info]
   66 root            SW< [CPMAC]
   70 root            SW  [mtdblockd]
   96 root            SW  [tffsd_mtd_0]
  211 root            SWN [jffs2_gcd_mtd6]
  229 root       1300 S   cat /dev/debug
  236 root            SW< [capi_oslib]
  237 root            SW< [capi_oslib]
  238 root            SW  [capitransp]
  245 root            SW  [glob_codecs]
  261 root            SW< [khubd]
  317 root       7512 S N ctlmgr
  341 root       1964 S   wpa_authenticator
  351 root       7512 S N ctlmgr
  352 root       7512 S N ctlmgr
  353 root       7512 S N ctlmgr
  381 root       2368 S   usermand
  395 root       2548 S   multid
  406 root       2428 S   tr069discover -v
  436 root       5504 S   telefon a127.0.0.1
  443 root       2396 S   pbd
  444 root       2396 S   pbd
  449 root       2396 S   pbd
  450 root       1308 S   telnetd -l /sbin/ar7login
  451 root       2396 S   pbd
  459 root       5504 S   telefon a127.0.0.1
  460 root       5504 S   telefon a127.0.0.1
  461 root       5504 S   telefon a127.0.0.1
  463 root        856 S   /bin/run_clock -c /dev/tffs -d
  472 root       1308 S   init
  495 root       1324 S   -sh
  533 root       3788 S N /cgi-bin/firmwarecfg
  534 root       2396 S   pbd
  539 root       1328 S N /bin/sh /bin/prepare_fwupgrade start
  606 root       1312 R N ps
Tue May  4 23:26:22 CEST 2010
TERMINATING capiotcp_server pbd faxd dect_manager telefon dtrace printserv smbd mailer
May  4 23:26:23 pbd[443]: received signal: Terminated.
May  4 23:26:23 pbd[443]: terminating.
May  4 23:26:23 telefon[436]: SIGTERM received!
May  4 23:26:23 telefon[436]: wdt release failed
May  4 23:26:23 telefon[460]: SIGTERM received!
May  4 23:26:23 telefon[461]: SIGTERM received!
Tue May  4 23:26:26 CEST 2010
TERMINATING maild voipd avmike usermand igdd mediasrv avmlogd tr069discover dsld
Tue May  4 23:26:29 CEST 2010
userman: unregister_chrdev for major=228 returned 0
cat: read error: Broken pipe
Tue May  4 23:26:29 CEST 2010

Ansonsten ist nach der Fehlermeldung kein /var/install vorhanden. In /var/tmp sind keine *.log Dateien vorhanden, sowie auch kein kernel.image....Das Verzeichnis /var/log ist leer...

Habe auch ein Recover mit der Firmware 4.70 durchgeführt. Selbige Probleme.

Grüße
 
Klingt für mich wie ein Problem mit tar. Eigentlich hatten wir das mit dem busybox tar behoben, dachte ich zumindest...

MfG Oliver
 
Du glaubst nicht wie glücklich ich wäre, wenn du mir sagst das es nicht an mir liegt!!!
Sitze schon wieder viel zu lange "nur" für so ein kleines Update...

Aber habe wirklich so ziemlich alle Szenarien durch.
Das Problem ist, dass ich nicht mal ein Backup zurück spielen kann :(
Ich brauche die Packages sehr dringend und nun läuft nur mein Standard Image mit dem nichts mehr geht außer eben der Standard :)

Jetzt merkt man mal wie abhängig man davon ist :blonk:

Grüße
 
Kopiere mal das Image auf einen USB-Stick und packe es dann aus.
Was passiert dann:
Code:
cd /
tar xvf /var/media/ftp/PFAD/NAME.image
/var/install
PFAD und NAME müssen noch angepaßt werden.
 
Habe das Image mal in einer Ubuntu VM auf einem Stick entpackt und erhalte dann den Ordner /var mit allen Inhalten.
Die Datei /var/install ist ebenfalls vorhanden sowie auch /var/tmp/image.kernel

Ist es nun definitiv ein busybox tar Fehler oder liegt es an etwas anderem?

Grüße
 
Du musst es auf der Box entpacken um zu sehen, ob es daran liegt.

MfG Oliver
 
Okay werd ich erledigen, sobald ich zu Hause bin.

Meine nächste Idee wäre es, direkt mittels Total Commander die image.kernel zu flashen in Verbindung mit dem Recovery Image.

Wäre das eine alternative oder sollte ich definitiv zunächst der Ursache auf den Grund gehen?

Grüße
 
Bitte die Ursache erst ergründen, auch wenn es für dich komplizierter wird.
 
Ok Entpackvorgang ist auf einem USB Stick an der Firtzbox erolgt.
Dieser scheint ohne Probleme durchzulaufen:

Code:
# tar xvf /var/media/ftp/2-0-FlashDisk-01/7170_04.80freetz-devel-4847.de_20100504-221544.image
./
./var/
./var/.packages
./var/chksum
./var/regelex
./var/install
./var/static.pkg
./var/tmp/
./var/tmp/kernel.image
./var/tmp/filesystem.image
./var/flash_update.ko
./var/info.txt
./var/flash_update.o
./var/signature
./var/.config

Nach ein paar Sekunden kam allerdings das in der Telnet Konsole:

Code:
# [speedup] -> 62.5 MHz
cat: read error: Broken pipe

Mit Strg+C zurück in die Konsole und /var/install ausgeführt mit folgender Ausgabe:

Code:
# /var/install
install: have Kernel 2.6
install: check and install new firmware ...
OEM=avm
ANNEX=B
testing acceptance for device Fritz_Box_7170 ...
korrekt install type: ar7_8MB_xilinx_4eth_3ab_isdn_nt_te_pots_wlan_usb_host_25762
device has installtype ar7_8MB_xilinx_4eth_3ab_isdn_nt_te_pots_wlan_usb_host_25762
assumed ANNEX B -- found ANNEX B
device has ANNEX B
OK - OEM avm is supported
OK - accept this update for device Fritz_Box_7170 ...
testing acceptance for device Fritz_Box_7170 done
curr: 29.04.70  new: xx.04.80
debug: curr: 29.04.70
debug: new: "XX.04.80"
major_currFWver=29
middle_currFWver=4
minor_currFWver=70
middle_newFWver=4
minor_newFWver=80
check Firmware Version: xx.04.80
DEBUG: 4 >= 4
DEBUG: 80 >= 70
Accept Firmware Version: xx.04.80
install: 26 check files...
File already contains the checksum, verifying
Calculated checksum is 3FCAB1F0
Saved checksum is 3FCAB1F0
Checksum validation successful!
chksum for file /var/tmp/kernel.image ok
install: 26 getting mtd to install...
install: -----------------------------------------------------
bootloader_size 0x00010000
jffs2_size 0x00070000
Kernel_without_jffs2_size 7340032
kernel_image_size 7459080
kernel_mtd_size 7798784
Kernel_Start_Add=268500992
Kernel_End_Addr=275960072
Kernel_without_jffs2_End_Addr=275841024
install: Image would overlap - jffs2 will be deleted ...
install: -----------------------------------------------------
install: kernel_size=7798784
install: kernel_update_start=268500992
install: kernel_update_len=7798784
install: 26 setting files to install...
install: /var/tmp/kernel.image to start(268500992) size(7798784)
install: check for old settings ...
set INFO led to blink (modul=7, state=4)

Sieht eigentlich auch ganz gut aus, oder?
Nun blinkt die Info Led wie in der letzten Ausgabe. Nun ein Box Reboot und er flasht die Firmware?

Grüße
 
Ja, sollte dann geflasht werden. Aber warum das jetzt vorher nicht ging erschließt sich mir nicht.

MfG Oliver
 
Ja ich werd verrückt!
Nach Eingabe von reboot in der Telnet Konsole hat er mir tatsächlich das Image geflasht...
Jetzt bin ich auch verwirrt....

Nun werde ich schauen, ob ich mein USB root Image auf dem Stick wieder zum Laufen bekomme.
Melde mich dann wieder!

Grüße
 
Am besten vor dem Reboot noch "/bin/prepare_fwupgrade start" ausführen, das sollte die meisten laufenden Prozesse killen.

Edit:
Scheint auch so funktioniert zu haben.
 
Vorweg bedanke ich mich noch einmal für die super schnelle und hilfreiche Unterstützung!!!

Aktuell scheint alles mehr oder weniger gut zu laufen.
Bei ein paar Verständnisfragen und kleineren Problemen benötige ich allerdings noch eure Hilfe.

So verrückt wie es klingt aber ich habe nach dem erfolgreichem Flashvorgang das ganze Szenario noch einmal durchgespielt.
Dieses könnt ihr der angehangenen PDF Datei entnehmen (auch als Anleitung für Andere)

Aktuell läuft also eine Freetz Trunk Version 4847 mit usbroot und dropbear in meinem Flash der FritzBox 7170. Dort habe ich lediglich die Experten Ansicht aktiviert und die Interneteinstellungen eingetragen.
Sowie die Settings im Package usbroot siehe PDF vorgenommen.

Auf meinem ext2 formatierten USB Stick läuft ebenfalls ein Freetz Trunk Version 4847 mit sämtlichen Packages (dropbear, samba, callmonitor u.s.w) Dieses ist locker 14 MB groß.

Folgende Probleme bestehen weiterhin:

1. Die FritzBox startet nur vom USB Image, wenn ich einen Hard Reboot mache (Stecker ziehe). Ist das normal?

2. Nach erfolgreichem Boot vom USB Stick sind trotzdem die Interneteinstellungen vom Image aus dem Flash vorhanden, warum? Ist das so vorgesehen? Ein Kollege meint, dass normalerweise diese Einstellungen neu getätigt werden müssen, da er ja von einem neuen sauberen Image auf dem Stick startet.

3. Wenn ich das Image aus dem Flash boote und mal den Haken bei Experten Ansicht rausnehme und im Anschluss vom USB Stick Image, dann ist dort der Haken auch raus. Scheinbar bootet er zwar mein Freetz Image vom Stick, aber nicht das originale AVM Image.

Wäre super wenn Ihr mir diesbezüglich auch noch helfen könnt!


Grüße sTaNy
 

Anhänge

  • Flash Freez Image nach Fehlermeldung mit usbroot.pdf
    51 KB · Aufrufe: 13
Es wird nicht das Image vom Stick gebootet, es wird immer von der Box gebootet. MIt USB-Root wird nur im Laufe des Bootvorgangs vom Dateisystem im Flash der Box (mtd1) auf den USB-Stick gewechselt. Das ändert aber nichts an der Konfiguration der Box, die in mtd3 und mtd4 gespeichert ist. Das erklärt also Deine Fragen 2 und 3, die im Prinzip die gleiche Frage sind. Ich würde vermuten, daß das auch irgendwo im Wiki so steht.

Ich weiß nicht, wie Dein Kollege dazu kommt, es anders herum zu behaupten, schließlich kann man durch einfache Beobachtung feststellen, daß dem nicht so ist. Die einzige Erklärung, die ich dafür habe, ist, daß der beim Update seine Konfiguration gelöscht hat und danach gedacht hat, das hätte etwas mit USB-Root zu tun.

Zur Frage 1:
USB-Root sollte immer funktionieren. Den genauen Grund wird man vermutlich allenfalls in irgendwelchen Protokollen finden, vielleicht ist auch eine serielle Konsole notwendig. Meine Vermutung wäre, daß der USB-Stick nicht rechtzeitig erkannt wird, um darauf zu wechseln.

PS:
Gibt es irgend einen Grund, warum Du den Text als PDF angehängt hast? Einfach in den Beitrag eingefügt wäre er viel einfacher zugänglich.

Folgende Anmerkungen dazu:
1. Das Recover ist unnötig, es sei denn, die Box funktioniert gar nicht mehr. Recover überschreibt die Firmware und setzt auf Werkseinstellungen zurück. Die Firmware soll nachher sowieso nochmal überschrieben werden, Rücksetzen auf Werkseinstellungen kann man auch von Hand machen, wenn man es überhaupt will.
3. Warum Experten Ansicht aktivieren?
4. Firmware Update: Wenn das Update nicht durchgeführt wird, ist der einzige Nutzen davon, daß "/bin/prepare_fwupgrade start" ausgeführt wird.
Statt dessen also einfach:
- Telnet aktivieren (wenn noch nicht geschehen)
- über Telnet verbinden
Code:
/bin/prepare_fwupgrade start
tar xv -C / -f /var/media/ftp/*/*.image
/var/install
reboot
Die Konstruktion */*.image funktioniert, solange es nur eine Stick mit nur einer Image-Datei gibt. Ansonsten den korrekten Namen und Pfad angeben.
 
Zuletzt bearbeitet:
Okay die Fragen 2 und 3 sind geklärt, so habe ich mir das auch erklärt!

Welche Protokolle, zum Prüfen warum usbroot bei einem normalen reboot nicht klappt, fallen die spontan ein?

Die serielle Konsole erhält man sicher nur durch Modifikation (Löten) oder einem USB -> RS232 Adapter, richtig?

Komisch, dass ich das Problem auch schon bei meinem alten Image (Version 3777) hatte. Scheint wohl sogar ein Hardware Problem zu sein bzw. an der Box zu liegen!?

Grüße
 
Die serielle Konsole erhält man nur durch Modifikation (Löten), nicht durch einen USB -> RS232 Adapter.

In make/usbroot/files/root/etc/init.d/rc.usbroot ca. Zeile 497 wird "start" aufgerufen. Das Problem ist, daß an dieser Stelle noch kein beschreibbares Dateisystem vorhanden ist. Man könnte versuchen, hier ein tmpfs zu mounten, in dem man die Ausgabe der Funktion protokolliert.

Vielleicht reicht es auch schon, die Zeit in Zeile 170 zu erhöhen.
 
Die serielle Konsole erhält man nur durch Modifikation (Löten), nicht durch einen USB -> RS232 Adapter.

So dachte ich mir das bereits.

In make/usbroot/files/root/etc/init.d/rc.usbroot ca. Zeile 497 wird "start" aufgerufen.

In make/usbroot/files/root/ ???
Habe die Datei rc.usbroot in /etc/init.d/ aber mit deinem Pfad weiß ich gerade nichts anzufangen.
In Zeile 170 finde ich die sleep time, welche bei mir bei 15 Sekunden steht.
Wollte diese mal auf 25 erhöhen, allerdings ist die Datei ja nicht beschreibbar.
Auch das Ändern der Rechte mit chmod 777 rc.usbroot bringt keinen Erfolg. Und sudo ist ja nicht beinhaltet.

Wie kann ich den Wert an der Stelle am einfachsten ändern?

LG
sTaNy
 
Der Pfad bezieht sich auf das Host-System. Dort mußt Du auch die Datei ändern, nicht auf der Box. Danach Image erstellen und flashen.
 
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.