FritzBox 4020 Telnet, Automatischer Restart

Tiippex

Neuer User
Mitglied seit
21 Feb 2017
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hallo,

erstmal, ich hoffe das ich hier die richtige Kategorie genommen habe. Ich bin neu hier :eek:

Also mein Problem:

Für die Bewachung von Solaranlagen wird ein Internetanschluss gebraucht. Somit haben wir uns einen der günstigsten FritzBoxen ausgesucht, die 4020, kostet 50€ momentan glaube ich.

Fürs Internet haben wir einen Stick mit einer SIM-Card in die Fritzbox gesteckt. Da leider ab und zu der Kontakt zum Internet abricht müssen restarts gemacht werden. Momentan leider auf eine sehr unelegante Weise, Zeitschaltuhr....

Nun habe ich viel rum gelesen und herausgefunden, dass es möglich ist durch das bearbeiten der debug.cfg mit folgender While Schleife immer nachts um 2 einen Restart machen kann.

Code:
while true do
   sleep 55
   date | grep 02:00 
   if [ $? -eq 0 ]
   then
     reboot 10 
   fi
done

Da die 4020 leider kein Dect hat soll es wohl nicht möglich sein Telnet bei der FritzBox zu aktivieren.

Meine Frage ist somit ob es irgendwie trotzdem möglich ist die debug.cfg zu bearbeiten.


Ich freue mich auf eure Antworten
Tiippex | Max
 
Da die 4020 leider kein Dect hat soll es wohl nicht möglich sein Telnet bei der FritzBox zu aktivieren.

Meine Frage ist somit ob es irgendwie trotzdem möglich ist die debug.cfg zu bearbeiten.

ich gehe davon aus, dass es sich bei der FB4020 um eine NOR-Box handelt;
üblicherweise wird dies bei NOR-Boxen mit "fwmod" aus den Freetz-Projekt gemacht
Doku hierzu ("Telnetd" und "debug.cfg"): http://freetz.org/wiki/help/howtos/development/repack_fw

- - - Aktualisiert - - -

Suche lieferte u.a. Beispiel von FB7360:
http://www.ip-phone-forum.de/showthread.php?t=285372&p=2158682&viewfull=1#post2158682
 
Vielen Dank für die schnelle Antwort :)


Hierzu habe ich nochmal eine Frage. Und zwar, habe ich irgendwas noch nicht bei der Installation von Freetz nicht ganz richtig verstanden.

Ich lade mir VirtualBox hier
https://www.virtualbox.org/
für den PC runter.

Dann lade ich mir Freetz runter.

Dann gibts ein Paar Codes bzw. Cmds die man eingeben muss um anschließend mit dem ruKernelTool das Image zu flashen.
Das ist das Tool oder? http://rukerneltool.rainerullrich.de/

In der Anleitung die du mir geschickt hast steht: "Die LCR-Installation kann nun über Telnet-Zugang durchgeführt werden"
Das der Part den ich nicht ganz verstehe. Den ich will ja grade den telnet zugang aktivieren...

Beste Grüße
Tiippex
 
Ich lade mir VirtualBox hier
https://www.virtualbox.org/
für den PC runter.
Ja,

dann Freetz-VM downloaden https://sourceforge.net/projects/fr...z-linux-1.4.1/freetz-linux-1.4.1.ova/download
anschließend Freetz-Trunk auschecken "svn checkout http://svn.freetz.org/trunk freetz-trunk"
...


In der Anleitung die du mir geschickt hast steht: "Die LCR-Installation kann nun über Telnet-Zugang durchgeführt werden"
Das der Part den ich nicht ganz verstehe. Den ich will ja grade den telnet zugang aktivieren...

Nachdem das Freetz-Image geflasht ist, kann telnet genutzt werden. Einfach Telnetd per Phonecall "#96*7*" (Analog-Telefon bzw. Wählhilfe) oder Anpassung fx_conf in ar7.cfg starten.

Zur LCR-Installation kann ich nichts sagen, da ich kein LCR nutze.
 
Zuletzt bearbeitet:
Hallo,

gibts irgendwie eine YouTube Anleitung für VirtualBox?

Und wie schließe ich meine FritzBox an den PC? Per Lan oder USB? Oder reicht es wenn sie im Netzwerk ist.


Beste Grüße
Tiippex
 
gibts irgendwie eine YouTube Anleitung für VirtualBox?
Google is your friend ... or use your favorite search engine.

Und wie schließe ich meine FritzBox an den PC? Per Lan oder USB? Oder reicht es wenn sie im Netzwerk ist.
diese Frage verstehe ich nicht; Freetz wird zum Erstellen eines Images benötigt;

oder geht es hier um das Flashen des Images ?
hier kann bei NOR-Boxen üblicherweise ruKernelTool verwendet werden; Alternativ "push_firmware" aus Freetz-Umgebung.
 
