[Info] modfs - SquashFS-Image (AVM-Firmware) ändern für NAND-basierte FRITZ!Boxen

Wenn AVM das richtig implementiert hat (bei der 7390 ergaben sich da ja ein paar Fragen), dann sollte die Einstellung "nur benachrichtigen" (der erste Punkt auf der "Autoupdate"-Seite) ja eigentlich verhindern, daß ein Image von AVM automatisch installiert wird.
...
Danke so hatte ich es im Kopf. Irgendwo las ich im Forum allerdings, dass sie jemandem trotz "nur Benachrichtigung" seine FB7390? -die war imho gefreezt- zwangsgeupdatet hatten. Via TR069 o.ä.
LG
 
@Micha0815:
Eher nicht per TR-069 (dann käme das vom Provider oder wer auch immer als ACS eingetragen ist) - sondern wohl mehr über einen (anzunehmenden) Fehler in der Implementierung von "Autoupdate"-Optionen, zumindest bei den NOR-Boxen (wo es das "jede neue Firmware installieren" ja nicht gibt).

Ich hoffe mal, daß es sich bei dieser "Besonderheit" der Labor-Version um den Versuch von AVM handelt, das korrekte Verhalten dieser Optionen auszutesten (erst einmal für die NAND-Modelle) ... bei der Einführung dieser Einstellungen war davon (also von einem umfassenden Test an dieser Stelle) nichts zu sehen, daher ja auch meine These (i.V.m. der eigenen Beobachtung so eines Updates trotz (ursprünglicher) Einstellung "nur benachrichtigen" bei einer 7390 - läßt sich anhand gesicherter Einstellungen in Push-Mails nachverfolgen, daß die Einstellungen ursprünglich richtig waren und nur beim zweiten (vergeblichen) Versuch geändert wurden ... dabei hätte schon der erste Installationsversuch aufgrund der Einstellungen gar nicht starten dürfen), daß es dort ein Problem geben könnte.
 
Neues FritzOS 6.80 für die 7490: Das modfs mit Hilfe von ./modfs update FRITZ.Box_7490.113.06.80.image auf nem USB Stick vom laufenden FritzOS6.60 auf 6.80 lief erfolgreich. Das 6.80 wurde modifiziert geflasht!!!!

modfs_version=0.4.1-031220162001

Leider hat AVM auch in der 6.80 die Mobilfunk-Ersatzlösung für (V)DSL Ausfall immer noch nur für den Fall, dass das (V)DSL Modem auch in der Box benutzt wird, und nicht für den Fall, dass die Modemfunktionalität ausgegliedert ist, vorgesehen. Bei externer Modemnutzung ist der Menüpunkt ausgegraut. Als ich dieses zu erweitern AVM als Verbesserungsvorschlag nach der Veröffentlichung von 6.60 schrieb, bekam ich auf die eigentlich gute Idee nur Bla Bla Bla Antworten, die bewiesen, dass sich keiner meine Mail durchgelesen hatte. Aber wegen der von PeterPawn erwähnten Sicherheitslöcher ist das Updaten auf 6.80 wenigstens nicht vergebens. Nun habe ich mir die Mobilfunk-Ersatzlösung mit if ctlmgr_ctl r connection0 pppoe:status/ip | grep "-" > /dev/null als Workaround mit einem Script selbst gebastelt, welches die Routen und den DNS so umschaltet, so dass nun ein TP-Link TL-MR3020 mit OpenWRT mit LTE Stick als Ersatzzugang dient. Und das geht ja alles nur dank modfs ;-)
 
Zuletzt bearbeitet:
Nach meiner unmassgeblichen Erfahrung, verzweigt die Ersatzverbindung "Mobilfunk" als Fallback in zwei Richtungen. NDIS-Device falls vormals Tethering benutzt, oder konventionelles Modem, falls vormals ein entsprechender UMTS-Stick registriert. Würde die FB beides simultan beherrschen, wäre ja eine parallele Nutzung eines voicefähigen Sticks als UMTS-Gateway für Telefonie und eines LTE-Sticks als virtuelle Netzwerkkarte für die Internetanbindung simultan möglich?
Falls Dein Script dagingehend neue Wege öffnet ... wären sicherlich etliche Leser interessiert ;)
LG
 
Zuletzt bearbeitet:
bei mir ist bei FB7490 FW 06.80 mit modfs-0.4.1-031220162001 das Problem mit fehlender SELECT-Box beim Anmelden aufgetreten; kann das jemand bestätigen ?

gefundene Quellen im IPPF:
Es gibt eine neue Modifikation namens "mod_preselect_username" ... in der aktuellen Labor-Firmware wird der in der URL angegebene Benutzername (user=xxx) nicht mehr automatisch vorausgewählt in der SELECT-Box ... ob das ein Fehler oder Absicht ist, wage ich nicht zu beurteilen. Es nervt(e) mich trotzdem, weil ich eben die Links auf die verschiedenen Boxen immer mit einem Benutzernamen versehen habe, damit ich nicht erst einen/den richtigen Namen auswählen muß. Wenn das nur ein Irrtum war bei AVM, fliegt der Patch auch wieder raus - der funktioniert auch nur für die neue Labor-Reihe.

Das nur zwischenzeitlich bei der 7490 erforderliche Skript "mod_preselect_username" wurde wieder gestrichen, offenbar hat AVM das Problem in den neuen Labor-Versionen behoben und ältere Release-Versionen waren ohnehin nicht betroffen.
 
Zuletzt bearbeitet:
Hier muß man zwei Fälle unterscheiden ... bei der Feststellung, daß die Anmeldung "von außerhalb" kommt (egal, wie die Firmware auf diese Idee kommen mag), wird das SELECT-Control durch ein einfaches INPUT-Control (für Text) ersetzt, damit die vorhandenen Benutzernamen nicht von extern abgerufen werden können. Dieser Vorgang würde also darauf hindeuten, daß die Box die Anmeldung als "from_internet" ansah - kann über VPN oder warum auch immer passieren.

Der alte Patch sorgte nur dafür, daß der zusätzliche Parameter "user=username" beim Aufruf der Anmeldeseite (z.B. über passende Bookmarks) tatsächlich auch den angegebenen Benutzernamen entweder in das Textfeld einträgt (das klappte auch bei AVM) oder - sofern vorhanden - in der SELECT-Box auswählt (das klappte zwischenzeitlich nicht). Da AVM das irgendwann änderte, braucht es den Patch nicht mehr. Wer eine der alten Versionen installiert hat und damit den Patch gerne hätte, braucht nur den älteren Stand im GitHub auszuchecken oder (einfacher) die alte Version im GitHub per Browser anzeigen zu lassen und dann kann man sie dort auch (raw) speichern.

Bei "fehlender SELECT-Box" würde ich eher auf den ersten Punkt tippen und dafür gab/gibt es keinen Patch ... und zwar aus gutem Grund, denn ein solcher würde - bei aktiviertem Fernzugriff - dann auch die vorhandenen Benutzernamen bei jedem beliebigen Request aus dem Internet verraten, denn dann wird in aller Regel auf die Anmeldeseite umgeleitet.
 
Hallo zusammen,

habe mir gerade den neuen gui_boot_manager version 0.3 angesehen und versucht, ihn in ein custom Firmware image (auf Basis der 113.06.80) zu integrieren. Mit einer etwas älteren version 0.2 hatte ich das letztes Jahr schon einmal erfolgreich hinbekommen, da die mod-scripte auch auf einem "einfachen Linux System" mit der Bash ausführbar sind (hattest mir PeterPan irgend wann mal geschrieben).
Bei der Version 0.3 habe ich zunächst etwas länger analysieren müssen, die Lösung aber letztendlich in einem commit vom 18 Feb 2016 "use provided modscript environment / add template" gefunden.
Darin hatte Peter nämlich die Funktionen zum bestimmen des Brandings ausgelagert, so dass die benutzten Variablen $TARGET_BRANDING und $TARGET_BRANDINGS innerhalb des gui_boot_manager scripts bei nativer Ausführung natürlich ins leere laufen.
Gleichgesinnte, die z.B. mit einem fwmod_custom (von freetz) versuchen, die scripte von Dir direkt in den Buildprozess zu integrieren, sollten diese Änderung also berücksichtigen ;)
 
