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

Jetzt muss ich wohl mit SIAB beschäftigen. Muss paar extra Einstellungen vornehmen per SSH oder eben telnet.

Gibts eine gute howto für SiaB?
 
Zuletzt bearbeitet:
https://www.ip-phone-forum.de/threads/modfs-squashfs-image-avm-firmware-ändern-für-nand-basierte-fritz-boxen.273304/page-71#post-2269839

https://www.ip-phone-forum.de/threa...la-avm-oder-besser-nicht.294386/#post-2268717

Bei Problemen, wo Skript-Dateien nicht funktionieren oder Binärdateien auf dem eigenen System fehlen:

https://www.ip-phone-forum.de/threads/fritz-box-7580-firmware-153-06-90-telnet-service-freischalten-geht-auch-für-7560-und-7590.296678/ (besonders die ersten Absätze und der Teil, wo es um "sh", "dash", "bash" geht)

Oder eben die Inhouse-Version von AVM ... wenn das FRITZ!OS irgendwann mal als Stable-Release rauskommt in Version 7 und da ist dann der Start-/Stop-Mechanismus im "ctlmgr" für SIAB weiterhin enthalten und es gibt die notwendigen Dateien, um passende Binaries für die neue C-Library zu erzeugen, kann man auch darüber nachdenken, den Start über den AVM-Code in der "support.lua" laufen zu lassen - aber "ins System" muß man die SIAB-Datei(en) dann ja immer noch irgendwie kriegen ... da wird sich also (bei VR9) an dieser Stelle nicht so viel ändern (können).
 
  • Like
Reaktionen: LaCruz
Hallo Leute,

frage kann mann über telnet diese Labor Version FRITZ.Box_7490_Labor.113.06.98-55964.image einspielen?
habe das mit diesem befehl probiert:

mkdir -p /var/mod;cd /var/mod;wget -qO- http://yourfritz.de/7490/modfs.tgz | gunzip -c | tar x;./modfs update FRITZ.Box_7490_Labor.113.06.98-55964.image

so geht es nicht.

Ist generell das mit labor versionen nicht möglich oder was mache ich falsch?

Danke
 
Irgendwo in #1 ist u.a. verlinkt, wie man das Debug-Log findet, das von "modfs" automatisch erstellt wird. Erst mit dem kann man dann sehen, was Du falsch machst.
 
Hallo PeterPawn,

bekomme das als Fehler:

Die angegebene Datei 'FRITZ.Box_7490_Labor.113.06.98-55964.image' ist nicht vorhanden oder kein gültiges Firmware-Image.
 
Hast Du das *.image auch in das Verzeichnis kopiert? Mit ./modfs update wird es imselben Verzeichnis gesucht, entpackt usw.
LG
 
Hi Micha0815

tja nun werde ich gleich ausgelacht werden.

wie mache ich das?

Bisher habe ich keine laborversionen installiert, sonder immer nur diesen befehl über telnet ausgefürt:

mkdir -p /var/mod;cd /var/mod;wget -qO- http://yourfritz.de/7490/modfs.tgz | gunzip -c | tar x;./modfs update
 
Das einfachste dürfte das interne NAS sein. Das liegt imho unter /var/media/ftp Von dort kannst Du das image dann nach /var/mod kopieren.
LG
 
Hi Micha0815

danke erstmal, aber wenn ich das nas über firefox öffne bekomme ich nur unter interne speicher folgende ordner angezeigt:

Bilder,Dokumente,fritz,musik,tsb,videos angezeigt.

Sorry
 
Wenn Du das Image über die NAS-Funktionen speicherst (das wäre dann "parallel" zu den von Dir genannten Verzeichnissen), dann brauchst Du den Image-Namen auch nur als "/var/media/ftp/FRITZ..." anzugeben ... das "modfs" kann auch mit einem absoluten Pfad an dieser Stelle umgehen (mache ich nur so).
 
