[Gelöst] Fritz!Box 7270 per telnet rebooten

ZappoB

Neuer User
Mitglied seit
18 Apr 2008
Beiträge
86
Punkte für Reaktionen
0
Punkte
6
Da meine 7270 immer wieder "spinnt" (WLAN Aussetzer, lahmes DSL, etc.) würde ich sie gerne per telnet rebooten können, leider finde ich keinen entsprechenden Befehl bei busybox.net.

Die Idee ist folgende: wie beim Wake on Call würde ich gerne den Reset/Reboot per Telefonanruf (von einer speziellen Nr. auf eine spezielle Nr.) auslösen, dazu bräuchte ich aber eben statt dem ether-wake einen reboot Befehl. Wenn ich einfach reboot bei telnet eingebe, freezt die FB zwar "schön", aber einen Reboot löst es leider nicht aus.

Wer hat den rettenden Tipp für mich? Danke im voraus!
 
Zuletzt bearbeitet:
Abend

Dann stimmt da was nicht mit deiner 7270.
Es kann zwar etwas dauern bis sie neustartet, weil Dienste beendet und eingehängte USB Geräte ausgehängt werden.
Aber dann sollte sie auch neustarten.
So wie bei den meisten anderen auch.

Bei meiner 7360SL dauert es fast 2 Minuten, nach Eingabe von reboot, bis sie neustartet.
Das nennt man dann wohl: Sauberes runterfahren und Neustart.
 
Ok, dann war ich evtl. etwas ungeduldig :S
 
Bestimmt.
Mit als erstes wird DSL beendet, dann haste nach Eingabe von reboot die Möglichkeit, anhand der fehlenden Internetverbindung, das zu checken.
Fast am Schluss wird WLAN abgeschaltet, das kannste an der blinkenden WLAN LED erkennen.
Ach ja, wenn du mit cd auf deinem USB-Stick bist, kann das Ganze locker doppelt solange dauern, weil USB dann nicht ausgehängt werden kann.
Die Fritz!Box versucht es mehrfach erfolglos und forciert das dann irgendwann.
 
Zuletzt bearbeitet:
Leider kann ich es gerade nicht testen, weil mein Sohn in einem LoL-Spiel ist (wichtig, ich weiß -.-) aber als ich das letzte mal den Reboot im telnet getestet habe, war das DSL noch lange (zu lange) aktiv, da hat der Rest der FB schon gar nichts mehr gemacht. USB-Stick ist aktuell gar keiner eingesteckt, das sollte also nicht bremsen ;)
 
Also auch nach 6 Minuten ist weder das DSL noch das WLAN weg, nur die Fritz!Box selbst ist nicht mehr ansprechbar, weder per telnet, noch über die WebGUI.

Ich poste das hier sogar, während die FB sich "verabschiedet" hat, DSL ist also definitiv noch aktiv...

EDIT: Entschuldigung, über telnet ist die FB noch/wieder erreichbar, das WebGUI bleibt aber nicht erreichbar.
 
Kurzwahl

Moinsen

Das sollte so nicht sein.
Kennst du den Telefoncode um die Fritz!Box neu zu starten?
Code:
#990*15901590*
Wenn dass dann auch solche faxen macht, stimmt definitiv was nicht.
Tip: Im Fritz!Box Telefonbuch ablegen/speichern dann kannst du über die zugeteilte Kurzwahl (**7xx) booten.
Neustart_Kurzwahl.jpg
Achtung! - Das geht nur über das AVM-Telefonbuch, welches Telefonbuch heisst.
Mit dem Onlinetelefonbuch, oder einem zusätzlichen, neuangelegten, nicht.

Dann kannste sogar mit aktivierter Wählhilfe neustarten.
Übrigens: Nach Aktivierung über die Wählhilfe, von der Arbeit aus, war die Verbindung sofort weg.
Der Neustart dauerte grad mal ne Minute bei meiner 7270 (IP-Klient, ohne NAS, musste auch kein V/DSL syncen).

Viel Glück!
 
Zuletzt bearbeitet:
Kennst du den Telefoncode um die Fritz!Box neu zu starten?
Nein, den kannte ich nicht - cool!

