Jeder kennt's: Man weiß nicht, ob eine Internetseite nicht lädt, weil irgendwer was im Internet macht, oder weil der Server nicht reagiert.
Infolgedessen rufe ich immer die Webseite der Fritzbox auf und schaue nach.
Das war mir zu lästig, ich möchte an meiner Fritzbox direkt ablesen können, inwiefern das Netzwerk ausgelastet ist. Da DECT und WLAN ohnehin immer aktiv ist, soll eigentlich nur die Power-LED ihren "alten" Dienst tun und mir anzeigen, ob die Fritzbox eingeschaltet ist und Sync hat. Die restlichen LEDS sollen von rechts nach links anzeigen, wie ausgelastet das Netz gerade ist, d.h.:
- keine Last: alle LEDs aus (außer Power)
- wenig Last: Internet-LED an
- mittlere Last: Internet + Festnetz LED an
- viel Last: alle außer INFO an
- volle Last: alle LEDs an
Das folgende Skript macht seinen Job, sofern die Fritzbox Telnet-Zugang hat und die INFO-LED auf Dect-Status eingestellt ist. Gestartet wird es bei meiner 7270 über /var/flash/callog, welches bei ganz neuen Fritzboxen aber nicht mehr existiert. Man kann es auch einfach nach jedem Neustart der Fritzbox manuell über telnet starten. Telnet muss aber in jedem Fall freigeschaltet sein. Bei früheren Fritzboxen (7170 und vorher)funktioniert die LED-Ansteuerung etwas anders.
Die Grenzwerte sind in meinem Fall optimiert für eine 16.000 kbit/s Leitung. Man muss sie evtl. anpassen, sofern die Leitungswerte abweichen. Hierbei sei freigestellt, ob man eine logarithmische oder lineare Skala nimmt. Ich hab mich für eine lineare Skala entschieden.
/data/ledstatus.sh
/var/flash/calllog
Infolgedessen rufe ich immer die Webseite der Fritzbox auf und schaue nach.
Das war mir zu lästig, ich möchte an meiner Fritzbox direkt ablesen können, inwiefern das Netzwerk ausgelastet ist. Da DECT und WLAN ohnehin immer aktiv ist, soll eigentlich nur die Power-LED ihren "alten" Dienst tun und mir anzeigen, ob die Fritzbox eingeschaltet ist und Sync hat. Die restlichen LEDS sollen von rechts nach links anzeigen, wie ausgelastet das Netz gerade ist, d.h.:
- keine Last: alle LEDs aus (außer Power)
- wenig Last: Internet-LED an
- mittlere Last: Internet + Festnetz LED an
- viel Last: alle außer INFO an
- volle Last: alle LEDs an
Das folgende Skript macht seinen Job, sofern die Fritzbox Telnet-Zugang hat und die INFO-LED auf Dect-Status eingestellt ist. Gestartet wird es bei meiner 7270 über /var/flash/callog, welches bei ganz neuen Fritzboxen aber nicht mehr existiert. Man kann es auch einfach nach jedem Neustart der Fritzbox manuell über telnet starten. Telnet muss aber in jedem Fall freigeschaltet sein. Bei früheren Fritzboxen (7170 und vorher)funktioniert die LED-Ansteuerung etwas anders.
Die Grenzwerte sind in meinem Fall optimiert für eine 16.000 kbit/s Leitung. Man muss sie evtl. anpassen, sofern die Leitungswerte abweichen. Hierbei sei freigestellt, ob man eine logarithmische oder lineare Skala nimmt. Ich hab mich für eine lineare Skala entschieden.
/data/ledstatus.sh
Code:
#!/bin/sh
new=0
newstat=0
while [ 1 ]
do
#Messen
old=$new
new=`sed -e '15!d;s/[^-]*-[ ]*//' /proc/net/avm_pa/vpids`
delta=`expr $new - $old`
#Auswertung
oldstat=$newstat
if [ $delta -le 250000 ]; then
newstat=0
elif [ $delta -le 2000000 ]; then
newstat=1
elif [ $delta -le 5000000 ]; then
newstat=2
elif [ $delta -le 8000000 ]; then
newstat=3
else
newstat=4
fi
#Led setzen
if [ $oldstat -ne $newstat ]; then
case $newstat in
0)
/bin/led-ctrl internet_abgebaut festnetz_abgebaut wlan_off dect_abgeschaltet
;;
1)
/bin/led-ctrl internet_aufgebaut festnetz_abgebaut wlan_off dect_abgeschaltet
;;
2)
/bin/led-ctrl internet_aufgebaut festnetz_aufgebaut wlan_off dect_abgeschaltet
;;
3)
/bin/led-ctrl internet_aufgebaut festnetz_aufgebaut wlan_on dect_abgeschaltet
;;
4)
/bin/led-ctrl internet_aufgebaut festnetz_aufgebaut wlan_on dect_aktiv
;;
esac
fi
sleep 5
done
/var/flash/calllog
Code:
#!/bin/sh
if [ ! -f /tmp/ledstatus ]; then
touch /tmp/ledstatus
/data/ledstatus.sh &
fi