Genau und wenn dort genügend Platz (tsb? Telefonsparbuch?) machst Du einen upload (quasi ins Wurzelverzeichnis des NAS).
Dann gehts Du in die Konsole und schaust nach, wo unter var/mod die modfs-Verzeichnisse liegen.
Mit
Code:
 cp /var/media/ftp/firmware.image /var/mod/modfs-Verzeichnis
hast Du es kopiert.
Dann schaust Du nach ob es auch am richtigen Ort gelandet ist.
Code:
 cd /var/mod
ls -la
#Ausgabe anschauen
cd /verzeichnis wo modfs liegt bzw. das image
./modfs update firmware.image
Im Anschluss ggf. aufräumen sowohl im NAS alsauch unter var/mod
LG
 
Ich widerspreche hier mal ... es ist nicht wirklich zielführend (und verringert nur den ohnehin knappen Hauptspeicher - auch eine 7490 hat nur 256 MB, die anderen Modelle (außer 3490) noch weniger), wenn man die Image-Datei unbedingt ins "tmpfs" kopieren will (und "/var/mod" läge dort).

Im günstigsten Fall (wenn man Swap-Space in ausreichender Menge hat) wird es unnötig langsam (das Aus- und Einlagern von Speicher kostet Zeit) und im schlechtesten Fall sind diese 20-25 MB für eine Image-Datei genau der Platz, der das System über die Klinge springen läßt und (ohne Vorbereitungshandlungen, mit denen man das entschärfen kann) zur Kernel-Panic wegen Speichermangels führt.

Das Entpacken erfolgt dann ohnehin irgendwo, wo der Platz am ehesten vorhanden ist und die Rahmenbedingungen (u.a. Linux-ACLs) stimmen ... ich würde hier also empfehlen, die Image-Datei einfach dort liegen zu lassen, wo man sie ohnehin abgespeichert hat (über die NAS-Funktionen erreicht man ja nur den internen NAND-Flash oder ein USB-Volume) und beim "modfs"-Aufruf ihren vollständigen Pfad anzugeben.
 
  • Like
Reaktionen: BurningCrash
Hallo in die Runde,
ich benötige bitte mal Hilfe:

Ich habe auf einer 7362SL mittels Recovery ein Downgrade auf FW 6.30 gemacht, damit ich telnet-Zugang erhalte. Anschließend habe ich mit modfs ein Update auf die aktuelle FW 6.83 gemacht.

Hier habe ich Hilfe gefunden wie ich Swap-Speicher bereitstelle, das modfs-Skript läuft auch durch.
Die Frage nach dem telnet-Zugang habe ich natürlich mit "j" beantwortet.

Nach "reboot" startet die Box auch neu und es läuft auch eine modifizierte Version der FW, denn ich kann bspw. die Boot-Firmware auswählen (das geht mit der originalen FW ja nicht).

Leider habe ich trotzdem keinen telnet-Zugang, auch das Aktivieren mit der Wählhilfe habe ich bereits versucht.

Ich habe auch bereits nochmal neu mit 6.30 gestartet und modfs dann nochmal gestartet und alle gestellten Fragen mit "j" beantwortet (damit mir auch ja nichts durchgeht) - aber auch hier Fehlanzeige in Sachen telnet-Zugang.

Jemand eine Idee?

Dank vorab.

Mr.I
 
Ich würde hier in der "fx_conf" (aus dem Kopf, bin aber nicht mal sicher, daß der Dateiname der richtige ist bzw. die Datei tatsächlich die richtige wäre, denn es gibt die "fx_conf" schon) nachsehen, ob das Flag für den Telnet-Daemon wirklich gesetzt ist ... wo sich das befindet, habe ich (vor Urzeiten, vermutlich im Frühsommer 2014) hier mal irgendwo aufgeschrieben.

