fwmod 7390 6.51

Hallo BC,
ich tippe mal auf eine "suboptimale/fehlerhafte" .config Datei;

am Besten mal mit der funktionierenden .config aus #15 testen.

LG Riverhopper
 
Wo ist denn da eine config in #15?
 
Bei mir kommt leider schon beim Entpacken der 7390 6.51 ein Fehler:

ERROR: modunsqfs: Error in unpacked_firmware/original/kernel/kernelsquashfs.raw

Danach Abbruch, filesystem wird gar nicht ausgepackt.

Neulich ging´s noch... Jetzt trunk 13712, habe bei menuconfig mal 6.30 und mal 6.51 ohne weitere Änderungen ausgewählt - beides mal der selbe Fehler. Verzeichnis unpacked_firmware jedesmal komplett gelöscht.

Gruß
oelidoc
 
Hallo BC,
die .config Datei wird durch den "make menuconfig" erstellt
Code:
freetz@freetz-vm:~/freetz-devel$ ls -la .config
-rw-r--r-- 1 freetz freetz 63830 Mär 28 17:41 .config
freetz@freetz-vm:~/freetz-devel$

und üblicherweise gesichert. so daß diese bei Build-Problemen für Troubleshooting (diff) oder als Fallback-Option verwendet werden kann.

Vorschlag: .config Datei wegmoven ("mv .config .config._old_") und nochmals neu erstellen ("make menuconfig").
Bitte auch die Hinweise von PeterPawn aus #18 beachten.

LG Riverhopper

- - - Aktualisiert - - -

ERROR: modunsqfs: Error in unpacked_firmware/original/kernel/kernelsquashfs.raw
...
Neulich ging´s noch... Jetzt trunk 13712
Hallo oelidoc,
Vorschlag: .config Datei wegmoven ("mv .config .config._old_") und nochmals neu erstellen ("make menuconfig").

LG Riverhopper
 
Gemacht. Neue .config angelegt. Neuer Fehler beim Entpacken:

ERROR: modunpack_autodetect_fs: failed to detect file system type of 'unpacked_firmware/original/firmware/var/tmp/filesystem.image'

welche FW sollte man denn bei menuconfig wählen 6.30 oder 6.51 (hoch experimentell) ?
 
welche FW sollte man denn bei menuconfig wählen 6.30 oder 6.51 (hoch experimentell) ?

Hallo oelidoc,
immer die richtige Version auswählen, d.h. bei FB7390 FW 06.51 natürlich 6.51;

der Hinweis "hoch experimentell" ist hauptsächlich für Freetz-Nutzer relevant, die "remove patches" und "replace kernel" Features nutzen wollen;
wir wollen jedoch Freetz nur zum aus- und einpacken einsetzen, daher als Hinweis zu verstehen.

LG Riverhopper
 
Was wird denn bei "splitting kernel image" protokolliert (und das bitte bei "geschwätziger" Protokollierung -> Verbosity level = 3)?

Wobei das für mich eher nach einem falsch eingestellten Gerätetyp klingt ... das Entpacken mit "fwmod" funktioniert bei mir 1a (allerdings CS 13697) und wenn das Splitten von Kernel und Dateisystem funktioniert (die letzten Änderungen von er13 bezogen sich m.E. auch nur auf "extract_images" und nicht auf "freetz_functions", wo das Splitten/Entpacken beheimatet ist - die betreffenden Dateien "fwmod" und "freetz_functions" sind mindestens 7 Wochen ungeändert), dann werden die möglichen Fehlerquellen schon sehr rar, denn an Offset 0 sollte sich ein SquashFS-Image finden lassen in der filesystem.image.

Code:
$ ./fwmod -u -d test dl/fw/FRITZ.Box_Fon_WLAN_7390.AnnexB.84.06.51.image
STEP 1: UNPACK
unpacking firmware image
Skipping 0 Bytes garbage...removing AVM SquashFS junk bytes
Junk header v1 found at offset 0xBE0000
Image size encoded in junk block matches calculated size, removing v1 junk bytes ... done.
splitting kernel image
unpacking filesystem image
    Reading a different endian SQUASHFS filesystem on test/original/kernel/kernelsquashfs.raw
    Filesystem on test/original/kernel/kernelsquashfs.raw is lzma compressed (3:76)
    Parallel unsquashfs: Using 1 processor
    5945 inodes (6328 blocks) to write
    created 5195 files
    created 375 directories
    created 663 symlinks
    created 87 devices
    created 0 fifos
unpacking AVM plugins
    webcm_interpreter image
    wlan image
unpacking var.tar
done.

detected firmware 7390_de 84.06.51 rev33001 (25.04.2016 12:45:38)

FINISHED
Die Frage nach der Version ist sicherlich nicht bis zum Ende durchdacht ... zumindest im Thread-Titel steht m.E. ein Hinweis, um welche Version es hier geht.

