Linux: UMTS Signalstärke auslesen in bash ausgeben

1

Als ich vor einigen Tagen per UMTS mal wieder eine relativ schlechte Verbindung hatte, fragte ich mich, ob man nicht ein bash script schreiben könnte, dass die UMTS Signalstärke regelmäßig ausließt und auf der bash ausgibt um so den UMTS stick evtl. "ausrichten" zu können.

Das ganze gestaltete sich jedoch schwieriger als gedacht. Mittels minicom kann man zwar auf den UMTS-Stick (Modem) zugreifen und auch die Signalstärke ausgeben lassen AT+CSQ, jedoch ließ sich das ganze nicht so automatisieren.

Mit viel gefummel hab ich dann doch irgendwann hinbekommen, leider nur wenn der UMTS Stick offline ist.

  • mittels cat /dev/ttyUSB0 > $tempfile lass ich mir die Antworten des Modems in eine Datei schreiben.
  • durch echo -ne "AT+CSQr" > /dev/ttyUSB0 frage ich die Signalstärke ab
  • strings /tmp/test.log | grep '[0-9]+,[0-9]{2}' | awk '{print $2} ließt aus der binärdatei! den Signalwert aus
  • und durch ATZ resettet ich das Modem wieder.

Die Befehle jeweils einige Zeit brauchen, habe ich eine Pausen mittels sleep eingebaut. Das fertige Script sieht dann wiefolgt aus:

#!/bin/bash
#Programm while.sh

tempfile=$(mktemp)
# modem auslesen
cat /dev/ttyUSB0 > /tmp/test.log &
sleep 5
count=0           #Zähler auf Null setzen

#So lange durchlaufen  bis count nicht mehr unter 10 ist
while [ $count -le 2 ]
 do
 echo -ne "AT+CSQr" > /dev/ttyUSB0
 sleep 2
 signal=$(strings /tmp/test.log | grep '[0-9]+,[0-9]{2}' | awk '{print $2}')
 echo "Signal:" $signal
 sleep 11
 echo -ne "ATZr" > /dev/ttyUSB0
 echo > /tmp/test.log
 sleep 2
 done
exit 0

aufgerufen werden muss es mittels

./umtssignal.sh && killall cat
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

1 Kommentar

Antworten