Bis zum Wegfall des Routerzwangs habe ich das sicherlich auch geschafft ... die notwendige Software ist eigentlich fertig bzw. das Vorgehen ausreichend getestet.

Es ist am Ende praktisch wieder dasselbe Image, was auch modfs-Starter verwendet hat ... kombiniert mit einem Kernel und einen so weit zusammengestrichenen Dateisystem, daß man keine AVM-Komponenten braucht (mit Ausnahme des Kernels, aber der steht unter GPL und am Ende ist AVM auch selbst schuld, wenn man keinen eigenen funktionsfähigen Kernel erstellen kann, weil die Hälfte fehlt - diesen Standpunkt vertrete ich ja noch immer) und damit auch ein komplettes Image als Download bereitstellen kann, das nur noch wahlweise mit dem PowerShell-Skript (für Windows-User) oder mit dem Posix-Shell-Skript aus dem YourFritz-Repo geladen werden muß und dann das ShellInABox-Image wieder ins Wrapper-FS schreibt, womit beim nächsten Start dann SIAB geladen wird.

Im Prinzip ist das auch alles schon einmal veröffentlicht (den Zwischenstand eines (unvollständigen) Skripts zum Erstellen so eines Images habe ich gerade mal ins YourFritz-Repo eingecheckt, aber das wird nicht heute oder morgen fertig) und wird nur anders zusammengebaut ... und natürlich braucht es noch die Beschreibung. Als ich das in Angriff genommen hatte, kam dann etwas anderes dazwischen und diese Baustelle ist erst einmal wieder nach hinten gerutscht auf der ToDo-Liste. Wer es eilig hat, müßte selbst ein Image zusammenbauen ... das ist weniger aufwändig, als man vielleicht glaubt und (wenn man z.B. die BusyBox aus modfs nimmt) man braucht zwar ein Linux-System, aber keine Freetz-Buildumgebung (höchstens noch das richtige tar-Applet der Busybox, wenn man die Möglichkeit des Auspackens wie in meinem Skript verwenden will).

Ich muss gestehen, dass ich den Thread seitdem nicht weiterverfolgt habe. Wie ist der aktuelle Status?
 
Da ging es bestimmt um einen Ersatz für "modfs-Starter" ... nachdem AVM das "Pseudo-Update" dafür zusammen mit anderer unsignierter "Firmware" abgehangen hatte, war ich auf der Suche nach Alternativen, die man auch ohne Probleme zum Download anbieten könnte, weil sie keine (closed-source) AVM-Komponenten beinhalten und man sich damit gar nicht erst auf eine Diskussion über die Rechtmäßigkeit der (einzelnen) Weiterverbreitung einlassen muß.

Das ist dann - u.a. wegen des Problems beim Erstellen eines eigenen, lauffähigen Kernels, der auch noch über mehrere Modelle hinweg funktioniert, was ja wegen des Bereichs ab "__avm_kernel_config_start" nicht mehr ohne weiteres machbar ist (auch wenn das seit Mitte Oktober 2016 als gelöst angesehen werden kann, wie man einen eigenen Kernel erstellt) - etwas eingeschlafen, weil ich (unabhängig von meiner Einschätzung bzgl. der Rechte beim Kopieren des Kernels) keine Lust hatte, das für mehrere Modelle (die ich gar nicht alle selbst besitze) in irgendeiner Form zu etablieren.

