[Frage] Gibt es für die Fritz 7582 freetz?

flak65

Neuer User
Mitglied seit
25 Jan 2016
Beiträge
142
Punkte für Reaktionen
4
Punkte
18
Hallo,

kurze Frage: kann man für die 7582 ein freetz Image backen?

Danke!
 

NDiIPP

Aktives Mitglied
Mitglied seit
13 Apr 2017
Beiträge
2,681
Punkte für Reaktionen
442
Punkte
83
Es hat sich nichts geändert:
 

flak65

Neuer User
Mitglied seit
25 Jan 2016
Beiträge
142
Punkte für Reaktionen
4
Punkte
18
OK. Schade :)

Bekommt man trotzdem irgendwie Zugriff auf die Box? Ich möchte z.B. mal den DSL Treiber tauschen geht das vielleicht per telnet oder ssh?
 

NDiIPP

Aktives Mitglied
Mitglied seit
13 Apr 2017
Beiträge
2,681
Punkte für Reaktionen
442
Punkte
83
Beides ist bestimmt irgendwie möglich. Also bspw. Firmware-Image entpacken, Filesystem extrahieren, Dateien den eigenen Wünschen entspr. modifizieren/austauschen/ergänzen, daraus neues (eigenes) Image erstellen und dieses dann (aufgrund der Signatur-Überprüfung) per Bootloader auf die Box laden.

Keine Ahnung ob es diesbezüglich für die beiden BCM-Modelle von AVM bereits öffentlich zugängliche Informationen oder Anleitungen gibt. Wenn nicht muss man ggf. selbst die benötigten Informationen (verwendetes Image-Format/verwendete Dateisysteme und wie ein Firmware-Image auf die Box geladen werden kann) eruieren.
Für ersteres (verwendete Filesysteme) kann einem bspw. das Studium der Quelltexte, ein HEX-Editor oder auch das Tool "binwalk" ggf. behilflich sein. Für letzeres (Firmware per Bootloader laden) ist es in der Regel hilfreich, dem originalen AVM Recovery-Tool bei der Arbeit zuzusehen (Paketmitschnitt).
 

prisrak1

Mitglied
Mitglied seit
14 Mai 2017
Beiträge
265
Punkte für Reaktionen
25
Punkte
28
@flak65 irgendwan mal wird es wohl möglich sein. Bis dahin manuell alles easy, oder:

Die Modemtreiber könnten da ".. dsp_vr11" liegen. Womöglich von der jeweiligen Box unterschiedlich. Die Profis wissens besser:)
 

NDiIPP

Aktives Mitglied
Mitglied seit
13 Apr 2017
Beiträge
2,681
Punkte für Reaktionen
442
Punkte
83
"vr11" ist eine Bezeichnung von Intel (für den VRX518). Dort sind also die Treiber bei den BCM-Modellen sicherlich nicht zu finden. Bei den BCM-Modellen wäre bspw. eher "brcm_adsl_drv" treffender.
 
  • Like
Reaktionen: prisrak1

prisrak1

Mitglied
Mitglied seit
14 Mai 2017
Beiträge
265
Punkte für Reaktionen
25
Punkte
28
benötige selber nicht, so bin aber auch ein Stück weiter.
 

flak65

Neuer User
Mitglied seit
25 Jan 2016
Beiträge
142
Punkte für Reaktionen
4
Punkte
18
Beim entpacken kommt folgender Fehler: filesystem.image is (4:0), which is a later filesystem version than I support!

Heißt das nun, dass ich das 7582 Image nicht entpacken kann?

Code:
[email protected]:~/Desktop/freetz-devel$ ./fwmod -u -d unpacked_firmware FRITZ.Box_7582-07.12.image
STEP 1: UNPACK
unpacking firmware image
unpacking outer-filesystem image
    Filesystem on unpacked_firmware/original/firmware/var/tmp/filesystem.image is (4:0), which is a later filesystem version than I support!