Wobei es tatsächlich noch eine denkbare Ursache gibt, die würde dann aber bereits beim Splitten auf die Nase fallen ... man muß natürlich wenigstens die notwendigen Programme einmal mit "make tools" (müßte es m.E. jedenfalls sein als "make target") erstellen lassen, sonst kann das erforderliche "find_squashfs" schon nicht gefunden werden und das Splitten geht in die Hose.
 
Hallo Riverhopper,
Hallo PeterPawn,

Vielen Dank erst noch mal für eure unermüdliche Hilfe! Wirklich toll!

das seltsame ist ja, dass ich letzte Woche noch problemlos die 6.51 entpackt und die debug.cfg hinein gepachted habe. Hat auf der Box prima funktioniert. Nur Telnet hat nicht funktioniert, weswegen ich heute noch mal einen Anlauf nach der Anleitung oben vornehmen wollte.
Zwischenzeitlich habe ich nur ein trunk update gemacht. make menuconfig und make tools habe ich gemacht.
Gibt es eine einfache Möglichkeit, den gesamten trunk zu entfernen, um nochmal von vorne anzufangen?
Gruß
oelidoc
 
Nee, hatte ich gemacht.
Bin gerade dabei, einen neuen trunk einzurichten. Dann neuer Versuch...

Gruß
oelidoc
 
Jetzt ging die Version zum flashen jedoch konnte ich keine Telefonnummer oder so einrichten.

Nächster Versuch...

@PeterPawn:
Dies wird bei mir ausgegeben. Also scheint es nicht am entpacken zu liegen.

Code:
STEP 1: UNPACK
unpacking firmware image
Skipping 0 Bytes garbage...removing AVM SquashFS junk bytes
Junk header v1 found at offset 0xBE0000
Image size encoded in junk block matches calculated size, removing v1 junk bytes ... done.
splitting kernel image
unpacking filesystem image
    Reading a different endian SQUASHFS filesystem on test/original/kernel/kernelsquashfs.raw
    Filesystem on test/original/kernel/kernelsquashfs.raw is lzma compressed (3:76)
    Parallel unsquashfs: Using 1 processor
    5945 inodes (6328 blocks) to write
    created 5195 files
    created 375 directories
    created 663 symlinks
    created 87 devices
    created 0 fifos
unpacking AVM plugins
    webcm_interpreter image
    wlan image
unpacking var.tar
done.


detected firmware 7390_de 84.06.51 rev33001 (25.04.2016 12:45:38)


FINISHED

Um es jetzt mal nach und nach durch zugehen?
Wenn man "make menuconfig" macht was soll man da ganz genau machen?
 
Natürlich, einfach neu auschecken.

So,
nach dem ich das gesamte Verzeichnis freetz-trunk mit winscp gelöscht und dann den trunk neu eingechecked habe, hat das Entpacken schon mal problemlos geklappt.
Jetzt muss ich erstmal an den Esstisch - danach komm ich wieder an die Konsole...

Bis hierhin schon mal vielen Dank
Gruß
oelidoc

- - - Aktualisiert - - -

OK,
telnetd schein drin zu sein. Aber wenn ich versuche die debug.cfg nach Riverhopper´s Anleitung in #7 zu implementieren, spuckt putty nur elend viele Fehler aus...

Kann ich die debug.cfg nicht auch mit

Code:
sed -i '/echo 1 > \/proc\/sys\/kernel\/panic_on_oops/ a\
if [ -z "$CPU_NR" ] || [ "$CPU_NR" = "1" ] ; then\
mknod /var/flash/debug.cfg c $tffs_major $((0x62))\
if ! /usr/bin/checkempty /var/flash/debug.cfg 2>/dev/null; then\
. /var/flash/debug.cfg\
fi\
fi' "unpacked_firmware/original/filesystem/etc/init.d/rc.tail.sh"

rein kriegen. Ich meine, das hätte letzte Woche bei der 6.51. geklappt.

Gruß
oelidoc

- - - Aktualisiert - - -

Nun gut, ich flash jetzt mal...
 
Hallo oelidoc,
habe gerade gesehen, dass bei den Befehlssequenzen zum Reaktivieren der debug.cfg ein Zeilenumbruch in #7 nicht richtig übernommen war; ist soeben richtiggestellt.

Code:
# Debug.cfg reaktivieren (Auszug aus https://github.com/PeterPawn/modfs/blob/master/modscripts/mod_rc_tail_sh):
FILESYSTEM_MOD_DIR=unpacked_firmware/original/filesystem
sed -e '$ircuser=/var/tmp/rc.user;mkconfigfile $rcuser.tffs 98;!  checkempty $rcuser.tffs && cat $rcuser.tffs >$rcuser  && delay -d 1 USER "/bin/sh $rcuser";rm $rcuser.tffs' -i "$FILESYSTEM_MOD_DIR/etc/init.d/rc.tail.sh"


LG Riverhopper
 
Zuletzt bearbeitet:
Danke,
also erst die kurze Zeile, enter, und dann die lange Zeile,enter - richtig?
und ich habe nach dem Flashen gerade festgestellt, dass mein LCR einen Neustart der Box nicht überlebt - also keine debug.cfg mit "meinem" o.g. Code :silly: - komisch, dass es letzte Woche damit funktioniert hat.