Der Wartungsaufwand wäre mir zu hoch und so bliebe eigentlich nur der Download eines AVM-Images und die Verwendung des dort enthaltenen Kernels übrig - da mich das nicht so ganz zufriedenstellen konnte, habe ich das immer weiter verschoben. Die "Zutaten" existieren ja tatsächlich alle bereits, sie müssen nur von jemandem (das muß nicht zwangsläufig ich sein) passend zusammengesetzt werden.

Ähnlich wie das "run_update", das auch erst einmal die passende Umgebung abcheckt, bevor es ans Werk geht, kann man das auch hier machen und damit ein "universelles Image" für die eigene Box (bzw. das Modell der eigenen Box) erstellen, das man dann über ein passend befülltes Dateisystem im NAND (das, was im laufenden Betrieb unter /var/media/ftp gemountet wird) steuert.

Mit so einem Image kann man dann praktisch alles machen ... vom Setzen eines neuen Kennworts anstelle eines vergessenen über das Hinzufügen eines neuen Benutzers, vom (forensisch sicheren) Extrahieren der vorhandenen Einstellungen (inkl. des Schreibens ins Netz über TFTP z.B.) bis zur Installation eines Zusatzes im yaffs2-Dateisystem in der Flash-Partition (wie es "modfs-Starter" machte) - der Phantasie sind da keine Grenzen gesetzt.

Man braucht eigentlich nur ein "Startersystem", was die internen Dateisysteme (inkl. /var/media/ftp) irgendwohin mountet und dann von dort die "Anweisungen" in Form irgendwelcher Skript-Dateien nachlädt (ggf. auch aus dem Netzwerk) und ausführt.

Der Vorteil so eines "universellen" Systems läge eben darin, daß man es nicht für jede spezielle Aufgabe modifizieren müßte (wie das z.B. bei "Pseudo-Updates" früher ja auch der Fall war, denn die /var/install mußte ja die richtigen Aktionen starten und das interne Dateisystem gab es in den Hoch-Zeiten (extra mit Bindestrich, damit das nicht mit "Vermählung" verwechselt wird) dieser Pseudo-Updates noch gar nicht) - dafür reicht dann schon ein Editor und der NAS-Zugriff über das originale System von AVM, mit denen man einfach die passenden Skripte im NAS-Dateisystem ablegt.

TL;DR:
Als Starter bzw. "Not"-System (für alle) noch nicht weiterentwickelt - aber auch keine wirkliche Priorität. Da die Leute zur Anwendung (also zum Erstellen des eigenen Systems) ohnehin ein Linux-System bräuchten, ist der Weg über ein Freetz-Image im Moment immer noch der leichteste und der ist ja auch praktikabel. Für spezielle Einsatzfälle habe ich persönlich eine Lösung, diese sieht der "E99-custom" (dafür gibt es ein "modscript") verdammt ähnlich, verzichtet aber auf allen AVM-Schnickschnack - angefangen bei AHA über die Telefonie bis zum Internet, denn da ist das Image eben nur ein Werkzeug, mit dem man verschiedene Interna der Box auslesen und ändern kann, sofern man Zugriff auf den Bootloader hat (was ohnehin "Anwesenheit" erfordert, zumindest in gewisser Weise). Allerdings ist das Erzeugen passender SquashFS-Images für diese "Pakete" sicherlich ein Schritt, den die meisten eher nicht gehen würden - da wäre eben der direkte Aufruf irgendwelcher Skript-Dateien einfacher und wenn man wirklich zusätzliche Programme braucht, kann man immer noch ein solches Image mounten oder die gleich ins Root-FS packen. Bei mir war es mehr der "duale Nutzen" der Pakete, der im Vordergrund stand.
 
Vielen Dank für die ausführliche Antwort!
 
Hallo,
ich habe heute meine 7490 von 6.60 auf 6.80 mit modfs 0.4.1 geupdatet, alles mit ja bestätigt.
Jetzt lässt sich meine Solarview auf dem USB-Stick nicht mehr starten. (permission denied)

Habe ich was falsch gemacht oder geht das mit der OS6.80 nicht mehr?

