gnokii unter MacOS X

MacOS X bietet einige Möglichkeiten, mit den meisten Handys über Bluetooth zu kommunizieren. So kann man mit Hilfe von iSync Kontakte und Kalendereinträge synchronisieren. Doch es fehlt die Möglichkeit zum Beispiel SMS von einem Handy runterzuladen, um diese lokal, auf einem Computer, zu speichern. Dafür gibt es aber diverse Möglichkeiten, die außerhalb der Systemfeatures von OS X liegen. Doch meistens ist die Software teuer oder nur für Windows erhältlich. Für Nokia-Handys gibt es jedoch das Open-Source-Programm gnokii, mit dem nahezu alle Nokia-Handys beliebig manipuliert werden können und das für alle Platformen verfügbar ist. Im Folgenden möchte ich zeigen, wie gnokii unter MacOS X installiert wird und wie man mit gnokii zum Beispiel SMS vom Handy herunterladen kann.

gnokii herunterladen / Prerequisites

Als Erstes muss eine aktuelle Version von gnokii heruntergeladen werden. Zu dem Zeitpunkt, zu dem dieser Artikel verfasst wurde, war die Version 0.6.9 die aktuellste, stabile Version. Zum Download gibt es diese Version hier. (Achtung: Auf dem Download-Mirror liegt im Wurzelverzeichnis eine alte Version, die man schnell für die aktuellste Stable-Version hält. Diese ist aber sehr alt, darum im Unterverzeichnis 0.6.x suchen. Außerdem empfiehlt es sich die .tar.gz-Version des Archivs herunterzuladen)
Damit haben wir den Quellcode des Programms, den wir jetzt kompilieren müssen.

Dafür brauchen wir aber die Xcode Tools, die die Entwickler-Tools, wie einen C++-Kompiler enthalten. Diese sind auf der ersten MacOS X-Installations-CD und können von dort aus installiert werden.
Die Dokumentation empfiehlt außerdem fink zu installieren, allerdings habe ich bisher nicht das Gefühl diese zu brauchen.

gnokii kompilieren und installieren

Das heruntergeladene Archiv muss nun entpackt und im Terminal (Zu finden unter Programme:Dienstprogramme:Terminal) in das Verzeichnis gewechselt werden (mit cd oder cdto). Dort geht es mit dem Konfigurieren los, dabei hilft ein beigefügtes Shell-Skript:

sh autogen.sh --disable-shared --disable-nls --prefix=/usr/local

Die Parameter sind erforderlich, weil es sich bei OS X eben nur begrenzt um ein vollwertiges UNIX-System handelt.
Als nächstes einfach kompilieren und installieren:

make
sudo make install

Letzteres muss als root (durch sudo) installiert werden, da wir in das Verzeichhnis /usr/local installieren wollen.
Nun muss gnokii nur noch konfiguriert werden, damit wir auf ein Handy zugreifen können. Die Installation erweist sich also als nicht besonders kompliziert.

Konfiguration von gnokii

Ich werde die Konfiguration von gnokii anhand meines Handys (Nokia 6230i), das via Bluetooth mit gnokii kommunizieren soll, demonstrieren. Eine Liste von bekannten Konfigurationen gibt es im Wiki, das aber in diesem Moment nicht zu erreichen ist. Ansonsten enthält auch die Dokumentation ein paar nützliche Informationen.

Maßgeblich für die Konfiguration ist die .gnokiirc-Datei im Home-Verzeichnis des Benutzers oder im /etc-Verzeichnis. Es bietet sich an, ersteren Ort zu verwenden, da dafür keine root-Rechte erforderlich sind. Der Inhalt der Konfiguration sieht für mein Handy so aus:

[global]
port = aa:bb:cc:dd:ee:ff
model = 6510
connection = bluetooth
use_locking = no
initlength = default
serial_baudrate = 19200

Es ist jedoch zu beachten, dass bei port die MAC-Adresse des Handys angegeben werden muss. Diese lässt sich zum Beispiel in den Systemeinstellungen von MacOS X heraus finden (dazu muss das Handy aber bereits über Bluetooth und MacOS X mit dem Mac verbunden worden sein). Dazu in den Systemeinstellungen die Seite Bluetooth aufrufen und bei den Bluetooth Geräten das Handy auswählen und die Adresse, die unter Adresse des Geräts steht, in die Konfigurationsdatei übertragen.
Die Angabe bei model gibt den Treiber an, den gnokii verwendet. Da es keinen eigenen Treiber für das 6230i gibt und der Treiber für die nicht-i-Version, also das Nokia 6230, inkompatibel ist, muss hier der Treiber für das Nokia 6510 verwendet werden. Das führt aber zu keinerlei Einschränkungen.

Damit ist auch die Konfiguration von gnokii abgeschlossen. Es ist jedoch zu beachten, dass manche Modelle seltsame Konfigurationen erfordern. Dafür bietet das Wiki von gnokii jedoch eine recht gute Anlaufstelle.

Wichtiger Hinweis für MacOS X: Häufig wird empfohlen in der Konfiguration use_locking = yes zu verwenden. Das funktioniert unter MacOS X jedoch nicht! Die Lockfiles, die den Zugriff auf das aktuelle Gerät sperren sollen, funktionieren unter MacOS X anders und somit würde gnokii gar nicht erst eine Verbindung zum Handy herstellen können. Dementsprechend immer use_locking = no setzen.

gnokii verwenden

Nun kann es los gehen, das Handy gnadenlos zu manipulieren, denn mit gnokii kann man wirklich sehr viel anstellen. Zu erst sollte man aber mit

gnokii --identify

die Konfiguration überprüfen. Eine mögliche Ausgabe wäre z.B.:

GNOKII Version 0.6.9
IMEI         : Seriennummer des Handys
Manufacturer : Nokia
Model        : RM72_73_-
Revision     : V 03.40

Falls es zu Warnungen kommen, wie z.B.

2007-07-13 14:38:22.385 gnokii[584] *** _NSAutoreleaseNoPool(): Object 0x50c2a0 of class NSIdEnumerator autoreleased with no pool in place - just leaking
2007-07-13 14:38:22.385 gnokii[584] *** _NSAutoreleaseNoPool(): Object 0x50dfc0 of class IOBluetoothNotification autoreleased with no pool in place - just leaking
2007-07-13 14:38:22.385 gnokii[584] *** _NSAutoreleaseNoPool(): Object 0x513670 of class NSCFArray autoreleased with no pool in place - just leaking

kann man diese getrost ignorieren. Es scheint derzeit noch einige Memory Leaks in gnokii zu geben, was aber nicht wirklich zu Problem führt.

Wenn man im Terminal einfach nur gnokii eingibt, bekommt man eine Übersicht über die Möglichkeiten, die gnokii bietet. Möchte man bspw. die aktuellste SMS aus dem Eingang auslesen, kann man folgendes eingeben:

gnokii --getsms IN 1 1

Eine Beschreibung der Parameter gibt es übrigens auch wieder im Wiki.


Artikel ist Copyright © by Christopher Harms, 2005-2007 und steht unter der CC-By-NC-ND 2.0.