Also habe jetzt in VirtualBox freetz und bin jetzt bei den Tools angelangt.


Ich stehe grade vor fwmod. Nun mein Problem ist das ich nicht weiß wo ich das FRITZ_x_y_z.image herbekommen soll.


//edit
wäre das hier richtig?
//edit2
irgendwie wurde der ftp link von fritz nicht angezeigt....

habe es denke ich auch bis dahin geschafft.

nun stehe ich vor dem problem:
[ -x unpacked_firmware/original/filesystem/usr/sbin/telnetd ] || ln -s ../../bin/busybox unpacked_firmware/original/filesystem/usr/sbin/telnetd
ich solle den cmd eingeben, doch leider gibt es im sbin ordner nichts mit telnetd


Tiippex
 
Zuletzt bearbeitet:
ich solle den cmd eingeben, doch leider gibt es im sbin ordner nichts mit telnetd
Du sollst was? :gruebel:

Das gezeigte Kommando prüft, ob im Ausgangsverzeichnis mit der entpackten Firmware eine ausführbare Datei "/usr/sbin/telnetd" existiert - sonst nichts - und richtet ggf. den benötigten Symlink wieder ein (das ist das Einzige, was es für die "Wiederherstellung" des Telnet-Services braucht).

Das mit dem "-x" ist zwar leider ein Test, der auch schiefgehen kann, wenn dort ein Symlink liegt, der nicht relativ ist (also nicht mit "../.." die Verzeichnisstruktur traversiert und auf irgendein Ziel verweist), sondern einen absoluten Pfad enthält, z.B. "/bin/busybox". Das, was auf der Box sogar funktionieren würde (dort würde ja vom Wurzelverzeichnis aus gesucht), schlägt auf dem Build-Host ggf. fehl, wenn es dort keine Datei "/bin/busybox" geben sollte. Da der Link auch nicht "forcible" ersetzt wird (das wäre die Option "-f" beim "ln"), kann das also durchaus schiefgehen - aber nur unter sehr ungewöhnlichen Umständen.

Solange aber ein solcher Symlink nicht existiert (das "-x" testet wirklich das Ziel, ob es ausführbar ist und nicht den Link an sich), wird einfach der Symlink erzeugt.

Das hat sicherlich den Vorteil, daß man mit einer eigenen Datei unter "/usr/sbin/telnetd" oder einem eigenen Symlink auch andere Telnet-Daemons als den aus der BusyBox "unterschieben" könnte, aber vermutlich wäre in diesem Falle sogar das Auslassen der Prüfung und einfach das zwangsweise Ersetzen (durch "ln -sf ...") des Symlinks die "einleuchtendere" Lösung, die auch leichter nachvollziehbar ist (das "-x" für Symlinks muß man halt wissen, sonst wäre ein "-L" wohl auch einleuchtender) - die Option, "/usr/sbin/telnetd" direkt durch ein eigenes Binary zu ersetzen, wird wohl eher selten genutzt werden (auch wenn der "telefon"-Daemon den brav starten würde). Selbst beim Verwenden der "externals"-Option im Freetz wird ja die BusyBox nicht ausgelagert - damit fällt mir (außer manueller Änderung) gar keine Option im Freetz ein (ich kenne aber auch nicht jede einzelne), die auf ein anderes Binary als "/bin/busybox" für den Telnet-Daemon hinauslaufen würde.
 
Ok ich glaube ich versteh davon etwas.

Könntest du mir trotzdem einmal die nächsten Schritte erklären?

Beste Grüße
Tiippex
 
Kann ich nicht ... ich habe keinen Schimmer, wo Du gerade bist. Wenn ich das nicht überlesen habe, steht es auch nirgendwo.

Also wird andersherum ein Schuh daraus ... Du schreibst (genau) auf, was Du bisher gemacht hast und wo Du jetzt hängengeblieben bist - das hat auch gleich noch den Vorteil, daß man eine Fehlermeldung "im Original" sehen kann (weil Du die hier in "CODE"-Tags ganz ordentlich 1:1 wiedergibst im Rahmen des Protokolls der Sitzung in der Freetz-VM) und nicht auf Deine (unverständliche - zumindest in meinen Augen) Beschreibung in Prosa angewiesen ist.

Das von @Pokemon20021 Geschriebene bzgl. der "Lücken" in Deinen Beschreibungen hat Dich ja irgendwie nicht so richtig beeindrucken können ... aber wer Hilfe sucht, muß das schon in einer Form angehen, die es dem "Antwortenden" so bequem wie möglich macht und wenn man erst einmal raten soll, was Du da eigentlich gerade machst oder machen willst oder machen könntest, verliert man schnell die Lust (auch am Lesen - wenn man einem Satz auch beim dritten Anlauf des Lesens noch keinen Sinn einhauchen kann, ist das auch für den Leser frustrierend).
 