Ist es nicht "ein", muß man das auf irgendeinem Wege ändern ... oder man baut gleich mit dem Patch im "modfs" noch den Start des Telnet-Daemons ein, was ich absichtlich nicht gemacht habe, damit der nicht ständig läuft und der Benutzer eine Möglichkeit hat, ihn über das Telefon zu starten und zu beenden. Daß das Beenden des Daemons ein zwischenzeitliches Reboot für eine erneute, erfolgreiche Aktivierung braucht, ist (iirc) irgendwann von AVM "verpfuscht" worden, als man die Nachricht "Telnetd ein" ausgebaut hat - auch dieses Verhalten habe ich irgendwo genauer beschrieben.

Ich weiß gerade nicht aus dem Kopf, ob die 06.83 schon die 2FA hat und ob da die Wählhilfe noch für das Wählen dieser "Kommando-Codes" verwendet werden konnte ... notfalls muß man eben (sofern man den Service nicht gleich selbst starten will, z.B. in der "S85-app" - o.s.ä., ist alles auf dem Gedächtnis) die betreffende Stelle in der Export-Datei ändern, die Prüfsumme korrigieren und die Datei wieder importieren (ein Heidenaufwand, ich würde dann eher wieder zu einem "toolbox"-Image greifen, welches nur diese eine Stelle in der Datei "/var/flash/fx_conf" (bzw. genauer im entsprechenden TFFS-Node) überschreibt).

Wobei man die betreffende Einstellung auch schon von der 06.30 aus ändern könnte bzw. von jeder anderen Shell aus, denn ich verstehe ohnehin mal wieder nicht, warum man sich ein Downgrade auf 06.30 antut, wenn man auch einfach SIAB implantieren könnte und das geht bei der 7362SL genauso wie bei der 7490 oder 7412 - ich stelle nur kein fertiges Image dafür bereit.
 
denn ich verstehe ohnehin mal wieder nicht, warum man sich ein Downgrade auf 06.30 antut, wenn man auch einfach SIAB implantieren könnte und das geht bei der 7362SL genauso wie bei der 7490 oder 7412 - ich stelle nur kein fertiges Image dafür bereit.

Ich habe die Box in der Bucht gekauft, da sie für mich "neu" ist war auch ein Downgrade auf 6.30 akzeptabel, zumal ich dort mit dem Einspielen der "telnet-Firmware" sehr schnell zum Zwischenziel telnet-Zugang gekommen bin.

Müsste telnet denn sofort nach dem Reboot der Box zur Verfügung stehen, ohne dass man es nochmal separat aktivieren muss?

Die Suche nach dem fehlenden oder falsch gesetzten Schalter ist also keine Option da zu aufwändig. Aber ist es denn nicht unlogisch, dass modfs mein "j" beim telnet-Zugang mit OK bestätigt, das Skript bis zum Ende durchläuft, dieses dann geflasht wird und dann das entsprechende Kennzeichen fehlt. Und das Ganze 2x, denn ich habe die Prozedur ja noch ein zweites Mal durchgespielt.

Würde es (möglicherweise) Abhilfe leisten, wenn ich per modfs ein Zwischenupdate auf die 6.50 machen würde und von dort auf die 6.80 bzw. direkt auf die 6.83? Also könnte der Fehler dadurch erzeugt worden sein, dass der Versionsprung "zu groß" war und daher "irgendwas" nicht funktioniert hat?

Gruß
Mr.I

### Zusammenführung Doppelpost by stoney ###

Was ist damit gemeint? Dass man an der Box einen beliebigen Knopf drücken muss, sofern man kein Telefon zur Hand hat um gewisse Einstellungen zu bestätigen?
 
Zuletzt bearbeitet von einem Moderator:
Das Problem ist, daß die 06.30 noch das "alte" SquashFS-Format und einen alten Kernel benutzt und ich da schon mind. zwei Jahre nicht mehr geprüft habe, ob das alles noch reibungslos läuft (so alt ist die 06.50 inzwischen schon lange).