Und noch eine Frage, bitte: Kann ich mit dem rukernel tool eigentlich eine gleich neu gepatchte 6.51 über die gerade installierte 6.51 drüber installieren oder muss ich ein recovery auf 6.30 machen?

Gruß

oelidoc
 
also erst die kurze Zeile, enter, und dann die lange Zeile,enter - richtig?
Ja

ich habe nach dem Flashen gerade festgestellt, dass mein LCR einen Neustart der Box nicht überlebt - also keine debug.cfg mit "meinem" o.g. Code
bitte prüfen ob die Datei /var/flash/debug.cfg nach Flash-Vorgang und anschließendem Reboot als C-Node vorliegt:
Code:
FB7390# ls -la /var/flash/debug.cfg
[COLOR=#0000ff][B]c[/B][/COLOR]rw-r--r--    1 root     root      xxx, 98 Jan  1  1970 /var/flash/debug.cfg

sollte hier statt C-Zeichen ein "-" Zeichen stehen, dann einfach die Datei wegmoven;

bei fehlendem C-Node, dann einfach folgender Befehlssequenz eingeben:
Code:
tffs_major=$(sed -n -e 's/^\([0-9]*\) .*tffs.*/\1/p' /proc/devices)
tffs_minor=98
mknod /var/flash/debug.cfg c $tffs_major $tffs_minor

Editieren der debug.cfg:
Code:
nvi /var/flash/debug.cfg

Nun müsste die debug.cfg, aka /var/tmp/rc.user funktionieren.
Alternativ kann man sich das Programm /usr/sbin/edit_rcuser von PeterPawn installieren.

Kann ich mit dem rukernel tool eigentlich eine gleich neu gepatchte 6.51 über die gerade installierte 6.51 drüber installieren
Ja, Hintergrund: beim Flashen von Image-Dateien per ruKernelTool wird vom Bootloader nicht geprüft, ob die FW eine AVM-Signatur enthält.

LG Riverhopper
 
Zuletzt bearbeitet:
In jedem Falle sollte man bei den Einstellungen in "menuconfig" darauf achten, daß man die Plugins nicht auspacken und integrieren läßt (FREETZ_AVMPLUGINS_INTEGRATE=n), sonst wird der Platz nicht reichen.

Wenn der Telnet-Daemon funktioniert, kann man ja in aller Ruhe nachsehen, woran die Ausführung der Kommandos aus dem Node 98 im TFFS am Ende scheitert ... das sind ja zwei voneinander unabhängige Änderungen und wer die eine korrekt ausgeführt hat, muß das bei der anderen ja noch lange nicht gemacht haben.

Auch wenn am Ende alle Änderungen gemeinsam in einer Image-Datei landen müssen, wäre der wirklich korrekte und reproduzierbare Weg sicherlich die Integration der einzelnen eigenen Änderungen in die "fwmod_custom" (die kann man dann auch jeweils nach dem Auschecken erneut ersetzen) ... die wird in der richtigen Umgebung aufgerufen (womit vermutlich sogar die wiederholte Änderung in demselben Verzeichnis funktionieren wird) und m.W. auch jedesmal ausgeführt, wenn "fwmod" ein Image erstellen soll.

Eine solchermaßen erstellte eigene "fwmod_custom" verhindert dann auch, daß man einem Tipp- oder C&P-Fehler aufsitzt ... solange man immer dieselben Änderungen vornehmen will und sich die Ausgangsdateien nicht großartig ändern, kann man das dann immer wieder neu verwenden. Ob man am Ende die Änderungen mittels "patch"-Kommando oder über "sed"-Aufrufe ausführt, ist nur noch reine Geschmackssache ... wobei die Verwendung von "patch" eher anzuraten wäre, wenn es vorhanden und benutzbar ist.

Man sollte auch nicht versäumen, vor dem Flashen der geänderten Firmware erst noch einmal im "modified"-Verzeichnis zu überprüfen, ob die geplanten Änderungen wirklich in der angedachten Art und Weise erfolgreich waren ... bei der Verwendung von "patch" könnte man anhand von Exit-Codes sogar automatisch ermitteln, wie es um die Änderung bestellt ist; das funktioniert bei "sed" nicht so ohne weiteres.
 
Das wird so nichts. Nach dem Flashen funktioniert die komplette Telefonie nicht mehr, also auch kein telnet einschalten etc.
Muss wieder neu flashen, gehe jetzt erstmal auf eine funktionierende 6.30 mit telnet und debug.cfg zurück.
Gruß
oelidoc
 
Zuletzt bearbeitet:
Das Problem was oelidoc habe ich auch...
 
Ok, ich muß mich revidieren ... die "fwmod_custom" wird beim einfachen Einpacken mittels "fwmod" gar nicht aufgerufen - damit ist dieser Weg hinfällig.
 
Hat noch jemand ausprobiert es zum laufen zu bringen?

Bisher konnte ich zwar flashen aber danach lief die Telefonie nicht mehr...
 
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.