ERROR: modunsqfs: Error in unpacked_firmware/original/firmware/var/tmp/filesystem.image
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,669
Punkte für Reaktionen
903
Punkte
113
Da sich "fwmod" auf die Angaben aus der ".config" stützt, wenn es um das Format einer Firmware geht (und es gibt einige denkbare Kombinationen, sonst bräuchte es die Warnungen/Hinweise in den bisher gegebenen Antworten ja nicht) und die 7582 nicht unterstützt wird (mithin auch die korrekten Settings für dieses Modell nicht bekannt sind - das gilt wohl für beide Forks, wie ich gerade noch einmal geprüft habe in GitHub), sollte man vielleicht erst einmal hingehen und den Aufbau der Firmware erkunden/dokumentieren und das geht beim "untar" (also dem Extrahieren von Dateien aus dem TAR-File, als welches sich ein "Firmware-Image" von AVM i.d.R. entpuppt) bereits los.

Danach kann man sich (unter Linux) z.B. mit dem "file"-Kommando genauer informieren (wenn einem der Hexdump der "filesystem.image" nichts sagt), welches Format das SquashFS-Image am Ende verwendet.

Wenn da ein "unsquashfs" offensichtlich mit "4:0" als Version nichts anfangen kann, ist das entweder die falsche "endianess" (dann stimmen die "Annahmen" nicht) oder tatsächlich ein Programm, das nur bis SquashFS3 entpacken kann ... dann wurden die falschen Tools gebaut - Standard ist wohl (zumindest bei Freetz) die 7490, die bekanntlich(!) Version 4 mit xz-Kompression und BE-Format verwendet.

Geht man davon aus, daß die 7581/7582 ein Broadcom-SoC mit Cortex-A9-Core verwenden, wäre zwar BE-Format auch denkbar (ARM-Prozessoren kann man i.d.R. umschalten), aber einigermaßen ungewöhnlich und da es bei AVM ohnehin einen "Mischbetrieb" gibt (die ATOM-Cores in den Puma6-basierten Modellen und der ARM(v7)-Core in der 4040 nutzen ja auch LE, der ARM-Core in den Puma6-Boxen aber wiederum nicht - da "sieht" man auch die Wahlfreiheit bei ARM-Cores), werden diese beiden Modelle wohl auch eher Version 4 mit LE-Format (und vermutlich xz-Kompression) verwenden.

Wenn nicht muss man ggf. selbst die benötigten Informationen (verwendetes Image-Format/verwendete Dateisysteme und wie ein Firmware-Image auf die Box geladen werden kann) eruieren.
Wenn man das gelesen (und verstanden) hat, kann man ans Werk gehen ... startet man schon vorher - mit nichts weiter bewaffnet als der Hoffnung, es würde schon irgendwie gutgehen -, kommt es mit höchster Wahrscheinlichkeit nach der nächsten "Kurve" auf dem Weg zur entpackten Firmware auch wieder zur nächsten Frage.

Eine "korrekte Frage" hier hätte ja offensichtlich lauten müssen: "Was sollte/muß man wissen, wenn man diese Informationen ermitteln will?" - hier einfach "loszulegen", scheitert ohne passende Kenntnisse oft am allerersten Hindernis (gut, hier wohl erst am zweiten, denn das Klonen eines Freetz-Repos hat ja wohl geklappt - auch wenn die Info fehlt, welcher Geschmacksrichtung hier der Vorzug gegeben wurde) und erhöht letztlich wohl nur die Gefahr der Aufgabe wg. eines zu hohen Frust-Levels - bei "unsystematischem Vorgehen" dann auch bei denjenigen, die Fragen dazu beantworten sollen.

Wenn man sich zuvor informiert (und die entsprechenden Quellen findet man hier im IPPF sehr schnell oder man kann ggf. auch mal bei "boxmatrix.info" vorbeischauen, wobei man da eben schon wissen muß, was man sucht und was das Gesuchte/Gefundene am Ende bedeutet und es "für Laien" oder Einsteiger eher nicht taugt), stellt man bei Freetz vermutlich am besten eine 4040 als "Vorlage" ein, bevor man die Tools bauen läßt - zumindest wäre das ein Modell, welches weitgehend dieselben Voraussetzungen bietet/verwendet, wie die beiden Modelle auf der BCM63xx-Plattform.
 

flak65

Neuer User
Mitglied seit
25 Jan 2016
Beiträge
142
Punkte für Reaktionen
4
Punkte
18
Hallo PeterPawn,

vielen Dank für deine ausführlichen Infos. Ich habe nun die 4040 als .config Vorlage genommen. Nun erscheint folgender Fehler:

