- Mitglied seit
- 10 Mai 2006
- Beiträge
- 15,214
- Punkte für Reaktionen
- 1,720
- Punkte
- 113
EDIT 25.09.2018:
Wie komme ich zu einem Shell-Zugang in einer FRITZ!Box, wenn ich noch die originale AVM-Firmware (ab 06.5x) installiert habe und das alte "modfs-Starter"-Image damit nicht verwenden kann? Hier nachlesen: https://www.ip-phone-forum.de/threa...ierte-fritz-boxen.273304/page-71#post-2269839
EDIT 27.09.2016:
Version 0.4.0 mit Abfrage der aktuellen Version beim Hersteller und Prüfung der Signatur von verwendeten Firmware-Images, damit man besser gegen eventuell manipulierte Quellen gewappnet ist ... man kann ja immer wieder im entsprechenden Thread die Suche nach alten Firmware-Images mitverfolgen und wenn AVM jetzt eine striktere Prüfung der Signatur vornimmt, dann sollte man da nicht abseits stehen (zumindest will ich das nicht, überspringen darf der Benutzer die Prüfung immer noch, das bleibt seine Entscheidung). Außerdem ist jetzt eine Möglichkeit des Debuggens (eher als "trace") von "modscripts" eingebaut (MODFS_DEBUG_SHELL=1 im Environment sorgt für die Erzeugung der Datei /var/tmp/modfs_debug_shell.log).
EDIT 09.09.2016:
AVM hat seit der Laborversion 113.06.69-40929 (bei der 7490, da ist es zuerst zu finden für mich) das Mounten von USB-Volumes abgeändert, dort wird jetzt mit der Option "noexec" gearbeitet. In der Folge sind von dort keine Programme mehr auszuführen - der interne NAND-Flash (auch kleinere Modelle haben den ja, wenn auch mit weniger Platz, aber für das Auspacken von "modfs" sollte es eigentlich immer reichen) steht aber immer noch zur Verfügung, ansonsten muß man entweder "/var" (tmpfs, volatil) dafür nehmen oder die Volumes anders mounten, bevor man "modfs" ausführen will.
EDIT 19.07.2016:
Dank des Tests durch @qwertz.asdfgh (http://www.ip-phone-forum.de/showthread.php?t=273304&p=2171420&viewfull=1#post2171420) wurde die 7430 in die Liste der erfolgreich getesteten Modelle aufgenommen und gleich noch ein "universelles unsquashfs-Utility" hinzugefügt (das wird aber im Moment nicht direkt in modfs verwendet, weil ja eine funktionierende Versionserkennung für SquashFS-Images implementiert ist).
EDIT 24.03.2016:
Es gibt eine neue Version 0.3.4 - da erfolgt jetzt der "feature freeze", nachdem noch ein Skript zur initialen Anzeige des FRITZ!Box-Namens anstelle des FRITZ!Box-Typs im GUI (HTML-title-Tag und Kopfzeile der Anzeige im neuen Design) hinzugekommen ist. Weiterhin wurde in dieser Version jetzt das Erstellen der Protokoll-Datei (Ringpuffer mit max. 64 KB Größe im tmpfs) zur Standardeinstellung auserkoren, wer es ausschalten will, muß "MODFS_DEBUG=0" als Umgebungsvariable beim Aufruf setzen. Die Ausgabe der Protokolldatei erfolgt weiterhin mit "showshringbuf modfs" und kann in eine Datei umgeleitet werden, wenn man dieses Protokoll einer Fehlermeldung bzgl. "modfs" hinzufügen will.
Ansonsten sei für weitere vorgenommene Änderungen auf das GitHub-Repo und die Liste der Commits verwiesen, einiges dazu steht allerdings auch in #589 (nach dem "Aktualisiert") seit der ersten Änderung zur 0.3.4 hin.
Seit dem 13.03.2016 gibt es von @eisbaerin einen neuen Thread, in dem die hier verstreuten Informationen zur Benutzung von "modfs" (weil eben organisch über 18 Monate gewachsen) zusammengefaßt werden. Wer also keine Lust hat, sich durch diesen Thread hier zu graben, der sollte erst einmal dort nachlesen.
Bleiben dann noch Fragen offen, bitte hier noch einmal lesen (zumindest die von diesem Beitrag aus direkt verlinkten Einträge) und erst dann (bitte, bitte - wiederholte Fragen und wiederholte Antworten machen es Euren Nachfolgern als Leser dann noch schwerer, aus einer Suchabfrage die richtigen Ergebnisse herauszufiltern und genauso wenig, wie es Spaß macht, dieselben Antworten mehrfach zu geben, genauso wenig habe ich persönlich Vergnügen daran, immer wieder auf bereits vorhandene Antworten zu verweisen, wenn Fragen wiederholt gestellt werden) seine eigenen Fragen formulieren.
Damit will ich um Himmels Willen auch niemanden davon abhalten, seine Fragen zu stellen ... wenn er es sich wirklich richtig überlegt hat und tatsächlich die passende Antwort noch nicht existiert. Aber nur so aus Spaß an der Freude und weil er keine Lust hat, sich durch diesen Thread zu graben (daher ja der Versuch, das zusammenzufassen im Thread von @eisbaerin), muß ja nicht automatisch jeder seine eigene persönliche Antwort auf bereits bekannte und beantwortete Fragen erwarten.
Die Verwendung von "modfs" braucht (meiner Meinung nach) keine speziellen Kenntnisse, aber Basiswissen in Bezug auf die Bedienung der Kommandozeile (Shell) von Linux-Systemen (dazu gehören auch die "Standardkommandos") kann es derzeit dem Anwender noch nicht abnehmen. Es soll nur dazu dienen, die bei der Verwendung von Freetz automatisch bestehende Notwendigkeit, einen PC und eine ausgewachsene Linux-Installation (egal ob als VM oder "bare metal") verwenden zu müssen, eine Nummer kleiner ausfallen zu lassen und die Hardware-Voraussetzungen für das Ändern der FRITZ!OS-Versionen von AVM (bei den unterstützten Modellen, denn wenn die Hardware das Prinzip nicht bietet, kann auch "modfs" nichts daran ändern) auf das Vorhandensein einer passenden FRITZ!Box zu reduzieren. Die Notwendigkeit, sich Kenntnisse zum Umgang mit Linux anzueignen, kann und soll "modfs" seinen Nutzern aber nicht abnehmen und für derartiges Basiswissen gibt es tatsächlich im Internet genug andere und wesentlich kompetentere (weil auch didaktisch bessere) Quellen.
Auch das soll also dieser Thread eigentlich nicht leisten ... wenn jemand (als Beispiel) mit der Bedienung des "vi" als Editor nicht klarkommt, muß/soll er einen anderen nehmen (der vi ist aber der einzige, der auch in "stock firmware" verfügbar ist) oder sich die Bedienung erarbeiten (anhand von Internet-Quellen). Es ist ein erheblicher Unterschied, ob jemand die Frage stellt: "Wie bedient man denn den vi eigentlich?" oder ob sie lautet: "Wie verwende ich den vi richtig, um eine Datei im TFFS der FRITZ!Box zu bearbeiten?". Ersteres hat mit der FRITZ!Box gar nichts zu tun (und erst recht nicht mit "modfs") und zweiteres paßt wenigstens noch zur FRITZ!Box ... auch wenn das ebenfalls schon mehrfach durchdiskutiert wurde und damit als Frage auch nicht auftauchen sollte.
Genug der "Grundsatzfragen" ... viel Erfolg beim Einsatz von "modfs". Ich hatte es mal angefangen als ein Beispiel, wie man auch ohne die Verwendung eines "großen Linux-Systems" sich die Firmware von AVM in kleinen Details, die sonst immer nur auf irgendwelchen Wunschzetteln zu finden sind, so anpassen kann, wie man es möchte ... auch heute noch ist es eigentlich kein Problem, damit "iterative Änderungen" auszuführen. Ich nutze das selbst oft genug, um eigene kleine Änderungen erst einmal auszuprobieren und sie dann - wenn sie funktionieren - einfach in das bestehende System zu integrieren, ohne all die anderen Änderungen erneut vornehmen zu müssen. Das erfordert zwar eine halbwegs sinnvolle "Liste", was man da nun wie geändert hat (damit man es beim nächsten "Komplett-Update" mit neuer Firmware vom Hersteller wieder nachziehen kann), aber so eine Liste kann auch ein Verzeichnis mit entsprechenden "patch"-Files sein, die man einfach alle erneut anwenden läßt beim Update auf eine neue Version. Die Richtung, in die sich das jetzt entwickelt hat in den vergangenen 18 Monaten paßt mir zwar nicht in allen Punkten, aber ich gebe es auch auf, mich dagegen zu wehren, daß es mehr als "fertige Lösung" denn als Werkzeug zur Realisierung einer eigenen Lösung angesehen wird.
-Folgende Modifikationen sind mit den Skript-Dateien aus dem GitHub-Repository (https://github.com/PeterPawn/modfs) möglich, das ist auch der aktuelle Stand, der in der Datei unter http://yourfritz.de/modfs.tgz enthalten ist:
-Um es noch einmal besser sichtbar zu machen: Seit Version 0.3.1 (August 2015) unterstützt das "modfs"-Skript eine Protokollierung, die bei der Eingrenzung von Fehlern helfen soll. An die Stelle der sichtbaren Ausgabe im Terminal bei einem Fehler sollte also bei jeder Fehlermeldung dieses "Protokoll" treten, weil es viel genauere Informationen enthält - gerade bei Aktionen, die aus mehreren Schritten bestehen und im Terminalfenster nur mit einer einzigen Zeile angezeigt werden. Wie man diese Protokollierung einerseits einschaltet und andererseits deren Ergebnisse sichert (der Standard-"Puffer" von 8 KB ist i.d.R. inzwischen zu klein für einen kompletten Lauf, wenn man auch die ersten Zeilen noch finden will und nicht nur die letzten), ist in diesem Thread in #190 beschrieben.
Ich würde also darum bitten, bei der Beschreibung von Fehlern weniger auf Prosa zu setzen (auch wenn natürlich die Protokollierung alleine auch kein Allheilmittel ist) und stattdessen eher die Ausgabe von "showshringbuf modfs" als Datei an so eine Meldung anzuhängen ... das spart auch einige Rückfragen. Danke.
EDIT 18.02.2016:
Es gibt schon die nächste Version, jetzt zieht aber erst einmal wieder Ruhe ein.
- Änderungen ggü. 0.3.2 stehen hier
- der Umzug in Richtung GitHub ist komplett, hier findet man das Repository: https://github.com/PeterPawn/modfs
- der Download eines gepackten tar-Files für das ganze Paket direkt auf die Box wäre von http://yourfritz.de/modfs-0.3.3.tgz möglich (auch der "aktuelle" Link "modfs.tgz" zeigt jetzt auf die neue Version)
- folgende Modifikationen (aka "modscripts") stehen im Archiv zur Verfügung (alle optional, also mit Abfrage vor der Anwendung), diese Liste wird künftig aktualisiert:
<<< Tabelle entfernt, steht weiter oben >>>
EDIT 14.02.2016:
Es gibt eine neue Version (0.3.2) von modfs, die Änderungen ggü. 0.3.1 sind hier beschrieben. Die Download-Links ändern sich entsprechend auf "modfs-0.3.2.tgz", der "aktuelle" Link "modfs.tgz" auf yourfritz.de zeigt ab sofort auf diese 0.3.2-Version. Der zwischenzeitlich mal eingeführte Link "modfs_with_06.35.tgz" wurde ersatzlos gestrichen.
EDIT 16.12.2015:
Für den Shell-Zugriff auf eine FRITZ!Box mit originaler Firmware (dieser Zugriff ist ja eine Voraussetzung für die Verwendung von modfs) gibt es jetzt ein neues Angebot von mir: modfs-Starter
EDIT 06.11.2015:
Über E-Mail wurde ich darauf aufmerksam gemacht, daß es nirgendwo explizit erwähnt ist, daß das modfs-Archiv auf einem Linux-System ausgepackt werden muß (gemeinhin eben auf der Box selbst) und nicht irgendwo anders. Ansonsten stimmt am Ende nichts mehr, von den Symlinks anhand der Hardware-Revision zu den richtigen Binaries für die Plattform (ja, ich weiß, in der veröffentlichten Version sind nur VR9-Boxen unterstützt, aber man kann ja mal überlegen, welche Modelle/Prozessoren es noch so geben könnte, daher dieser "indirekte Weg") bis zu den Dateirechten der Skripte.
Auch noch einmal der Hinweis, daß es (der Einfachheit halber schreibe ich jetzt: zwingend) erforderlich ist (zumindest ist es mehr als dringend anzuraten), einen USB-Stick mit einer Swap-Partition und einer Dateisystempartition mit ext2/ext3 (ggf. auch ext4, wenn die Box damit klarkommt) zu verwenden (bei allen Modellen außer der 7490 praktisch unumgänglich). Es gibt zwar theoretisch auch die Möglichkeit, eine "Containerdatei" per Loop-Device als Linux-FS zu benutzen, das klappt aber wohl nur auf Boxen mit ausreichendem Hauptspeicher (und damit wieder nur bei der 7490) zuverlässig.
Einige (unerklärliche) Phänomene haben sich jedenfalls in Wohlgefallen aufgelöst, wenn diese Voraussetzungen erfüllt waren, bei ganz speziellen Fällen ist dann noch ein "prepare_fwupgrade start_tr069" vor dem Aufruf von modfs erforderlich. Damit wird allerdings die Box teilweise heruntergefahren und nach getaner Arbeit ist dann ein Neustart unumgänglich - ohne "prepare_fwupgrade" kann man sich ja aussuchen, ob man mit "modfs undo" das Ganze praktisch ungeschehen macht ... auch ohne Neustart.
EDIT 30.10.2015:
Da ich mich hier aus dem IPPF zurückziehen will, habe ich eine E-Mail-Adresse (Postfach modfs in der Domain yourfritz.de) eingerichtet, über die künftig bei Fragen oder Problemen dann meinerseits der Kontakt laufen soll ... bitte sparsam benutzen, bei Mißbrauch gibt's (spätestens nach entsprechendem Hinweis meinerseits) auch den Eintrag im killfile.
EDIT 10.10.2015:
Thread-Titel geändert, da das ja lange nichts mehr mit 06.20 zu tun hat und die meisten Anwender es ohnehin eher zur Wiederbelebung des Telnet-Daemons benutzen.
EDIT 03.10.2015:
Die ältere Version, die sich mit der neueren AVM-Firmware "nicht auskennt", habe ich heute in "modfs_old.tgz" umbenannt (es gab noch keine Versionsnummer). Damit ist unter http://yourfritz.de/modfs.tgz kein Download mehr möglich, die anderen URLs bleiben gültig.
Bei der Verarbeitung der aktuellen Firmware-Images von AVM mit dem tar-Applet der von AVM verwendeten Busybox-Version (1.22.1) kommt es zu einer Fehlermeldung "tar: short read", die in Abhängigkeit von der Busybox-Version zu einem Exitcode von 1 (bei 1.22.1) oder 0 (bei mir mit 1.23.2) führt. Eine Anpassung des Skripts an dieses Problem nehme ich nicht vor, die einfachste Lösung besteht in der Korrektur der Archiv-Datei - wie das geht, steht in #305.
EDIT: 26.07.2015
Die neue Version unter der URL
http://yourfritz.de/modfs-0.3.1.tgz - neue Version 0.3.2 (s.o.), auch wenn der Link für 0.3.1 noch existiert
ist jetzt für folgende Szenarien bei der 7490 getestet:
Bei einem "Downgrade" über die Installation einer älteren Firmware-Version muß man sich selbst darum kümmern, daß die Einstellungen passen. Das Skript interessiert sich nur für den Kernel und das Wrapper-Filesystem mit dem dort enthaltenen Root-Filesystem.
Ab Version 0.3.1 (ich habe jetzt mit einer sichtbaren Nummerierung begonnen) unterstützt das Skript eine Protokollierung im Hintergrund. Die Einzelheiten dazu stehen in #190 in diesem Thread. Auch weitere Informationen (u.a. zu den jetzt enthaltenen squashfs-tools) sind dort zu finden.
EDIT: 15.07.2015
Die neue Version unter den URLs
http://yourfritz.de/modfs_with_0635.tgz oder
http://yourfritz.de/7490/modfs.tgz
hat jetzt auch Unterstützung des neuen AVM-Formats für den 06.35er-Zweig der Labor-Reihe zu bieten. Genaueres steht in #109 ... bitte genau lesen.
EDIT 08.06.2015:
Für die Reaktivierung des Telnet-Daemons wurde ein weiteres "modscript" hinzugefügt. Wenn man also auf eine AVM-Version ohne Telnet aktualisieren will, kann man mit dieser Modifikation den Telnet-Daemon auch wieder zum Leben erwecken ... jedenfalls solange er von AVM nur durch das Entfernen eines Symlinks deaktiviert wurde.
EDIT 11.05.2015:
Es besteht jetzt auch die Möglichkeit, mit "modfs" anstelle des GUI der FRITZ!Box ein Update mit gleichzeitiger Integration der eigenen Änderungen zu machen bzw. auch Labor-Versionen auf diese Weise zu installlieren, ohne daß in beiden Partitionen-Sets dasselbe System vorhanden sein muß. Damit bleibt ein Rückweg zur letzten Version offen ... genaueres dazu findet sich in #72 in diesem Thread.
Ausdrücklich werden zur Zeit nur die Modelle 7490, 7362SL, 3370, 3390 und 3490 unterstützt.
Wer das gerne aber mal auf einer 7272, 3272,3390 oder 3490 testen will, kann mich gerne dazu einladen, wenn er nicht klar kommen sollte.
Ich persönlich würde es gerne auf alle Boxen ausweiten, auf denen es technisch möglich ist ... ob es mit den vorstehend genannten Modellen funktioniert (theoretisch sollte es klappen), kann man aber nur durch Test feststellen. Solange ich nicht wenigstens einen erfolgreichen Versuch mit einer solchen Box vermelden kann, nehme ich die meinerseits nicht in die "HWRevision"-Liste im Skript auf.
EDIT: WICHTIG - Gerade unter dem Aspekt der oben beschriebenen Erweiterung um den "update"-Parameter sollte man sich das etwas genauer durchlesen und den unten stehenden "Quickstart" nur als Referenz nutzen. Wenn man das Skript im "update"-Modus benutzt, kann man einerseits das bisher verwendete System in der dann inaktiven Partition "aufheben" und bei Problemen einfach wieder auf dieses System umschalten und andererseits wird aus dem "Mehrzüger" bei einem Update ein einzelner Durchlauf. Das macht es weitaus einfacher (in meinen Augen) und die unten stehende Anleitung berücksichtigt das nur unzureichend.
tl;dr
Eigene Kommandos (debug.cfg/rc.user) reaktivieren (für passende VR9-basierte Boxen) als "Einzeiler":
ab 0.3.2 gibt es keine "automatischen" Änderungen mehr in der Download-Datei, der Einzeiler:
bleibt zwar gültig, aber jetzt wird jede Änderung "abgefragt" und auch die debug.cfg/rc.user nicht mehr automatisch aktiviert (es gibt andere - imho bessere und sicherere - Wege).
Wenn man die Fragen nach den zusätzlichen Modifikationen alle mit 'n' beantwortet, wird nur die Abarbeitung der Kommandos in der 'alten debug.cfg' wieder aktiviert.
Sollte die Box zwei verschiedene Firmware-Versionen enthalten, ist zwischendurch noch ein Neustart erforderlich, nach dem man dann noch einmal von vorne beginnen muß.
Wer sich das lieber vorher ansehen will, benutzt
und liest sich zumindest die README-Datei einmal durch (README.ger versucht die Erklärung in deutsch zu geben). UPDATE 14.02.2015 -> Die README-Datei ist uralt ... irgendwann schaffe ich es bestimmt mal, da eine passende README.md für das GitHub-Repo zu schreiben - im Moment hilft es nur, wenigstens die hier in #1 verlinkten Beiträge in chronologischer Folge zu lesen, wenn man die Änderungen in der "Bedienung" (und in den gebotenen Möglichkeiten) nachvollziehen will.
Ansonsten die "Langform":
Ich habe das eher komplizierte Vorgehen (6 Kommandos in Abhängigkeit vom vorherigen Ergebnis) beim direkten Reaktivieren der rc.user-Abarbeitung (vielleicht besser bekannt als 'debug.cfg') überarbeitet und es auch auf einem weiteren Modell (einer 7362SL) zum Laufen bekommen.
Diese neue Version (alles nur Shell-Code, mit Ausnahme der squashfs-Tools zum Entpacken/Packen der Images) steht unter der Adresse
http://yourfritz.de/modfs.tgz
als komprimiertes tar-Archiv bereit. Im Paket ist eine Beschreibung (README-Datei) enthalten, bei Problemen bitte erst dort lesen.
Außerdem erfolgt die Abarbeitung der einzelnen Schritte jetzt "im Dialog" mit dem Benutzer und es gibt eine Version mit einem deutschen Interface.
Zusätzlich gibt es jetzt auch noch eine (optionale) Modifikation des AVM-GUI, die direkt beim Neustart der Box die Auswahl des "anderen Systems" auf einem "dual boot"-System ermöglicht.
Anhang anzeigen 77880
An der prinzipiellen Vorgehensweise hat sich gegenüber dieser Beschreibung nicht so sehr viel geändert, nur das "Benutzerinterface" wurde vollkommen umgekrempelt. Auf einer 7490 läuft es auch ohne USB-Speicher, auf einer 7362SL oder 3370 wird zusätzlich ein USB-Speicher mit ca. 256MB freiem Speicherplatz benötigt (da ist ein "Sicherheitsaufschlag" schon eingerechnet). Der USB-Speicher muß angesteckt sein, da fehlt noch ein entsprechender Test im Skript, baue ich mit der nächsten Erweiterung für ein anderes Modell dann ein.
Nach neuen Erkenntnissen muß auch vorher wenigstens auf die Version 06.20 aktualisiert werden (konkret per "Update" und nicht per "Recovery"), damit der "dual boot"-Mechanismus auch wirklich benutzt wird ... der ist nicht immer aktiviert und wird vom AVM-Update auch nur simpel durch das Schreiben der "linux_fs_start"-Variablen aktiviert.
Folgende Modelle könnten wahrscheinlich ebenfalls funktionieren: 7272, 3272, 3390,3490(geklärt 17.06.2015, 3490 funktioniert)
Wer im Besitz einer der erwähnten Boxen ist und sich einen Test zutraut, ist hiermit herzlich dazu eingeladen. Sollte er/sie dabei Hilfe benötigen, stehe ich gerne per PN oder im IRC dafür zur Verfügung. Das Script muß aber vor dem Test modifiziert werden, zur Sicherheit werden ansonsten nur bereits getestete Modelle unterstützt.
Die 7360(SL) hat zwar ebenfalls einen VR9-Prozessor, aber offenbar auch nur 16MB-NOR-Flash wie die 7390. Da ihr damit auch der NAND-Flash der 7390 fehlt, wird sie in jedem Falle erst dann ein Thema, wenn das Modifizieren einer 7390 auch geklappt hat und auch dann wird dort wohl in jedem Fall ein zusätzlicher USB-Speicher benötigt.
Was ist nun als nächstes geplant ?
1.Ausbau des Skripts für den Einsatz bei NOR-Flash-basierten Geräten, zuerst der 7390; solange im NAND-Flash der Box genug freier Speicher vorhanden ist, sollten die ~50MB freier Hauptspeicher bei einer laufenden 7390 reichen, um die Modifikationen auszuführen und dann läuft es am Ende auch nur auf dieselbe Prozedur wie bei einem "externen" Image-Update hinaus ... allerdings gibt es dort eben "keinen Weg zurück". Diese Idee habe ich zwar tatsächlich realisiert, aber für die "Öffentlichkeit" wird es das nach reiflicher Überlegung nicht von mir geben. Die prinzipielle Vorgehensweise dürfte klar sein, die größte Herausforderung ist das Aufräumen nach dem Erstellen des Images (mksquashfs braucht auch viel Hauptspeicher) und das anschließende Bereitstellen des fertigen Images (zusammen mit dem notwendigen freien Hauptspeicher) im tmpfs, da es bei dieser Box nicht im NAND-Flash abgelegt werden kann, denn wenn man sich auf eine Analogie zum AVM-Skript /var/install einläßt und die notwendigen Kommandos an die /var/post_install anfügt, ist zu dem Zeitpunkt, wo der Kernel-Treiber zum Flashen geladen wird, das yaffs2-FS im NAND schon nicht mehr verfügbar.
2. ein Versuch, mit den FHEM-Leuten ein passendes "ModScript" für die Integration des FHEM-Servers in eine 7490 zu erstellen und damit den Leuten, die sich auch wegen des FHEM-Servers eine 7490 angeschafft haben, wieder die "normale" Funktion zu bieten - UPDATE: Das nachträgliche Installieren des FHEM ist möglich, die Unterstützung der FRITZ!Box-Version von fhem.de ist imho nur bedingt sinnvoll. Wenn dort jemand auf die Idee kommt, die alte libcrypto/libssl von OpenSSL wieder einzuspielen, damit FHEM SSL-Verbindungen unterstützt, dann wird damit eine neue Sicherheitslücke aufgerissen und das ist nun so gar nicht meins.
EDIT 18.06.2015
Da es inzwischen auch auf fhem.de gar kein Paket für die FRITZ!Box (ab Version 06.20) mehr gibt, das auch die - für mich bei so einem Projekt aus prinzipiellen Erwägungen unverzichtbare - SSL-Verschlüsselung mit OpenSSL > 1.0.0 unterstützt, würde das oben stehende das Erstellen eines kompletten eigenen FHEM-Paketes beinhalten ... das fällt für mich persönlich aus, ich nutze es ja gar nicht selbst. Wenn jemand ein solches Paket auch für Firmware ab 06.20 (mit SSL !) schnüren sollte und das verbreiten will, kann er sich gerne melden.
EDIT: Die Informationen zur 3390 liegen vor (danke an den Unterstützer), das ist auch ein Doppelprozessor VR9. Auch der Rest der Komponenten (die für den Zweck der Modifikation relevant sind) ist mit der 7362SL identisch, damit könnte man das auch mit der 3390 versuchen. Allerdings bringt auf der dort aktuellen Firmware (06.03) im Moment wohl nur das Nachrüsten des Dual-Boot-GUI wirklich etwas, debug.cfg usw. dürfte dort ooB noch funktionieren.
EDIT 18.06.2015:
Die Unterstützung der 3390 ist jetzt ebenfalls enthalten im Skript. Wie bei den anderen Modellen ohne Telefonie bleibt bei dieser (Kommandozeilen-)Version des Skripts die Herausforderung, erst einmal einen Telnet-Zugang zur Box zu erhalten.
EDIT 18.11.2014
Dank der Hilfe von Lebedev ist es inzwischen auch auf der 3370 getestet.
Wie komme ich zu einem Shell-Zugang in einer FRITZ!Box, wenn ich noch die originale AVM-Firmware (ab 06.5x) installiert habe und das alte "modfs-Starter"-Image damit nicht verwenden kann? Hier nachlesen: https://www.ip-phone-forum.de/threa...ierte-fritz-boxen.273304/page-71#post-2269839
EDIT 27.09.2016:
Version 0.4.0 mit Abfrage der aktuellen Version beim Hersteller und Prüfung der Signatur von verwendeten Firmware-Images, damit man besser gegen eventuell manipulierte Quellen gewappnet ist ... man kann ja immer wieder im entsprechenden Thread die Suche nach alten Firmware-Images mitverfolgen und wenn AVM jetzt eine striktere Prüfung der Signatur vornimmt, dann sollte man da nicht abseits stehen (zumindest will ich das nicht, überspringen darf der Benutzer die Prüfung immer noch, das bleibt seine Entscheidung). Außerdem ist jetzt eine Möglichkeit des Debuggens (eher als "trace") von "modscripts" eingebaut (MODFS_DEBUG_SHELL=1 im Environment sorgt für die Erzeugung der Datei /var/tmp/modfs_debug_shell.log).
EDIT 09.09.2016:
AVM hat seit der Laborversion 113.06.69-40929 (bei der 7490, da ist es zuerst zu finden für mich) das Mounten von USB-Volumes abgeändert, dort wird jetzt mit der Option "noexec" gearbeitet. In der Folge sind von dort keine Programme mehr auszuführen - der interne NAND-Flash (auch kleinere Modelle haben den ja, wenn auch mit weniger Platz, aber für das Auspacken von "modfs" sollte es eigentlich immer reichen) steht aber immer noch zur Verfügung, ansonsten muß man entweder "/var" (tmpfs, volatil) dafür nehmen oder die Volumes anders mounten, bevor man "modfs" ausführen will.
EDIT 19.07.2016:
Dank des Tests durch @qwertz.asdfgh (http://www.ip-phone-forum.de/showthread.php?t=273304&p=2171420&viewfull=1#post2171420) wurde die 7430 in die Liste der erfolgreich getesteten Modelle aufgenommen und gleich noch ein "universelles unsquashfs-Utility" hinzugefügt (das wird aber im Moment nicht direkt in modfs verwendet, weil ja eine funktionierende Versionserkennung für SquashFS-Images implementiert ist).
EDIT 24.03.2016:
Es gibt eine neue Version 0.3.4 - da erfolgt jetzt der "feature freeze", nachdem noch ein Skript zur initialen Anzeige des FRITZ!Box-Namens anstelle des FRITZ!Box-Typs im GUI (HTML-title-Tag und Kopfzeile der Anzeige im neuen Design) hinzugekommen ist. Weiterhin wurde in dieser Version jetzt das Erstellen der Protokoll-Datei (Ringpuffer mit max. 64 KB Größe im tmpfs) zur Standardeinstellung auserkoren, wer es ausschalten will, muß "MODFS_DEBUG=0" als Umgebungsvariable beim Aufruf setzen. Die Ausgabe der Protokolldatei erfolgt weiterhin mit "showshringbuf modfs" und kann in eine Datei umgeleitet werden, wenn man dieses Protokoll einer Fehlermeldung bzgl. "modfs" hinzufügen will.
Ansonsten sei für weitere vorgenommene Änderungen auf das GitHub-Repo und die Liste der Commits verwiesen, einiges dazu steht allerdings auch in #589 (nach dem "Aktualisiert") seit der ersten Änderung zur 0.3.4 hin.
Seit dem 13.03.2016 gibt es von @eisbaerin einen neuen Thread, in dem die hier verstreuten Informationen zur Benutzung von "modfs" (weil eben organisch über 18 Monate gewachsen) zusammengefaßt werden. Wer also keine Lust hat, sich durch diesen Thread hier zu graben, der sollte erst einmal dort nachlesen.
Bleiben dann noch Fragen offen, bitte hier noch einmal lesen (zumindest die von diesem Beitrag aus direkt verlinkten Einträge) und erst dann (bitte, bitte - wiederholte Fragen und wiederholte Antworten machen es Euren Nachfolgern als Leser dann noch schwerer, aus einer Suchabfrage die richtigen Ergebnisse herauszufiltern und genauso wenig, wie es Spaß macht, dieselben Antworten mehrfach zu geben, genauso wenig habe ich persönlich Vergnügen daran, immer wieder auf bereits vorhandene Antworten zu verweisen, wenn Fragen wiederholt gestellt werden) seine eigenen Fragen formulieren.
Damit will ich um Himmels Willen auch niemanden davon abhalten, seine Fragen zu stellen ... wenn er es sich wirklich richtig überlegt hat und tatsächlich die passende Antwort noch nicht existiert. Aber nur so aus Spaß an der Freude und weil er keine Lust hat, sich durch diesen Thread zu graben (daher ja der Versuch, das zusammenzufassen im Thread von @eisbaerin), muß ja nicht automatisch jeder seine eigene persönliche Antwort auf bereits bekannte und beantwortete Fragen erwarten.
Die Verwendung von "modfs" braucht (meiner Meinung nach) keine speziellen Kenntnisse, aber Basiswissen in Bezug auf die Bedienung der Kommandozeile (Shell) von Linux-Systemen (dazu gehören auch die "Standardkommandos") kann es derzeit dem Anwender noch nicht abnehmen. Es soll nur dazu dienen, die bei der Verwendung von Freetz automatisch bestehende Notwendigkeit, einen PC und eine ausgewachsene Linux-Installation (egal ob als VM oder "bare metal") verwenden zu müssen, eine Nummer kleiner ausfallen zu lassen und die Hardware-Voraussetzungen für das Ändern der FRITZ!OS-Versionen von AVM (bei den unterstützten Modellen, denn wenn die Hardware das Prinzip nicht bietet, kann auch "modfs" nichts daran ändern) auf das Vorhandensein einer passenden FRITZ!Box zu reduzieren. Die Notwendigkeit, sich Kenntnisse zum Umgang mit Linux anzueignen, kann und soll "modfs" seinen Nutzern aber nicht abnehmen und für derartiges Basiswissen gibt es tatsächlich im Internet genug andere und wesentlich kompetentere (weil auch didaktisch bessere) Quellen.
Auch das soll also dieser Thread eigentlich nicht leisten ... wenn jemand (als Beispiel) mit der Bedienung des "vi" als Editor nicht klarkommt, muß/soll er einen anderen nehmen (der vi ist aber der einzige, der auch in "stock firmware" verfügbar ist) oder sich die Bedienung erarbeiten (anhand von Internet-Quellen). Es ist ein erheblicher Unterschied, ob jemand die Frage stellt: "Wie bedient man denn den vi eigentlich?" oder ob sie lautet: "Wie verwende ich den vi richtig, um eine Datei im TFFS der FRITZ!Box zu bearbeiten?". Ersteres hat mit der FRITZ!Box gar nichts zu tun (und erst recht nicht mit "modfs") und zweiteres paßt wenigstens noch zur FRITZ!Box ... auch wenn das ebenfalls schon mehrfach durchdiskutiert wurde und damit als Frage auch nicht auftauchen sollte.
Genug der "Grundsatzfragen" ... viel Erfolg beim Einsatz von "modfs". Ich hatte es mal angefangen als ein Beispiel, wie man auch ohne die Verwendung eines "großen Linux-Systems" sich die Firmware von AVM in kleinen Details, die sonst immer nur auf irgendwelchen Wunschzetteln zu finden sind, so anpassen kann, wie man es möchte ... auch heute noch ist es eigentlich kein Problem, damit "iterative Änderungen" auszuführen. Ich nutze das selbst oft genug, um eigene kleine Änderungen erst einmal auszuprobieren und sie dann - wenn sie funktionieren - einfach in das bestehende System zu integrieren, ohne all die anderen Änderungen erneut vornehmen zu müssen. Das erfordert zwar eine halbwegs sinnvolle "Liste", was man da nun wie geändert hat (damit man es beim nächsten "Komplett-Update" mit neuer Firmware vom Hersteller wieder nachziehen kann), aber so eine Liste kann auch ein Verzeichnis mit entsprechenden "patch"-Files sein, die man einfach alle erneut anwenden läßt beim Update auf eine neue Version. Die Richtung, in die sich das jetzt entwickelt hat in den vergangenen 18 Monaten paßt mir zwar nicht in allen Punkten, aber ich gebe es auch auf, mich dagegen zu wehren, daß es mehr als "fertige Lösung" denn als Werkzeug zur Realisierung einer eigenen Lösung angesehen wird.
-Folgende Modifikationen sind mit den Skript-Dateien aus dem GitHub-Repository (https://github.com/PeterPawn/modfs) möglich, das ist auch der aktuelle Stand, der in der Datei unter http://yourfritz.de/modfs.tgz enthalten ist:
Dateiname | vor 06.36 | ab 06.36 | Inhalt |
copy_binaries | X | X | entpackt den Inhalt der (mit gzip komprimierten) Archiv-Datei "binaries_major_version_kernel_version.tgz" in das Zieldateisystem, für eine 7490 mit 06.51 wäre der Dateiname dann "binaries_113_3.10.73.tgz", hier kann man praktisch alles an Dateien zusammenpacken, was man regelmäßig in der Firmware austauschen oder hinzufügen will |
dectcmds.modscript | X | X | Ausführen von Kommandos mit dem Media-Player der FRITZ!Fon-Geräte, siehe hier, ist standardmäßig abgeschaltet im modfs |
edit_rcuser | X | X | Bearbeiten der rc.user/debug.cfg durch den Aufruf von "edit_rcuser", das sich als Shell-Skript um alle Besonderheiten beim Editieren von TFFS-Dateien kümmmert - braucht man nicht, wenn man "mod_rc_tail_sh" nicht einbauen läßt |
gui_boot_manager_v0.2 | X | X | Auswahl der System-Version und des Brandings in der "Neustart"-Seite des AVM-GUI |
mod_custom_images | X | X | Einbinden von zusätzlicher Software, die in Form von Dateisystem-Images irgendwo auf der FRITZ!Box liegen kann, vom yaffs2-Dateisystem unter /wrapper über den eingebauten NAND-Flash unter /var/media/ftp (selbst die 7412 hat da > 15 MB frei) bis zu einem USB-Speicher; die Beschreibung, wie solche Images aussehen müssen und was man mit dem durch diese Modifikation in die Firmware eingebauten Skript noch alles machen kann, findet sich in diesem Beitrag |
mod_default_show_mac | - | X | Anzeige der Heimnetzverbindungen ab 06.50 mit der MAC-Adresse, auch ohne diese erst bei den sichtbaren Spalten aktivieren zu müssen |
mod_enable_telnet | X | X | Anlegen des Symlinks für den Telnet-Daemon in der AVM-Busybox, das startet diesen Daemon aber noch nicht ... das wird weiterhin über die AVM-Firmware (z.B. die Telefoncodes) geregelt; allerdings gibt es (bei mir) einen Bug, der wiederholtes Ein-/Ausschalten etwas schwierig macht, ob der generell auftritt, weiß ich nicht genau |
mod_leddisplay | - | X | fügt den Tab zur Steuerung der LED-Anzeigen in das Menü ein und der "led_display.lua" die Option zum verzögerten Abschalten hinzu |
mod_mount_by_label | X | X | aktiviert das Mounten von USB-Volume unter deren Bezeichnung (Label) anstelle des kryptischen Herstellers aus dem USB-Namen ... unter Versionen vor 06.36 wird eigener Code eingefügt und ab dieser Version nur der AVM-Test auf die Einstellung "volume_labels=yes" in der usb.cfg fest durch die Angabe "yes" ersetzt |
mod_prefer_fonnumber_name | - | X | zeigt in der Anrufliste zusätzlich den Namen an, der einer Telefonnummer zugewiesen wurde (wie in der Push-Mail), gerade bei vielen Nummern (ich habe alleine 10 MSNs am ISDN und dann kommen noch SIP-Nummern dazu) kann man nicht jede sofort anhand der Ziffern richtig einordnen |
mod_profile | X | X | wenn eine Datei /var/custom/etc/profile (Achtung, abweichender Pfad ggü. früheren Versionen) existiert, wird sie am Ende der /etc/profile bei einem Login in die FRITZ!Box ebenfalls abgearbeitet |
mod_rc_tail_sh | X | X | fügt die Ausführung der Kommandos im TFFS-Node 98 (debug.cfg bzw. bei mir rc.user genannt) wieder hinzu, die bei AVM ab Version 06.20 abgeschafft wurde - zum Editieren der Datei sollte man (außer man weiß genau, was da geht) die o.a. Modifikation "edit_rcuser" verwenden; damit auch eine leere Datei "rc.user" ein sichtbares Ergebnis nach der Modifikation liefert, wird in eine leere Datei ein Kommando für einen Eintrag im Eventlog der Box geschrieben, ist die Datei bereits mit Inhalt versehen, wird sie nicht angefaßt |
mod_show_name | - | X | zeigt den Namen der FRITZ!Box anstelle des Gerätetyps in der Kopfzeile des GUI (umschaltbar durch Linksklick) und im HTML-title-Attribut der Seite (fix) an, hilft den Überblick zu behalten, wenn man mehrere Boxen desselben Typs zu verwalten hat |
mod_show_vpn_on_overview | - | X | fügt der Übersicht wieder die Anzeige der vorhandenen, aktivierten und verbundenen VPN-Peers hinzu, inkl. Link zur Liste für den schnellen Zugriff auf die VPN-Verbindungen |
template | X | X | ist standardmäßig deaktiviert und soll als Referenz für eigene Versuche dienen, auf welche Einstellungen/Umgebungsvariablen ein solches "modscript" zugreifen kann |
yourfritz_hooks | X | X | ist ebenfalls standardmäßig deaktiviert und baut in diverse AVM-Skripte für den System-Start und einen Reboot zusätzliche Anweisungen ein, mit denen eigene Erweiterungen über bestimmte Ereignisse informiert werden können - diese Änderungen sind so angelegt, daß sie immer erst abfragen, ob entsprechende Erweiterungen vorhanden/aktiv sind, bevor sie etwas auszuführen versuchen ... daher sind sie "unschädlich", solange solche Erweiterungen nicht installiert sind |
-
Ich würde also darum bitten, bei der Beschreibung von Fehlern weniger auf Prosa zu setzen (auch wenn natürlich die Protokollierung alleine auch kein Allheilmittel ist) und stattdessen eher die Ausgabe von "showshringbuf modfs" als Datei an so eine Meldung anzuhängen ... das spart auch einige Rückfragen. Danke.
EDIT 18.02.2016:
Es gibt schon die nächste Version, jetzt zieht aber erst einmal wieder Ruhe ein.
- Änderungen ggü. 0.3.2 stehen hier
- der Umzug in Richtung GitHub ist komplett, hier findet man das Repository: https://github.com/PeterPawn/modfs
- der Download eines gepackten tar-Files für das ganze Paket direkt auf die Box wäre von http://yourfritz.de/modfs-0.3.3.tgz möglich (auch der "aktuelle" Link "modfs.tgz" zeigt jetzt auf die neue Version)
- folgende Modifikationen (aka "modscripts") stehen im Archiv zur Verfügung (alle optional, also mit Abfrage vor der Anwendung), diese Liste wird künftig aktualisiert:
<<< Tabelle entfernt, steht weiter oben >>>
EDIT 14.02.2016:
Es gibt eine neue Version (0.3.2) von modfs, die Änderungen ggü. 0.3.1 sind hier beschrieben. Die Download-Links ändern sich entsprechend auf "modfs-0.3.2.tgz", der "aktuelle" Link "modfs.tgz" auf yourfritz.de zeigt ab sofort auf diese 0.3.2-Version. Der zwischenzeitlich mal eingeführte Link "modfs_with_06.35.tgz" wurde ersatzlos gestrichen.
EDIT 16.12.2015:
Für den Shell-Zugriff auf eine FRITZ!Box mit originaler Firmware (dieser Zugriff ist ja eine Voraussetzung für die Verwendung von modfs) gibt es jetzt ein neues Angebot von mir: modfs-Starter
EDIT 06.11.2015:
Über E-Mail wurde ich darauf aufmerksam gemacht, daß es nirgendwo explizit erwähnt ist, daß das modfs-Archiv auf einem Linux-System ausgepackt werden muß (gemeinhin eben auf der Box selbst) und nicht irgendwo anders. Ansonsten stimmt am Ende nichts mehr, von den Symlinks anhand der Hardware-Revision zu den richtigen Binaries für die Plattform (ja, ich weiß, in der veröffentlichten Version sind nur VR9-Boxen unterstützt, aber man kann ja mal überlegen, welche Modelle/Prozessoren es noch so geben könnte, daher dieser "indirekte Weg") bis zu den Dateirechten der Skripte.
Auch noch einmal der Hinweis, daß es (der Einfachheit halber schreibe ich jetzt: zwingend) erforderlich ist (zumindest ist es mehr als dringend anzuraten), einen USB-Stick mit einer Swap-Partition und einer Dateisystempartition mit ext2/ext3 (ggf. auch ext4, wenn die Box damit klarkommt) zu verwenden (bei allen Modellen außer der 7490 praktisch unumgänglich). Es gibt zwar theoretisch auch die Möglichkeit, eine "Containerdatei" per Loop-Device als Linux-FS zu benutzen, das klappt aber wohl nur auf Boxen mit ausreichendem Hauptspeicher (und damit wieder nur bei der 7490) zuverlässig.
Einige (unerklärliche) Phänomene haben sich jedenfalls in Wohlgefallen aufgelöst, wenn diese Voraussetzungen erfüllt waren, bei ganz speziellen Fällen ist dann noch ein "prepare_fwupgrade start_tr069" vor dem Aufruf von modfs erforderlich. Damit wird allerdings die Box teilweise heruntergefahren und nach getaner Arbeit ist dann ein Neustart unumgänglich - ohne "prepare_fwupgrade" kann man sich ja aussuchen, ob man mit "modfs undo" das Ganze praktisch ungeschehen macht ... auch ohne Neustart.
EDIT 30.10.2015:
Da ich mich hier aus dem IPPF zurückziehen will, habe ich eine E-Mail-Adresse (Postfach modfs in der Domain yourfritz.de) eingerichtet, über die künftig bei Fragen oder Problemen dann meinerseits der Kontakt laufen soll ... bitte sparsam benutzen, bei Mißbrauch gibt's (spätestens nach entsprechendem Hinweis meinerseits) auch den Eintrag im killfile.
EDIT 10.10.2015:
Thread-Titel geändert, da das ja lange nichts mehr mit 06.20 zu tun hat und die meisten Anwender es ohnehin eher zur Wiederbelebung des Telnet-Daemons benutzen.
EDIT 03.10.2015:
Die ältere Version, die sich mit der neueren AVM-Firmware "nicht auskennt", habe ich heute in "modfs_old.tgz" umbenannt (es gab noch keine Versionsnummer). Damit ist unter http://yourfritz.de/modfs.tgz kein Download mehr möglich, die anderen URLs bleiben gültig.
Bei der Verarbeitung der aktuellen Firmware-Images von AVM mit dem tar-Applet der von AVM verwendeten Busybox-Version (1.22.1) kommt es zu einer Fehlermeldung "tar: short read", die in Abhängigkeit von der Busybox-Version zu einem Exitcode von 1 (bei 1.22.1) oder 0 (bei mir mit 1.23.2) führt. Eine Anpassung des Skripts an dieses Problem nehme ich nicht vor, die einfachste Lösung besteht in der Korrektur der Archiv-Datei - wie das geht, steht in #305.
EDIT: 26.07.2015
Die neue Version unter der URL
ist jetzt für folgende Szenarien bei der 7490 getestet:
von Version | auf Version | Parameter | Kommentar |
06.24 | 06.24 | - | z.B. zur Reaktivierung der debug.cfg/rc.user |
06.24 | 06.29 | update filename | nur noch mit vorhandener Datei möglich |
06.24 | 06.30 | update | mit Download der 06.30 vom AVM-Server, wenn eine Internet-Verbindung besteht (nach Pseudo-Update beachten!) |
06.24 | 06.30 | update filename | mit vorher geladener Datei, nach Pseudo-Update ohne Reaktivierung des dsld erforderlich |
06.24 | 06.35 | update filename | mit vorher geladener und entpackter ZIP-Datei der Laborversion |
06.29 | 06.30 | update | mit Download der 06.30 vom AVM-Server, wenn eine Internet-Verbindung besteht (nach Pseudo-Update beachten!) |
06.29 | 06.30 | update filename | mit vorher geladener Image-Datei der Release-Version |
06.30 | 06.30 | - | z.B. zur Reaktivierung der debug.cfg/rc.user oder des Telnet-Daemons |
06.30 | 06.35 | update filename | mit vorher geladener und entpackter ZIP-Datei der Laborversion |
06.35 | 06.35 | - | z.B. zum nachträglichen Aktivieren der rc.user und/oder des Telnet-Daemons |
06.35 | 06.35 | update filename | mit vorher geladener und entpackter ZIP-Datei einer (ggf. neuen) Laborversion |
06.35 | 06.2x/06.30 | update filename | mit vorher geladenem Firmware-Image einer älteren Version |
Ab Version 0.3.1 (ich habe jetzt mit einer sichtbaren Nummerierung begonnen) unterstützt das Skript eine Protokollierung im Hintergrund. Die Einzelheiten dazu stehen in #190 in diesem Thread. Auch weitere Informationen (u.a. zu den jetzt enthaltenen squashfs-tools) sind dort zu finden.
EDIT: 15.07.2015
Die neue Version unter den URLs
http://yourfritz.de/modfs_with_0635.tgz oder
http://yourfritz.de/7490/modfs.tgz
hat jetzt auch Unterstützung des neuen AVM-Formats für den 06.35er-Zweig der Labor-Reihe zu bieten. Genaueres steht in #109 ... bitte genau lesen.
EDIT 08.06.2015:
Für die Reaktivierung des Telnet-Daemons wurde ein weiteres "modscript" hinzugefügt. Wenn man also auf eine AVM-Version ohne Telnet aktualisieren will, kann man mit dieser Modifikation den Telnet-Daemon auch wieder zum Leben erwecken ... jedenfalls solange er von AVM nur durch das Entfernen eines Symlinks deaktiviert wurde.
EDIT 11.05.2015:
Es besteht jetzt auch die Möglichkeit, mit "modfs" anstelle des GUI der FRITZ!Box ein Update mit gleichzeitiger Integration der eigenen Änderungen zu machen bzw. auch Labor-Versionen auf diese Weise zu installlieren, ohne daß in beiden Partitionen-Sets dasselbe System vorhanden sein muß. Damit bleibt ein Rückweg zur letzten Version offen ... genaueres dazu findet sich in #72 in diesem Thread.
Ausdrücklich werden zur Zeit nur die Modelle 7490, 7362SL, 3370, 3390 und 3490 unterstützt.
Wer das gerne aber mal auf einer 7272, 3272,
Ich persönlich würde es gerne auf alle Boxen ausweiten, auf denen es technisch möglich ist ... ob es mit den vorstehend genannten Modellen funktioniert (theoretisch sollte es klappen), kann man aber nur durch Test feststellen. Solange ich nicht wenigstens einen erfolgreichen Versuch mit einer solchen Box vermelden kann, nehme ich die meinerseits nicht in die "HWRevision"-Liste im Skript auf.
EDIT: WICHTIG - Gerade unter dem Aspekt der oben beschriebenen Erweiterung um den "update"-Parameter sollte man sich das etwas genauer durchlesen und den unten stehenden "Quickstart" nur als Referenz nutzen. Wenn man das Skript im "update"-Modus benutzt, kann man einerseits das bisher verwendete System in der dann inaktiven Partition "aufheben" und bei Problemen einfach wieder auf dieses System umschalten und andererseits wird aus dem "Mehrzüger" bei einem Update ein einzelner Durchlauf. Das macht es weitaus einfacher (in meinen Augen) und die unten stehende Anleitung berücksichtigt das nur unzureichend.
tl;dr
ab 0.3.2 gibt es keine "automatischen" Änderungen mehr in der Download-Datei, der Einzeiler:
Code:
mkdir -p /var/mod;cd /var/mod;wget -qO- http://yourfritz.de/modfs.tgz | gunzip -c | tar x;./modfs
Sollte die Box zwei verschiedene Firmware-Versionen enthalten, ist zwischendurch noch ein Neustart erforderlich, nach dem man dann noch einmal von vorne beginnen muß.
Wer sich das lieber vorher ansehen will, benutzt
Code:
mkdir -p /var/mod;cd /var/mod;wget -qO- http://yourfritz.de/modfs.tgz | gunzip -c | tar x
Ansonsten die "Langform":
Ich habe das eher komplizierte Vorgehen (6 Kommandos in Abhängigkeit vom vorherigen Ergebnis) beim direkten Reaktivieren der rc.user-Abarbeitung (vielleicht besser bekannt als 'debug.cfg') überarbeitet und es auch auf einem weiteren Modell (einer 7362SL) zum Laufen bekommen.
Diese neue Version (alles nur Shell-Code, mit Ausnahme der squashfs-Tools zum Entpacken/Packen der Images) steht unter der Adresse
http://yourfritz.de/modfs.tgz
als komprimiertes tar-Archiv bereit. Im Paket ist eine Beschreibung (README-Datei) enthalten, bei Problemen bitte erst dort lesen.
Außerdem erfolgt die Abarbeitung der einzelnen Schritte jetzt "im Dialog" mit dem Benutzer und es gibt eine Version mit einem deutschen Interface.
Zusätzlich gibt es jetzt auch noch eine (optionale) Modifikation des AVM-GUI, die direkt beim Neustart der Box die Auswahl des "anderen Systems" auf einem "dual boot"-System ermöglicht.
Anhang anzeigen 77880
An der prinzipiellen Vorgehensweise hat sich gegenüber dieser Beschreibung nicht so sehr viel geändert, nur das "Benutzerinterface" wurde vollkommen umgekrempelt. Auf einer 7490 läuft es auch ohne USB-Speicher, auf einer 7362SL oder 3370 wird zusätzlich ein USB-Speicher mit ca. 256MB freiem Speicherplatz benötigt (da ist ein "Sicherheitsaufschlag" schon eingerechnet). Der USB-Speicher muß angesteckt sein, da fehlt noch ein entsprechender Test im Skript, baue ich mit der nächsten Erweiterung für ein anderes Modell dann ein.
Nach neuen Erkenntnissen muß auch vorher wenigstens auf die Version 06.20 aktualisiert werden (konkret per "Update" und nicht per "Recovery"), damit der "dual boot"-Mechanismus auch wirklich benutzt wird ... der ist nicht immer aktiviert und wird vom AVM-Update auch nur simpel durch das Schreiben der "linux_fs_start"-Variablen aktiviert.
Folgende Modelle könnten wahrscheinlich ebenfalls funktionieren: 7272, 3272, 3390,
Wer im Besitz einer der erwähnten Boxen ist und sich einen Test zutraut, ist hiermit herzlich dazu eingeladen. Sollte er/sie dabei Hilfe benötigen, stehe ich gerne per PN oder im IRC dafür zur Verfügung. Das Script muß aber vor dem Test modifiziert werden, zur Sicherheit werden ansonsten nur bereits getestete Modelle unterstützt.
Die 7360(SL) hat zwar ebenfalls einen VR9-Prozessor, aber offenbar auch nur 16MB-NOR-Flash wie die 7390. Da ihr damit auch der NAND-Flash der 7390 fehlt, wird sie in jedem Falle erst dann ein Thema, wenn das Modifizieren einer 7390 auch geklappt hat und auch dann wird dort wohl in jedem Fall ein zusätzlicher USB-Speicher benötigt.
Was ist nun als nächstes geplant ?
1.
EDIT 18.06.2015
Da es inzwischen auch auf fhem.de gar kein Paket für die FRITZ!Box (ab Version 06.20) mehr gibt, das auch die - für mich bei so einem Projekt aus prinzipiellen Erwägungen unverzichtbare - SSL-Verschlüsselung mit OpenSSL > 1.0.0 unterstützt, würde das oben stehende das Erstellen eines kompletten eigenen FHEM-Paketes beinhalten ... das fällt für mich persönlich aus, ich nutze es ja gar nicht selbst. Wenn jemand ein solches Paket auch für Firmware ab 06.20 (mit SSL !) schnüren sollte und das verbreiten will, kann er sich gerne melden.
EDIT 18.06.2015:
Die Unterstützung der 3390 ist jetzt ebenfalls enthalten im Skript. Wie bei den anderen Modellen ohne Telefonie bleibt bei dieser (Kommandozeilen-)Version des Skripts die Herausforderung, erst einmal einen Telnet-Zugang zur Box zu erhalten.
EDIT 18.11.2014
Dank der Hilfe von Lebedev ist es inzwischen auch auf der 3370 getestet.
Zuletzt bearbeitet: