Vor einiger Zeit habe ich eine neue UMTS Karte für mein Notebook bekommen und mich gefreut. Nach dem Anbieterwechsel konnte ich nun endlich die, an vielen Orten vorhandenen, W-Lan Hotspots benutzen – dachte ich.

Im Prinzip war das auch über den Vertrag abgedeckt, jedoch muss man für Aktivierung des Ganzen eine SMS an eine Kurzwahlnummer schicken, um als Antwort die Zugangsdaten zu bekommen. Jedoch passte die SIM-Karte zwar perfekt ins UMTS Modem, jedoch nicht in ein mir zur Verfügung stehendes Handy. Das Problem war Sim <-> MicroSIM.

Als einfachste Lösung habe ich mir gedacht, verschicke ich einfach eine SMS über den Laptop. Als Betriebssystem benutze ich Ubuntu, also konnte ich schon mal nicht mit Hersteller-tools rechnen. Nach kurzem Suchen hat sich allerdings herausgestellt, dass das auch prima mit Linux-Mitteln funktioniert.

Denn genau zu diesem Zweck wurde gammu erfunden, ein CLI-Tool mit dem das versenden und abrufen von SMS möglich ist. Zusätzlich gibt es noch die GUI wammu mit der man das ganze etwas grafischer benutzen kann. Das habe ich allerdings nicht ausprobiert. Denn gerade wegen der Command-line Schnittstelle ist Gammu interessant (z.B. als notification aus Icinga heraus)

Beispielhaft zeige ich kurz die Installation von Gammu auf meinem DELL Laptop.

1.) aptitude install gammu

2.) gammu-detect

3.) gammu –identify

Jetzt müsste unter /home/Mein_USER/.gammurc ein Datei angelegt worden sein mit folgendem Inhalt:

[gammu]
port = /dev/phone
model =
connection = at19200
synchronizetime = yes
logfile =
logformat = nothing
use_locking =
gammuloc =
name=

Das kann bei euch natürlich etwas anders aussehen.

Ich hatte noch ein kleineres Problem mit der Benutzung von gammu ohne root-Rechte. Dafür habe ich einen kurzen fix gefunden den ich euch natürlich auch nicht vorenthalten will. Diese ist auch der Grund, warum in meiner .gammurc /dev/phone steht

Man erstelle einen Symlink vom UMTS-Adaper device zu /dev/phone und sorge anschließend dafür das auch andere dieses beschreiben können
ln -s /dev/ttyACM0 /dev/phone
sudo ln -s /dev/ttyACM0 /dev/phone
chmod 666 /dev/phone
sudo chmod 666 /dev/phone

Als udev rules habe ich folgendes eingetragen, dieses ist allerdings gerätespezifisch

KERNEL=="ttyUSB*", ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006b", NAME="phone", MODE="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006b", NAME="phone", MODE="0666"

Als letztes noch ein paar wichtige Kommandos:

SMS abrufen:  gammu getallsms

SMS verschicken:  echo “Hallo! Ich bin ein Gammu-Test.” | gammu –sendsms TEXT 0123456789  (dieses könnte man auch so als notification command in Icinga eintragen.)

Christoph Niemann

Autor: Christoph Niemann

Christoph hat bei uns im Bereich Managed Service begonnen und sich dort intensiv mit dem internen Monitoring auseinandergesetzt. Seit 2011 ist er nun im Consulting aktiv und unterstützt unsere Kunden vor Ort bei größeren Monitoring-Projekten und PERL-Developer-Hells.