Code:
[email protected]:~/Desktop/freetz-devel$ ./fwmod -u -d unpacked_firmware FRITZ.Box_7582-07.12.image
STEP 1: UNPACK
unpacking firmware image
splitting kernel image
ERROR: kernel splitting failed - maybe you should configure a firmware with FREETZ_AVM_HAS_SEPARATE_FILESYSTEM_IMAGE/FREETZ_AVM_HAS_INNER_OUTER_FILESYSTEM
Bekomme ich das als "Laie" hin das Image zu entpacken und wieder zu packen?
 

NDiIPP

Aktives Mitglied
Mitglied seit
13 Apr 2017
Beiträge
2,681
Punkte für Reaktionen
442
Punkte
83
Tja, wenn du jetzt noch ein weiteres AVM-Modell mit ARM Cortex A7 (Qualcomm-SoC) und NAND-Flash anstatt NOR-Flash ausprobierst (bspw. die 7530), denn die 4040 hat ja NOR-Flash, die BCM-Modelle 7581 und 7582 wiederum NAND-Flash und einen Cortex A9, dann bist du vielleicht schon einen kleinen Schritt weiter... ;)
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,669
Punkte für Reaktionen
903
Punkte
113
@flak65:
Ich denke mal, Du hast mich falsch verstanden und auch das, von anderen zuvor Geschriebene, nicht wirklich verarbeitet.

Ja, klar kriegt man das hin ... aber eben durch vorherige, eingehende Recherche/Überprüfung, wie die Firmware tatsächlich aussieht und nicht durch "lockeres Probieren".

Jetzt wird zwar das Dateisystem-Format korrekt erkannt, aber die 7581/7582 verwendet dann wohl doch eher wieder eine Speicherung des Systems in NAND-Flash mit zwei, alternierend eingesetzten Versionen (würde ich bei 512 MB NAND-Flash jedenfalls mal unterstellen als "Arbeitshypothese") - das ist bei der 4040 (wohl schon aus Kostengründen, denn die sollte ja "billig, billiger, am billigsten" sein) schon mal deutlich nicht der Fall.

Die 4040 hat 32 MB SPI-Flash an Bord, darin speichert sie ihren Kernel und ihr Dateisystem, aber offenbar/vermutlich nur eine einzelne Version.

Was haben denn Deine eigenen Recherchen im Vorfeld ergeben? Über welche "Leistungsmerkmale" verfügt denn die 7582? Und wo hast Du diese Informationen gefunden? Das Minimum, mit dem man das Sammeln von Informationen beginnen kann, ist schon mal die Support-Datei einer solchen Box, die man auch mit der "stock firmware" problemlos erhält.

BTW ... das sind alles auch nicht wirklich Fragen meinerseits (falls sich jetzt jemand "helfend einschalten" will) - das dient zur Verdeutlichung dessen, was man bei solchen Aktionen (also der "Analyse" einer unbekannten Firmware) an den Beginn stellen sollte (nein: stellen müßte).

Es hat Gründe, warum diese Modelle (noch?) nicht in Freetz unterstützt werden ... das ist nicht nur ein "unbekanntes" Format der Firmware. Auch der (ab Version 7) bei diesen Geräten verwendete Kernel und die C-Library (hier wieder die "glibc" anstelle von "musl" oder "uClibc[-ng]") werden in Freetz (und m.W. auch in Freetz-NG) bisher nicht unterstützt. Es wird also ohne eigene Kenntnisse, wie man eine Cross-Compile-Toolchain baut bzw. aus den von AVM bereitgestellten Paketen (die für die 07.01 der beiden Modelle gibt es ja bereits seit 8-9 Monaten bei AVM) sich eine solche zurechtzimmert, ziemlich schwer, passende Binaries zu erstellen.

Denn es ist ja nicht so, daß man die AVM-Pakete nur noch auspacken und dann ein Shell-Skript aufrufen müßte ... das ist richtig Arbeit, das in eine funktionierende Toolchain zu überführen, vor allem deshalb, weil es praktisch keine "Beschreibung" gibt und man sich die einzelnen Versatzstücke erst mühsam aus dem Wust von Dateien heraussuchen muß, der sich in einem solchen, von AVM bereitgestellten, Archiv tatsächlich verbirgt. Es ist zwar schon deutlich besser geworden, was die "Überfrachtung" mit irgendwelchem uralten Scheiß in diesen Archiven angeht (vermutlich deshalb, weil bei AVM selbst auch keiner mehr den richtigen Durchblick hatte, was da nun für welches Modell benötigt wird und was nicht), aber das ist von "gut" noch ein ganzes Stück entfernt.

Aber das muß niemanden davon abhalten, sich die Firmware zu schnappen, sie zu entpacken und ein wenig zu modifizieren und danach wieder ein SquashFS-Image zu erstellen (z.B. eben mit dem Start eines Telnet-Daemons, denn im Gegensatz zu anderen Binaries wird sicherlich auch in der BusyBox der 7581/7582 das "telnetd"-Applet mit dem AVM-Patch zur Abfrage des Symlinks enthalten sein), das man dann auf die Box bringt (vermutlch wieder mit einer automatischen Installation nach dem Start aus dem RAM, aber das ermittelt man mit dem Paketmitschnitt eines Recovery-Laufs, wie das weiter vorne auch schon angetextet wurde).

Spätestens wenn es aber um Fragen wie OpenVPN auf der Box oder SSH oder ähnliches geht, wird man um das Erweitern eines der Freetz-Forks für Kernel 4.1.irgendwas und "glibc" als Library nicht mehr herumkommen - man muß sich als "Laie" eben die Frage stellen, was man eigentlich erreichen will und wenn das ohne zusätzliche Binaries nicht zu realisieren ist, sollte man schon einigermaßen gute Kenntnisse in Build-Systemen haben (schon um eine Toolchain auf der Basis des AVM-Pakets zu bauen) und am Ende muß man auch von Freetz (egal für welchen Fork man das machen wollte) genug wissen, um das dort integrieren zu können. Das ist definitiv auch keine "rocket science" und kann sogar eine gute Übung oder ein Einstieg in das Thema (Cross-Compiliing, gcc, bintools, etc.) sein. Nur sollte man sich am Beginn erst mal klarmachen, worauf man sich einläßt ... das ist nichts, was man (erst recht nicht als Laie und auch nicht als "interessierter" (Laie), der ggf. sogar zusätzliche Pakete für die von ihm verwendete Linux-Distro erstellen kann, solange die Paketverwaltung des Systems ihm das alles (Compiler, Source-Files, System-Konfiguration) passend bereitstellt) mal eben so "nebenbei" erledigt.

@NDiIPP:
Siehste ... die 7520/7530 als 4040-Ableger hatte ich glatt vergessen bei der Überlegung, welches unterstützte Modell denn mit SQFS4, xz und LE arbeiten könnte. Das will ich aber gleich noch einmal zum Anlaß für eine Warnung nehmen, daß man für diese Modelle erstellte Binaries (zumindest dynamisch gelinkte, bei statischen könnte es klappen, wenn die Kernel-Konfigurationen (insb. die Syscalls) passen) nicht ohne weiteres auf die 7581/7582 übertragen kann, denn diese verwenden (wie oben geschrieben) die "glibc" (2.23) als Basis:
Code:
vidar:/tmp/FB7582_07.01/fs $ ls -l lib/libc*.so
-rwxrwxrwx 1 root root 1222256 Nov  9  2018 lib/libc-2.23.so*
vidar:/tmp/FB7582_07.01/fs $ strings lib/libc-2.23.so | grep glibc
glibc 2.23
@flak65:
Als kleine Hilfestellung meinerseits hier noch die Ausgabe eines meiner Skripte (allerdings eines unveröffentlichten) zum Entpacken/Analysieren solcher Firmware-Dateien:
Code:
Device uses NAND flash to store kernel and filesystem.
SquashFS version used: 4
SquashFS compression used: xz
SquashFS endianess used: little