Die Art und Weise, wie der Telnet-Daemon vom "modscript" am Ende "wiederhergestellt" wird (denn eigentlich ist es ja nur das Einfügen des von AVM entfernten Symlinks auf das Applet), ist vollste Absicht ... eben damit da ein Starten und Stoppen des Telnet-Services über das Telefon möglich ist und bleibt - ich bin ja ein erklärter Gegner eines ständig laufenden Telnet-Daemons auf einer "Produktiv-Box".

Ich schlage vor, daß Du es tatsächlich mal über die Installation der originalen Firmware von AVM in der letzten Release-Version (also keine 07.00 und auch kein Labor mit der uClibc-ng) und anschließendes "Impfen" mit SIAB versuchst ... schaden kann es nichts und der Rückweg zur 06.30 steht Dir ja weiterhin offen.

Ansonsten hilft auch ein Blick in die Prozessliste (notfalls über die Support-Daten, wenn es nicht anders geht) ... wobei der Telnet-Service ja schon gestartet werden sollte, wenn Du in der 06.30 eine Shell hast. Oder ist das am Ende nur ein Telnet-Start über ein "Pseudo-Image"? Da steht dann sicherlich auch dabei, daß damit keine dauerhaften Änderungen am System erfolgen ... mithin wird auch das Flag nicht gesetzt. Aber man kann natürlich trotzdem in der 06.30 den Telnet-Daemon über das Telefon starten ... die Einstellungen teilen sich die Systeme ja und damit sollte auch nach der Umschaltung auf das andere System dann das Flag für den Start des "telnetd" über den "telefon"-Daemon gesetzt sein.
 
Das Impfen mit SIAB ist bei mir erstmal Plan B, weil mein Linux-Rechner leider seit kurzem nicht mehr läuft und ich da erstmal Abhilfe schaffen muss. Von daher habe ich aktuell keine Gelegenheit mir ein entsprechendes Image zu bauen.

Ja, es ist ein Pseudo-Image mit dem unter 6.30 telnet reaktiviert wird. Ich meine bei meiner 7490 irgendwann auch mal so vorgegangen zu sein. Dort habe ich dann später (ab 6.50 oder 6.51) mittels modfs die einzelnen FW-Versionen upgedated, quasi bis heute.

Nochmal zu meinem Verständnis: Das Pseudo-Image aktiviert telnet nicht dauerhaft, sondern nur bis zum nächsten Reboot der Box. Du sagst, wenn ich telnet sozusagen zusätzlich nochmal per Telefon aktiviere wird ein Flag gesetzt der sich dann auch in das per modfs upgedatete 6.83-System durchschlagen sollte?

Das würde ich dann am Wochenende nochmal ausprobieren, bin unterwegs sonst hätte ich es sofort gemacht.

Gruß
Mr. I
 
Ja, wenn das Telnet-Flag in der 06.30 gesetzt wird (da gab es weder 2FA noch sonstwas und sogar die Wahl der Steuersequenzen per Wählhilfe mit entsprechendem Telefonbuch-Eintrag sollte noch funktionieren), dann bleibt das auch in der 06.83 erhalten ... und der "telefon"-Daemon sollte brav den "telnet"-Daemon starten, sofern er ihn im Dateisystem finden kann. Wenn der Telnet-Daemon dann bei Start auch noch seinen benötigten Symlink "/usr/sbin/telnetd" vorfindet (der kann auch irgendwo hinzeigen, wichtig ist nur, daß er überhaupt existiert und ein Symlink ist), dann klappt das auch mit dem Applet aus der BusyBox von AVM ... ansonsten kann man auch die ganze BusyBox ersetzen und der darin enthaltene "telnetd" macht dann diese Mätzchen mit der Suche nach dem Symlink erst gar nicht. Aber in beiden Fällen braucht es den "Anschub" über den "telefon"-Daemon oder man muß den "telnetd" eben selbst irgendwie und irgendwo starten ... die "/etc/init.d/S85-apps" hatte ich ja schon "erwähnt" als denkbaren Platz für solche Kommandos.
 
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.