Klar probiere mal alles genau aufzuschreiben :D


1. in VirtualBox https://sourceforge.net/projects/fr...z-linux-1.4.1/freetz-linux-1.4.1.ova/download diese datei importiert.
2. Nachdem ich die Virtualisierung mal gestartet habe: apt-get update und dann upgrade

2.5 svn checkout http://svn.freetz.org/trunk freetz-trunk

3.
cd freetz-trunk
make menuconfig
make tools

4. make tools

5. dieses image über wget runtergeladen: ftp://ftp.avm.de/fritz.box/fritzbox.4020/firmware/deutsch/

6. ./fwmod -u -d unpacked_firmware [image namen]

7. ab jetzt weis ich nicht genau weiter....

Tiippex
 
http://freetz.org/wiki/help/howtos/development/repack_fw

Noch als "Nachtrag" ... unten in der verlinkten Seite lesen; wenn man es richtig macht (und die eigenen Änderungen über die "fwmod_custom" ausführt), kommt man gar nicht mit einem direkten Aufruf von "fwmod" in Berührung. Ansonsten muß man eben die Änderungen manuell vornehmen (ist wg. "fakeroot" manchmal nicht so ganz einfach, weil inkrementell häufig schiefgeht - ging zumindest mir desöfteren so) und nach den Änderungen wieder "fwmod" zum Packen verwenden (das steht dann wieder oben in der Seite).
 
Zuletzt bearbeitet:
Ehm ja die Seite kenne ich. Bin mir nur nicht so sicher wie ich hier:

Unter unpacked_firmware/original/filesystem modifiziert man dann das Dateisystem der Firmware.

vorgehen soll


Tiippex
 
Siehe meinen Nachtrag oben.
 
make menuconfig habe ich auch gemacht.

bevor ich das jetzt wieder zusammen packe mit dem cmd: ./fwmod -p -d unpacked_firmware FRITZ.Box_xyz.image
muss ich da noch was bezüglich des automatischen restarts einstellen oder kann ich das im nachhinein machen?
 
Entweder ich kann nicht (richtig) lesen oder wir reden hier immer noch aneinander vorbei.

Nach dem "make menuconfig" kommt doch nun ganz deutlich der Punkt
Freetz-Wiki schrieb:
2. Die eigenen Mods der Firmware sind in dem Script ​fwmod_custom in der Funktion ​all_no_freetz zu implementieren. Das entpackte Root-Dateisystem steht dabei unter ./filesystem zur Verfügung. fwmod_custom enthält bereits einige auskommentierte Beispiele: ​restore telnet support, ​restore debug.cfg support.
Wenn die Beispiele für Telnet und "debug.cfg" auskommentiert sind, ist es doch eigentlich logisch (so man "auskommentiert" versteht, wenn nicht hilft eine Suchmaschine), daß man nun in der eigenen "fwmod_custom" im Abschnitt "all_no_freetz" die Modikationen unterbringen muß, die man ausgeführt wissen will. Im einfachsten Fall ist das also das Entfernen des Kommentarzeichens vor den richtigen Zeilen, im komplizierteren Fall muß man irgendwie eigene Modifikationen (automatisiert) ausführen lassen.

Das bereitet man halt entsprechend vor ("Die eigenen Mods der Firmware sind [...] zu implementieren.") und dann finde ich da irgendwie gar nichts von "fwmod -p" im unteren Teil der Beschreibung. Warum man nun (ohne Ahnung) unbedingt den Weg mit dem direkten Aufruf von "fwmod" nehmen muß oder will, verstehe ich nicht einmal im Ansatz.

Also entweder ich kann nicht richtig lesen oder ich verstehe die (nun wirklich sehr einfach gehaltene) Anleitung nicht richtig oder Du machst wohl doch irgendetwas falsch. Es ist ja schön, daß Du die Seite bereits kennst, hast Du denn Deinerseits ihren Inhalt auch verstanden? Warum um Himmels Willen willst Du da nun unbedingt irgendetwas mit "fwmod"-Aufrufen machen?

