Good to Know Database

AVM FRITZ!Box: DSL-Synchronisationsraten per Shell-Skript über UPnP abfragen


Bei der AVM FRITZ!Box können Sie über UPnP unter anderem auch die aktuellen Synchronisationsraten der DSL-Verbindung abfragen. Die folgende Anleitung soll Ihnen zeigen welche Daten Sie dazu an die FRITZ!Box senden müssen. Damit dies automatisch erfolgt und die Antwort der FRITZ!Box entsprechend nach dem Verbindungsstatus gefiltert wird, wird hier ein Shell-Skript erstellt welches nur den aktuellen Status zurückliefert.

Das folgende Skript wurde bereits erfolgreich mit den folgenden Geräten getestet:
- AVM FRITZ!Box Fon WLAN 7390
- AVM FRITZ!Box Fon WLAN 7490

Hinweis: Auf der FRITZ!Box muss UPnP aktiviert sein. Überprüfen Sie deshalb ob die Einstellung Statusinformationen über UPnP übertragen aktiviert ist.

Zuerst erstellen Sie mit einem Editor die Datei linkspeed.xml. Diese Datei enthält die UPnP-Informationen, welche später in einem POST-Request an die FRITZ!Box gesendet werden.

georg@ubuntu1404:~$ vi linkspeed.xml

Fügen Sie die folgenden Zeilen in diese Datei ein.

<?xml version="1.0" encoding="utf-8" ?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <u:GetCommonLinkProperties xmlns:u="urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1" />
  </s:Body>
</s:Envelope>

Danach erstellen Sie das eigentliche Skript welches die UPnP-Informationen an die FRITZ!Box sendet.

georg@ubuntu1404:~$ vi linkspeed.sh

Wenn Sie eine AVM FRITZ!Box 7490 oder eine AVM FRITZ!Box 7390 mit der jeweils aktuellen FRITZ!OS Version verwenden, fügen Sie die folgenden Zeilen in die linkspeed.sh ein.

#!/bin/bash
DATA=$(curl -s "http://fritz.box:49000/igdupnp/control/WANCommonIFC1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetCommonLinkProperties" -d "@linkspeed.xml")
echo Upload: $(echo $(echo ${DATA} | sed -n 's/^.*<\(NewLayer1UpstreamMaxBitRate\)>\([^<]*\)<\/.*$/\2/p') / 1000 | bc) kbit/s
echo Download: $(echo $(echo ${DATA} | sed -n 's/^.*<\(NewLayer1DownstreamMaxBitRate\)>\([^<]*\)<\/.*$/\2/p') / 1000 | bc) kbit/s

Sollten Sie hingegen eine AVM FRITZ!Box 7390 mit FRITZ!OS 06.03 oder einer älteren Firmware einsetzen, müssen Sie die folgenden Zeilen in die linkspeed.sh einfügen.

#!/bin/bash
DATA=$(curl -s "http://fritz.box:49000/upnp/control/WANCommonIFC1" -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetCommonLinkProperties" -d "@linkspeed.xml")
echo Upload: $(echo $(echo ${DATA} | sed -n 's/^.*<\(NewLayer1UpstreamMaxBitRate\)>\([^<]*\)<\/.*$/\2/p') / 1000 | bc) kbit/s
echo Download: $(echo $(echo ${DATA} | sed -n 's/^.*<\(NewLayer1DownstreamMaxBitRate\)>\([^<]*\)<\/.*$/\2/p') / 1000 | bc) kbit/s

Hinweis: Standardmäßig kann die FRITZ!Box unter fritz.box angesprochen werden. Sollte dies bei Ihnen nicht der Fall sein, müssen Sie im Skript stattdessen die IP-Adresse oder den gültigen Domainnamen angeben.

Nachdem Sie das Skript erstellt haben, müssen Sie noch die Rechte ändern.

georg@ubuntu1404:~$ chmod u+x linkspeed.sh

Wenn Sie jetzt das Skript linkspeed.sh aufrufen, wird die aktuelle Synchronisationsraten der DSL-Verbindung von der FRITZ!Box abgefragt und angezeigt.

georg@ubuntu1404:~$ ./linkspeed.sh
Upload: 1179 kbit/s
Download: 16343 kbit/s


Dieser Eintrag wurde am 12.04.2015 erstellt und zuletzt am 23.08.2015 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_2677.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer