Erstellt vor 3 Jahren

Geschlossen vor 2 Jahren

Zuletzt geändert vor 16 Monaten

#1224 closed enhancement (fixed)

Support für FritzBox WLAN 3370

Erstellt von: oliver Verantwortlicher: oliver
Priorität: normal Meilenstein: freetz-2.0
Komponente: avm Version: devel
Beobachter: Product Id:
Firmware Version:

Beschreibung

  • Big Endian (ifxmips vr9)
  • Kernel 2.6.28.10
  • uClibc-0.9.31
  • busybox-1.16.1
  • udev
  • Kein "kernelsquashfs" - getrenntes kernel.image und filesystem.image
    • filesystem.image ist gzip-komprimiertes squashfs (3:0)
    • Darin befindet sich eine "Update firmware", die wiederum das filesystem_core.squashfs enthält. Auch squashfs 3:0.

Anhänge (3)

3370.patch (16.5 KB) - hinzugefügt von oliver vor 3 Jahren.
nur auspacken, ohne patches
squashfs3.diff (4.9 KB) - hinzugefügt von oliver vor 3 Jahren.
squashfs3 ohne lzma
3370_6840_fix_blkid.patch (738 Byte) - hinzugefügt von oliver vor 3 Jahren.

Alle Anhänge herunterladen als: .zip

Änderungshistorie (33)

Geändert vor 3 Jahren durch oliver

nur auspacken, ohne patches

Geändert vor 3 Jahren durch oliver

squashfs3 ohne lzma

comment:1 Geändert vor 3 Jahren durch oliver

  • Status von new nach accepted geändert
  • Verantwortlicher auf oliver gesetzt

comment:2 Geändert vor 3 Jahren durch oliver

In [7573]:

  • 3370: Add basic support to unpack firmwares (refs #1224)

comment:3 Antwort: Geändert vor 3 Jahren durch oliver

In [7574]:

[3370]: Add some more files and patches (refs #1224)

comment:4 als Antwort auf: ↑ 3 Geändert vor 3 Jahren durch oliver

In [7575]:

[3370]: Readd unsquashfs and mksquashfs without lzma support (needed for 3370)

comment:5 Geändert vor 3 Jahren durch oliver

In [7577]:

[3370]: Update kernel config and patches (refs #1224)

comment:6 Geändert vor 3 Jahren durch oliver

In [7578]:

[3370]: Fix target arch, open source package filename, unsquashfs, patches (refs #1224)

comment:7 Geändert vor 3 Jahren durch oliver

In [7581]:

[3370]: Fix kernel compile, add patches (refs #1224)

comment:8 Geändert vor 3 Jahren durch oliver

In [8240]:

  • Reintegrate 3370 branch into trunk (refs #1224, #1561)

comment:9 Geändert vor 3 Jahren durch oliver

In [8271]:

Fix image building for 3370 and 6840 (refs #1224)

comment:10 Geändert vor 3 Jahren durch cuma

Es gibt jetzt die 103.05.08 inklusive Sourcen!

comment:11 Geändert vor 3 Jahren durch cuma

  • Lösung auf fixed gesetzt
  • Status von accepted nach closed geändert

In #1670 gehts weiter mit den neuen Kernelquellen

comment:12 Geändert vor 3 Jahren durch oliver

  • Lösung fixed gelöscht
  • Status von closed nach reopened geändert

Freetzmount scheint nicht zu funktionieren: http://www.ip-phone-forum.de/showthread.php?t=244253

comment:13 Geändert vor 3 Jahren durch cuma

Sehr spärliche Informationen. Freetzmount scheint aber zu funktionieren

"[INFO] Mounting device /dev/sda1 ... 
 [FAIL] Partition uStor01 (/dev/sda1): Unsupported filesystem or wrong partition table (unknown)" aus.

deutet darauf hin, dass irgendwas mit blkid nicht stimmt oder falsch konfiguriert wurde

comment:14 Geändert vor 3 Jahren durch cyberlight

ich habe die gleichen Probleme mit meiner 3370 (gehabt) Einzig ext3 wurde gemountet, sonst nichts.

Also bei mir war blkid einfach nicht mitkompiliert. Nach manueller Anwahl und neukompilierung hat freetzmount jetzt eine Swappartition wie es sein soll ohne Fehler gemountet.

comment:15 Antwort: Geändert vor 3 Jahren durch cuma

Auch wenn das gar nichts mit diesem Ticket zu tun hat: Falls blkid von AVM im Image ist, wählt freetzmount nicht das Freetz-blkid aus. Die Version von AVM erkennt wohl nicht die Dateisysteme: "(unknown)"

comment:16 als Antwort auf: ↑ 15 Geändert vor 3 Jahren durch ralf

Replying to cuma:

Falls blkid von AVM im Image ist, …

Womit sich dann wieder die Frage stellt, warum sollen wir AVM-Programme im Image lassen, wenn wir eigene haben, von denen wir wissen, dass sie das tun, was sie sollen?

comment:17 Geändert vor 3 Jahren durch cuma

Weil die AVM Binaries evtl Dinge tun die Freetz nicht kann/weiss?

  • zB AVM-WebDAV funktioniert überall, Freetz-davfs2 nicht #1660
  • oder gar "Deaktivierbarkeit von Freetz" #1523

comment:18 Geändert vor 3 Jahren durch kriegaex

Ich verstehe beide Seiten. Jeder von Euch hat auf seine Weise Recht. Was ralf stört, stört mich genauso. Was cuma sagt, hat aber auch seine Berechtigung. Bleiben wir doch hier mal bei diesem Einzelfall und entscheiden nach Eurem besten Wissen und Gewissen, ob es nicht besser wäre, die zwei so miteinander zu verknüpfen, daß eines das andere ersetzt. Es sieht ja so aus, als würde in dem Fall hier dadurch eher ein Problem vermieden/behoben als ein anderes erzeugt.

Ausprobieren, testen, einchecken? Und falls sich hinterher neue Erkenntnisse/Problem durch unsere geschätzten Nutzer/Tester ergeben, gibt es ja die Möglichkeit eines Revert.

Version 1, vor 3 Jahren von kriegaex bearbeitet (vorher) (Nächste(r/s)) (Diff)

comment:19 Geändert vor 3 Jahren durch cuma

Nur dass das nicht falsch verstanden wird, normal nehm ich lieber die Freetz Varianten. Trotzdem sollte man jedem soweit möglich die Wahl lassen. AVM-blkid + Freetzmount ist wie festgestellt nicht möglich. Ohne den Einwand hätte ich das so gemacht:

  • blkid von remove-e2fsprogs seperieren
  • Freetzmount wählt immer remove-blkid wenn im Image
  • Freetzmount wählt busybox-blkid falls nicht vom User Freetz-e2fsprogs-blkid ausgewählt

comment:20 Geändert vor 3 Jahren durch kriegaex

In [8519]:

New features and improvements for tools/extract-images:

  • Support for FREETZ_HAS_UPDATE_FILESYSTEM_IMAGE, i.e. for the firmware layout with separate filesystem.image and kernel.image (currently only seen on 3370). Recover-EXE can be easily unpacked now.
  • Hidden root firmwares (only kernel.image, also containing SquashFS) now get unpacked as hr_kernel.image plus separate images for kernel and filesystem for the user's convenience.
  • The user now gets hints for later steps he might want to use on the saved files, like tools/find-squashfs, tools/unpack-kernel, tools/unsquashfs* and fakeroot.
  • The first occurrences of files are not numbered *.image-1 anymore because in most cases the tool finds unique hits anyway. Only for the 2nd and subsequent hits numbers will be appended.
  • More sanity (plausibility) checks have been introduced.

Closes #1654, refs #1224.

Geändert vor 3 Jahren durch oliver

comment:21 Geändert vor 3 Jahren durch oliver

AVM nutzt in beiden Firmwares jetzt das busybox blkid Applet. (War das in 1.16.1 überhaupt schon vorhanden?)

comment:22 Geändert vor 3 Jahren durch oliver

In [8532]:

Fix freetzmount for 3370 and 6840 (refs #1224)

  • AVM uses busybox blkid applet in newest firmwares

comment:23 Geändert vor 3 Jahren durch kriegaex

@oliver: Ich habe einen Vorschlag. Mir ist klar, daß unsquashfs3-lzma nicht die Images von 3370/6840 entpacken kann. Aber die Infos aus dem SquashFS-Header auslesen (Option -s) kann das Tool sehr wohl, zumindest wenn wir es nicht ohne Not kastrieren. Momentan finde ich das hier in tools/make/patches/100-lzma.squashfs3.patch:

  • squashfs-tools/unsquashfs.c

     
    21972197            s_ops.read_block_list = read_block_list; 
    21982198            s_ops.read_inode = read_inode_2; 
    21992199        } 
    2200     } else if(sBlk.s_major == 3 && sBlk.s_minor <= 1) { 
     2200    } else if(sBlk.s_major == 3 && sBlk.s_minor == SQUASHFS_MINOR) { 
    22012201        s_ops.squashfs_opendir = squashfs_opendir; 
    22022202        s_ops.read_fragment = read_fragment; 
    22032203        s_ops.read_fragment_table = read_fragment_table; 

Das führt zu folgender Fehlermeldung, wenn ich Infos zu einem 3370-SquashFS anzeigen lassen will:

tools/unsquashfs3-lzma -s build/original/firmware/var/tmp/filesystem.image        

Reading a different endian SQUASHFS filesystem on build/original/firmware/var/tmp/filesystem.image
Filesystem on build/original/firmware/var/tmp/filesystem.image is (3:0), which is a later filesystem version than I support!

Zunächst einmal ist die Meldung einfach seltsam, weil das Tool normalerweise SquashFS 3.76 entpackt und 3.0 nicht größer ist. ;-) Dieselbe Meldung erscheint übrigens auch, wenn ich stattdessen versuche, das Image zu entpacken.

Jetzt ändern wir den Hunk mal, so daß er stattdessen folgendermaßen aussieht:

  • squashfs-tools/unsquashfs.c

     
    21972197            s_ops.read_block_list = read_block_list; 
    21982198            s_ops.read_inode = read_inode_2; 
    21992199        } 
    2200     } else if(sBlk.s_major == 3 && sBlk.s_minor <= 1) { 
     2200    } else if(sBlk.s_major == 3 && sBlk.s_minor <= SQUASHFS_MINOR) { 
    22012201        s_ops.squashfs_opendir = squashfs_opendir; 
    22022202        s_ops.read_fragment = read_fragment; 
    22032203        s_ops.read_fragment_table = read_fragment_table; 

Also einfach den Vergleich von == auf <= ändern. Jetzt kommt beim Versuch zu entpacken diese Fehlermeldung:

tools/unsquashfs3-lzma build/original/firmware/var/tmp/filesystem.image 

Reading a different endian SQUASHFS filesystem on build/original/firmware/var/tmp/filesystem.image
zlib::uncompress failed, unknown error -3
FATAL ERROR aborting: uncompress_inode_table: failed to read block

Das finde ich völlig in Ordnung, denn dieser Fehler ist aussagekräftiger und verwirrt nicht mit der unlogischen Versionsnummer-Geschichte, von wegen 3.0 > 3.76, darum klappe es nicht.

Der eigentliche Vorteil liegt jedoch darin, daß ich nun erfolgreich das hier tun kann:

tools/unsquashfs3-lzma -s build/original/firmware/var/tmp/filesystem.image 

Reading a different endian SQUASHFS filesystem on build/original/firmware/var/tmp/filesystem.image
Found a valid big endian SQUASHFS 3:0 superblock on build/original/firmware/var/tmp/filesystem.image.
Creation or last append time Mon Jan  9 17:50:54 2012
Filesystem is exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Check data is not present in the filesystem
Fragments are present in the filesystem
Always_use_fragments option is not specified
Duplicates are removed
Filesystem size 14866.82 Kbytes (14.52 Mbytes)
Block size 65536
Number of fragments 1
Number of inodes 199
Number of uids 1
Number of gids 0

Zwei Fliegen mit einer Klappe. Wäre es für Dich okay, wenn ich diese kleine Änderung (ein Zeichen) einchecken würde?

Zuletzt geändert vor 3 Jahren von kriegaex (vorher) (Diff)

comment:24 Geändert vor 3 Jahren durch kriegaex

In [8533]:

Fix bug for big endian boxes in fwmod: SquashFS blocksize could not be
determined correctly because of inverse byte order. Closes #1692, refs #1224.
While fixing the bug I also changed the code so that now it reads the block
size from header field block_size directly instead of inferring it via
cryptic binary shift operation from header field block_log (refs #1689,
refs #1505).

comment:25 Geändert vor 3 Jahren durch oliver

Ich habe nichts gegen diese Änderung. Der Vergleich mit "==" ist "historisch" bedingt, wenn ich mich in diesem Fall Recht erinnere. Bei der Blockgröße lag ich ja schon falsch… :-)

comment:26 Geändert vor 3 Jahren durch kriegaex

In [8534]:

Permit tools/unsquashfs3-lzma -s <mysquashfsimage> to return SquashFS meta
data also for non-LZMA images with version number 3.0 (not just AVM's special
LZMA version number 3.76). Refs #1224, #1692. Thx oliver for the feedback.

comment:27 Antwort: Geändert vor 2 Jahren durch oliver

Funktioniert freetzmount jetzt auf der 3370?

comment:28 Geändert vor 2 Jahren durch oliver

In [8628]:

3370: Remove "experimental" flag from menuconfig

comment:29 als Antwort auf: ↑ 27 Geändert vor 2 Jahren durch cuma

  • Lösung auf fixed gesetzt
  • Status von reopened nach closed geändert

Funktioniert freetzmount jetzt auf der 3370?

Solang sich niemand beschwert ist das ein gutes Zeichen

comment:30 Geändert vor 16 Monaten durch cuma

  • Meilenstein von freetz-1.3 nach freetz-2.0 geändert
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.