Ansonsten wird das mit der "debug.cfg" vermutlich ohnehin nicht in dieser Form (wie oben irgendwo zu lesen) funktionieren (ich weiß allerdings nicht genau, ob Freetz die "debug.cfg" per "source"-Kommando (bzw. per dot-Kommando) einbindet - wenn das der Fall ist, kann man nicht einfach in der "debug.cfg" eine Schleife laufen lassen und deren Abarbeitung (also die der "debug.cfg") damit praktisch vor dem Fertigstellen der Initialisierung zum Erliegen bringen. Das ist dann aber wieder ein komplett anderes Thema, den Inhalt der "debug.cfg" kann man tatsächlich - aus einer Shell-Session heraus - modifizieren, ohne ein anderes Image zu benötigen.
 
aus einer Shell-Session heraus - modifizieren, ohne ein anderes Image zu benötigen.

Sprich ich könnte mir das alles sparen?

//edit
bei mir sieht die fwmod_custom jetzt so aus:
http://prntscr.com/ed1jdv
hoffe das ist richtig

Warum um Himmels Willen willst Du da nun unbedingt irgendetwas mit "fwmod"-Aufrufen machen?
Ich möchte eig nur das die Fritzbox automatisch, softwaregesteuert einen neustart nachts macht...

Tiippex
 
Zuletzt bearbeitet:
Nein, Du kannst Dir das eben nicht alles sparen, weil eine "normale" Firmware die "debug.cfg" nicht mehr berücksichtigt (irgendwann gg. 06.20 wurde das entfernt). Die reine Änderung an der "debug.cfg" bringt ja auch noch nichts ... man braucht schon ein Image mit einer Firmware, wo diese Datei auch noch "ausgeführt" wird.

Wenn es Dir nicht gelingt, Deine "fwmod_custom" hier ordentlich in CODE-Tags einzustellen, wirst Du sicherlich nicht wirklich erwarten, daß jetzt jemand sich die Arbeit macht und irgendeinen ominösen Link aufruft, hinter dem sich irgendeine beliebige Datei (wie wäre es denn mit dem Exploit für die libpng, der relativ frisch (2 Monate) ist?) verbergen könnte. Hier stellt sich auch wieder die Frage, für wen es "bequemer" sein sollte - für den Fragesteller oder den Antwortwilligen. Meinen Standpunkt an dieser Stelle habe ich bereits zum Ausdruck gebracht.

So schwer ist es auch wieder nicht, sich mit den Besonderheiten von BBCode vertraut zu machen, wenn man hier sinnvoll posten will.

Wenn Du nur eine geänderte Firmware haben willst, dann nimm einfach den "no_freetz"-Modus und gut ist's ... Du hast die Seite ja gelesen, wie Du mir schriftlich bestätigt hast (gut, bei genauerer Interpretation hast Du das gar nicht bestätigt, nur die Tatsache kundgetan, daß Du diese Seite kennst) - die offene Frage ist halt immer noch, ob Du die Vorgehensweise beim "no freetz"-Modus nun verstanden hast oder nicht. Wenn ersteres der Fall ist, würde sich allerdings die Frage anschließen, warum Du dann nicht einfach die dort stehende Anleitung befolgst. Wenn Du davon abweichst, mußt Du Dich auch nicht über abweichende Ergebnisse wundern.
 
bei mir sieht die fwmod_custom jetzt so aus:
Code:
    # restore telnet support, the user still needs to activate it via the phone code (#96*7*)
    ln -sf ../../bin/busybox ./filesystem/usr/sbin/telnetd


    # source freetz-helper-functions and freetz .config
    # only necessary if freetz patch-scripts are used for modifications
#    . "$(dirname $0)"/tools/freetz_functions
#    . "$(dirname $0)"/.config


    # restore debug.cfg support (using Freetz script)
    FILESYSTEM_MOD_DIR=./filesystem . ../../patches/scripts/114-debug_cfg_support.sh
}

was spricht dagegen die Funktion "tools/freetz_functions" in der Funktion "all_no_freetz()" der Skriptdatei fwmod_custom auch zu sourcen ?
d.h.
Code:
cat fwmod_custom
SNIP
all_no_freetz() {
    dummy=0


    # restore telnet support, the user still needs to activate it via the phone code (#96*7*)
    ln -sf ../../bin/busybox ./filesystem/usr/sbin/telnetd


    # source freetz-helper-functions and freetz .config
    # only necessary if freetz patch-scripts are used for modifications
[COLOR=#0000ff]    . "$(dirname $0)"/tools/freetz_functions[/COLOR]
#    . "$(dirname $0)"/.config


    # restore debug.cfg support (using Freetz script)
    FILESYSTEM_MOD_DIR=./filesystem . ../../patches/scripts/114-debug_cfg_support.sh
}

Quelle:
http://trac.freetz.org/changeset/13796
 
Zuletzt bearbeitet:
Soweit bin ich jetzt: http://prntscr.com/edcm1h

wobei ich mich frage ob die Warnmeldung schlimm ist oder nicht....

Und iwie muss ich ja jetzt das Image auf die FritzBox bekommen.
Geht dies über denk Punkt Update -> FritzOS Datei....

Wo finde ich den mein Image von Freetz genau?
In dem Ordner "VirtualBoxVM´s -> Freetz-Linux-1.4.1" sind leider nur vmdk, vbox-prev und log datein....


Tiippex
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,832
Beiträge
2,219,108
Mitglieder
371,534
Neuestes Mitglied
vignajeanniegolabek
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.