>>>>> Output of 'extract_version_values' <<<<<
Model="Fritz_Box_HW228"
Product="FRITZ!Box 7582"
Date="09.11.2018 15:43:47"
Version="156.07.01"
Subversion="-63190"
Buildnumber="63190"
Buildtype="1"
Brandings="avm avme"
Release="1"
BetaRelease="0"
LaborName=""
DirtyBuild=""
InstallType="brcm_128MB_xilinx_4geth_1ab_pots_wlan_usb_host_dect_gfast_minhwsub3_06753"
KernelVersion="4.1.38"
LibraryProject="musl"
LibraryVersion="(undetectable)"
LibraryIdent="musl-undetected"
BootType="rc.S"
PublicKey1="00f29bf5a052e1a4c1f79e3bb102ef64e1ded3569932b603fe9dc54e2e953793d62abe11ac6904cef9ab3744570d39153f914a007a40898b54270370954064af1b73770ed06fbfaebaba673ecc9811fe854fb12b4a269e89f02197730fc366889d7572bd1b107690507fdeae5fc35c5529fdaa5e0abe63d2e63c7c659f18c0ea47"
PublicKey2="00b5d925778d9111cf28073e0d46d14a0eaae58194e099bfa931082976d0f720acab043cbd4ed52ecde5045fe25b8efeafa575c50a01e8198b8bd9a7635edd2c09480f083252de3345d3c850e1607f9c41bafd57ce504d17911fc4dc8d5681328e7bbe1d13f26f0c6cd5dc681ef2d417ba3edd4b17808f02c7d370a1c5eb799f21"
PublicKey3="00f2ee9ffd8556211f5644da48a252b107124b330d4c20dcf3b9bac892924cabaa4df4f53e1c62e3f2aa12a23eb1d770df1520a998078738407e6a71b077f73ba976363836b880b0dd88741bc3b83ab061691226e823404b7fc88ed278d8130fe5336eb925c78f2f8ad7cb87d9586286f768ab3236fa8fb51ae7c4bbe1e041d849"
>>>>> ================================== <<<<<

The unpacked filesystem structure may be found at:

/tmp/tmp.SRzYf7VvKb/13687_rebuild_image/fs

You may change anything below this point, until you're satisfied by the result.

Please use another terminal session to make any changes and if you think, your changes are complete, answer the question below.

Do you want to continue with packing the new image or re-display the used directory names or terminate without packing a new image?

Enter 'continue' (full word needed) or 'r' (re-display) or 'x' / 'q' (eXit/Quit):
Das hat mich auch gleich noch darauf aufmerksam gemacht, daß die Erkennung der C-Library unvollständig ist und eine Erkennung der "glibc" nachzurüsten wäre ... allerdings sind das bisher tatsächlich eher "Exoten" (bis hin zur 6591, iirc), bei denen AVM diese Library verwendet hat.
 

flak65

Neuer User
Mitglied seit
25 Jan 2016
Beiträge
142
Punkte für Reaktionen
4
Punkte
18
Ich habe es zwar geschafft die Firmware zu entpacken, finde jetzt jedoch nicht den VDSL Treiber vom Broadcom.

Wenn ich mir die VDSL Treiber von dieser Webseite anschaue, dann müsste die Treiberdatei ca. 1.5-1.6MB groß sein.

Unter unpacked_firmware/original/filesystem/lib/modules/4.1.38/kernel/drivers/brcm_adsl_drv gibt es zwar einen Ordner, die Dateien sind adsldd_anxb.ko, adsldd_anxa.ko und adsldd_anxa_ch.ko. Denke Annex A und Annex B. Das Problem ist, dass die drei Dateien jeweils nur 405KB groß sind.

Hat jemand ne Idee wie ich die Treiberdatei finden kann?
 

prisrak1

Mitglied
Mitglied seit
14 Mai 2017
Beiträge
265
Punkte für Reaktionen
25
Punkte
28
ich hatte mal für jemanden die alten Treiber gegen die nuen getauscht gehabt. Also von einer alten Image in die neue reinkopiert, Die alten Treiber waren wohl besser.
 

flak65

Neuer User
Mitglied seit
25 Jan 2016
Beiträge
142
Punkte für Reaktionen
4
Punkte
18
Noch eine andere Frage zur 7582.

Ist es möglich die 7582 als reines Modem hinter den WAN Anschluss einer 7590 zu betreiben?

Ist PPPoE-Passthrough eine Möglichkeit? Oder das Editieren der config, wenn ja wie? Mit mode = dsldmode_full_bridge oder mode = dsldmode_both?



Code:
ar7cfg {
        mode = dsldmode_xxx;
        active_provider = "other";
        active_name = "";
 
Zuletzt bearbeitet:

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
234,438
Beiträge
2,046,487
Mitglieder
354,187
Neuestes Mitglied
Thomas_Crown