Ich habe es übrigens auch mit dem reboot Befehl geschafft, ich musste die Parameter -n -f anhängen (vllt. reicht auch einer von beiden), dann funktionierte es sofort.

Das mit dem Telefoncode finde ich aber sehr interessant, kann man diesen aber auch von außen aktivieren? Vermutlich nicht, sonst könnte ja jeder meine Box resetten...
 
Geht schon, die Voraussetzung wäre aktiviertes Callthrough (siehe Rufumleitungen).
Nach Eingabe der PIN und dem Quittungston, kann intern telefoniert werden (ohne die **, also die 1 für Fon1, 2 für Fon2, 9 für Rundruf u.s.w.).
Wird die 0 gewählt, kann über die eingestellte Nummer, rausgewählt werden.

Und über die Fernwartung und aktivierter Wählhilfe (siehe Telefonie --> Anrufliste -Reiter-> Wählhilfe).
Ein wenig sinnfrei, weil es ja unter System --> Zurücksetzen den Neustart Button gibt.

Schlussendlich, und am kompliziertesten: /var/calllog
Müsste erst angelegt werden, aber die Box schaut nach ob sie da ist und führt sie bei jeden Anruf aus.
Eventuell muss man aber vorher /var/flash/calllog mit einem echo "" > /var/flash/calllog aktivieren.
Kannste ja mal machen und in /var/calllog dann ein echo $@ reinschreiben, dann ruf dich mal an. ;)
Benutze ich um meinen PC mit meiner Mobilenummer aufzuwecken (WoC).
Guckstdu:
Code:
#!/bin/sh
wolmac="ff:ff:ff:ff:ff:ff" # MAC des PCs
nic="eth0"
startpc="ether-wake -i $nic $wolmac" # Aufweckbefehl
wolsip="SIP1#9876543210" # [B]An[/B] Nummer
woltel="0123456789" # [B]Von[/B] Nummer
localdir="/var/media/ftp/NEW_LINK"
logfile="$localdir/woc.log"

if [ "$3" = "$wolsip" ]; then
 if [ "$woltel" = "jeder" ]; then
   $startpc
   statuscode="OK:EVERYONE_ALLOWED"
 else
   if [ "$1" = "$woltel" ]; then
     $startpc
     statuscode="OK:ALLOWED_USER"
   else
     statuscode="FAIL:INTRUDER"
   fi
 fi
else
statuscode="INFO:NO_WOC"
fi
echo "$1 ($woltel),$2,$3 ($wolsip),$4,$5,$statuscode" >>$logfile
(Skript ursprünglich nicht von mir, hab geholfen das es funktioniert)
...und loggt das Ganze auch auf USB.

Ach, fast vergessen: freetz und der Callmonitor, da ist dann eher die Frage was nicht geht.

Callmonitor Regeln:
Code:
## $EVENT $ID $TIMESTAMP $SOURCE
## $SOURCE_NAME $DEST $DEST_NAME 
## $EXT $DURATION $PROVIDER
*:request ^ ^ echo "Anruf von: "$SOURCE " an: "$DEST" ($TIMESTAMP, $EVENT, $ID, $SOURCE_NAME, $DEST_NAME, $EXT, $DURATION, $PROVIDER)" >> /var/media/NEW_LINK/callmonitor.log
*:cancel ^ ^ echo "Nicht zustandegekommen: "$SOURCE " an: "$DEST" ($TIMESTAMP, $EVENT, $ID, $SOURCE_NAME, $DEST_NAME, $EXT, $DURATION, $PROVIDER)" >> /var/media/NEW_LINK/callmonitor.log
*:connect ^ ^ echo "Gespraechsbeginn: "$SOURCE " an: "$DEST" ($TIMESTAMP, $EVENT, $ID, $SOURCE_NAME, $DEST_NAME, $EXT, $DURATION, $PROVIDER)" >> /var/media/NEW_LINK/callmonitor.log
*:disconnect ^ ^ echo "Aufgelegt: "$SOURCE " an: "$DEST" ($TIMESTAMP, $EVENT, $ID, $SOURCE_NAME, $DEST_NAME, $EXT, $DURATION, $PROVIDER)" >> /var/media/NEW_LINK/callmonitor.log
...loggt gerade nur, alles in eine Datei auf USB. Aber die Möglichkeiten sind fast grenzenlos.
 