Gruss

XC
 
Das hat nichts mit "modfs" zu tun bzw. wenn, dann nur mit einer fehlenden Modifikation. AVM hat (richtigerweise, damit das niemand in den falschen Hals kriegt) beim Mounten von NAS-Volumes ein "noexec"-Flag hinzugefügt, damit braucht ein Start von dort entweder ein geändertes Mount-Kommando (oder ein "remount" ohne "noexec") oder einen anderen Weg - z.B. einen direkten Aufruf des Interpreters mit der Angabe eines Dateinamens auf dem NAS-Volume, wo dann i.d.R. auch diese Berechtigung (also das "noexec") nicht berücksichtigt wird.
 
Ok also unterbindet die os6,80 das ausführen von Dateien auf dem USB-Stick.
was muss ich jetzt genau machen?

xc
 
OK, das hat soweit funktioniert. Jetzt habe ich noch ein Problem mit den USB-Treibern, diese werden nicht ins /dev/ installiert.
usb treiber.jpg
Müssen for OS6.80 neue Treiber mit Freetz kompiliert werden?
Gruss
XC
 
Ich hatte bei der letzten Version schon das Problem und nun auch bei dieser wieder: Während des "Packen des neuen root-Dateisystems" stürzt der Vorgang ab oder bootet die Fritzbox neu. Ich vermute ein Resourcenproblem. Hat jemand eine Lösungsidee?
 
Swap-Space ist vorhanden? Ansonsten fliegt das gerne mal wegen "memory pressure" raus (AVM setzt sogar noch ein Flag, daß "memory pressure" zur "kernel panic" führt) ... das ist aber auch (mehrmals) hier im Thread thematisiert und auch die "Benutzungsanleitung" irgendwo in einem nebenläufigen Thread (steht alles in #1) sollte das Thema erwähnen, wenn ich mich nicht irre. Auch ohne Swap-Space gäbe es (schlechtere) Alternativen, wo nicht benötigte Services gestoppt werden und somit mehr Platz zur Verfügung gestellt werden kann. So ein "mksquashfs" ist ein echter Ressourcenfresser - das liegt am LZMA2 mit seinem großen Bedarf beim Komprimieren.

Zwar mag nicht jeder "Späteinsteiger" den kompletten Thread lesen, aber #1 sollte schon "Pflichtlektüre" sein, inkl. der von dort verlinkten (weil ggf. wichtigen) Beiträge in diesem Thread.
 
Zwar mag nicht jeder "Späteinsteiger" den kompletten Thread lesen, aber #1 sollte schon "Pflichtlektüre" sein, inkl. der von dort verlinkten (weil ggf. wichtigen) Beiträge in diesem Thread.

OT: Entschuldigung PeterPawn, du leistest hervorragende Arbeit und hast ein sehr tiefgehendes Wissen, aber für mich sind deine Dokumentationen leider zu lange/zu umfangreich/zu unübersichtlich zu lesen. Ja, ich habe den ersten Post mehrfach gelesen bzw überflogen und zwar jedes Mal wenn ich das Tool wieder eingesetzt habe (daher kein Späteinsteiger). Und ich war jedes Mal froh wieder die Zusammenfassung von @eisbaerin zu finden. Dort gibt es einige Post zum Thema Speicher, allerdings sehe ich noch keinen Zusammenhang zwischen der plötzlich nicht mehr weiterdrehenden Linie und Speichermangel.


Zu dem vermuteten Resourcenproblem: Ich versteh erstens nicht wieso es nur bei einzelnen Boxen dazu kommt (der Resourcenbedarf der AVM-Software sollte doch überall gleich sein). Mehrere Neustarts und auch Killen von einzelnen Prozessen haben keine Besserung gebracht. Funktioniert hat es dann, als ich das Image-File manuell auf des NAS runtergeladen hatte und beim Starten des Updates mit angegeben habe. Vielleicht hilft das dem einen oder anderen weiter oder bei der Fehlersuche.
 
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.