Zuletzt bearbeitet:
Anscheinend hängt die Box irgendwo beim Runterfahren. Vielleicht hat das den gleichen Grund, weswegen sie überhaupt manchmal Probleme zeigt.
Mit dem Parameter -f wird das normale Herunterfahren weggelassen und sofort neu gestartet.

Gib mal im telnet "/etc/inittab.shutdown" ein und schau, ob dabei hilfreiche Informationen kommen.
 
Zuletzt bearbeitet:
Also der Reset über den Telefoncode funktioniert einwandfrei, gerade getestet.

Anscheinend hängt die Box irgendwo beim Runterfahren. Vielleicht hat das den gleichen Grund, weswegen sie überhaupt manchmal Probleme zeigt.
Ich hatte hier wochenlang Kontakt mit dem AVM-Support, die FB wurde auch schon getauscht und komplett neu aufgesetzt (also nicht ein Export/Backup wieder eingespielt), leider alles ohne Erfolg, ich habe hier die Hardwarerevision (V2) im Verdacht. Seit ich die Box aktiv kühle, sind die Internet und WLAN Probleme geringer geworden, früher waren es täglich mehrfache Hänger, jetzt ist es einer alle paar Tage.

Nachdem der Reset nun generell funktioniert, habe ich noch ein spezielles Problem mit dem Skript (in der debug.cfg):

Code:
cat > /var/calllog << 'END'
#!bin/sh
if [[ $2 = "09xxxxxxxx50" ]]; then
   /usr/bin/ether-wake -i eth0 xx:xx:xx:xx:xx:xx
fi

if [[ $1 = "017xxxxxxx20" -a $2 = "09xxxxxxxx08" ]]; then
   reboot -n -f
fi
END
chmod +x /var/calllog

Der WoC funktioniert, der Reset nicht, was evtl. an dem "und" liegt, oder an der eingehenden Telefonnummer. Ist das Skript nach eurer Meinung OK?

Kann ich im telnet einen Monitor laufen lassen, der die Parameter ($1, $2, $3) bei einem eingehenden Anruf direkt anzeigt? Oder anders: wie lautet das Linux-Pendant zum DOS "echo"? Dann könnte ich das im Skript ausgeben...

EDIT: oder muss "reboot" mit komplettem Pfad angegeben werden?

EDIT2: @koyaanisqatsi: jetzt sehe ich erst, dass du ein Skript im Post hast :D - ich war beim Lesen noch nicht angemeldet, und da sieht man weder Bilder noch Codes. Ich werde mir das mal zu Gemüte führen... immerhin habe ich gesehen, das "echo" auch hier "echo" heißt :)

EDIT3: Dank des echo Befehls habe ich nun bemerkt, dass im Gegensatz zur SIP Rufnummer bei den MSNs die Vorwahl nicht dabei sein darf - jetzt wird die Abfrage richtig abgearbeitet.
 
1. chmod +x brauchste nicht, denn calllog wird mit sh aufgerufen: sh /var/calllog
2. Schau dir bitte /var/calllog mit vi oder cat an: Sind die Dollarzeichen noch da? Oder stehen nur noch leere Gänsefüsschen anstatt von $1 ?
3. Der Pendant von Linux echo ist Windows echo, Ätsch!
4. Der komplette Pfad zum Programm ist nie verkehrt und ausserdem guter Stil.

Bei einen cat > /var/calllog << 'END' sollten die Dollarzeichen maskiert werden, sonst kann es mit ziemlicher Sicherheit zum Kuddelmuddel führen.
Wenn $1 existiert wird dessen Wert statt $1 übergeben ist $1 ungültig oder hat keinen Wert dann kommt nur "" an.

Eine Maskierung des Dollarzeichen sieht z.B. so aus: \$1 statt $1
Dann kommt $1 in /var/calllog an und nicht, Beispielsweise: ""

Poste mal den Inhalt von /var/calllog. Natürlich mit unkenntlicher Telefonnummer.
...und bitte mal auf RalfFriedls Post reagieren.
 
Zuletzt bearbeitet:
Meine drei Edits haben sich mit deiner Antwort knapp überschnitten, trotzdem vielen Dank für die geduldige Hilfe.

Wie geschrieben, lag es letztendlich an der Vorwahl, die ich bei der SIP-Rufnummer brauche, bei einer MSN hingegen nicht.

reboot geht auch ohne Pfad, ich wüsste auch nicht, welcher das wäre, unter /usr/bin liegt er nicht.

...und bitte mal auf RalfFriedls Post reagieren.
Hatte ich ja schon gemacht, aber mir ist sein späterer Edit auch nicht aufgefallen, das werde ich mal gleich nachholen...

Code:
# /etc/inittab.shutdown
-sh: /etc/inittab.shutdown: not found

oder

Code:
# /etc/inittab shutdown
/etc/inittab: line 2: /dev/ttyS0::sysinit:/etc/init.d/rc.S: not found
/etc/inittab: line 5: /dev/ttyS0::askfirst:-/bin/sh: not found
/etc/inittab: line 8: /dev/ttyS0::shutdown:/bin/sh: not found
 
Hm, ja, auf meiner 7270 existiert auch nur die /etc/inittab, /etc/inittab.shutdown ist nicht vorhanden.

Zitat: "reboot geht auch ohne Pfad, ich wüsste auch nicht, welcher das wäre, unter /usr/bin liegt er nicht."

Crashkurs im Befehle suchen:
Code:
# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin
# ls -la /bin/reboot
# ls -la /usr/bin/reboot
# ls -la /sbin/reboot
lrwxrwxrwx    1 root     root            14 Jan 22  2013 /sbin/reboot -> ../bin/busybox
# ls -la /usr/sbin/reboot
# busybox
BusyBox v1.19.3 (2012-05-21 13:40:41 CEST) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: busybox --list[-full]
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:
        [, [[, arp, arping, ash, basename, brctl, bunzip2, bzcat, bzip2, cat,
        chgrp, chmod, chown, chroot, cmp, cp, cut, date, dd, df, dirname,
        dmesg, dnsdomainname, du, echo, egrep, env, ether-wake, expr, false,
        fgconsole, fgrep, find, flock, free, ftpget, ftpput, getopt, grep,
        groups, gunzip, gzip, halt, hostname, id, ifconfig, ifdown, ifup,
        inetd, init, insmod, iostat, ip, ipaddr, iplink, iproute, iprule,
        iptunnel, kill, killall, killall5, ln, login, logname, ls, lsmod,
        md5sum, mkdir, mkfifo, mknod, mkswap, modprobe, more, mount, mpstat,
        mv, nbd-client, nc, netstat, nice, nohup, nslookup, passwd, pidof,
        ping, ping6, pivot_root, pmap, poweroff, printenv, printf, ps, pstree,
        pwd, pwdx, readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod,
        route, sed, seq, setconsole, setserial, sh, sleep, smemcap, sort, stat,
        stty, swapoff, swapon, switch_root, sync, sysctl, tail, tar, tee,
        telnetd, test, tftp, time, top, touch, tr, traceroute, true, tty,
        ubimkvol, ubirmvol, ubirsvol, ubiupdatevol, umount, uname, uniq, unxz,
        unzip, uptime, vi, wc, wget, whois, xargs, xz, xzcat, zcat
 
Ok, danke nochmals, den Teil mit "path" und "ls" habe ich verstanden, der reboot liegt also unter /sbin - das mit "busybox" verstehe ich nicht so ganz, auch hier gibt es einen reboot, soll ich den nun mit busybox aufrufen, oder den unter /sbin?
 
Aus Platzgründen, und weil statisch gelinkt, hat ein genialer Mensch die busybox erfunden.
Soll heissen:
Wenn du denkst reboot wäre eine einzelne Datei/Programm, haste dich geschnitten.
Sie gehört, wie viele Befehle, zu den einkompilierten Funktionen der busybox.
Genausogut kannste demnach eingeben: /bin/busybox reboot
Oder, wie mein Crashkurs es zeigt, es wird einfach ein Link (Softlink) reboot erstellt, der auf die busybox zeigt.
Die busybox schaut dann nach wie sie aufgerufen wurde, in diesem Fall als reboot und führt diese Funktion dann aus.
Deswegen wird die busybox auch oft als "Schweizer Taschenmesser" bezeichnet. ;)
 
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.