Palm Anbindung an Linux
Nachdem ich jetzt auch Besitzer eines Palms (Palm m105) bin, möchte ich kurz beschreiben, was alles nötig ist, um einen Palm mit einem Linuxrechner zu synchronisieren. Es wird erklärt, wie ein Palm an die serielle Schnittstelle angebunden wird, wie man Programme auf den Palm lädt, und wie ein Backup erstellt wird.

Inhalt

Voraussetzungen

Hardware

Die Voraussetzungen, um einen Palm an einem Linux-PC anzuschließen, sind ein "Cradle" (die Dockingstation, die normalerweise im Lieferumfang enthalten ist), ein Palm (ich benutze den Palm m105) und eine freie serielle Schnittstelle.

Man sollte sicher stellen, dass der Com-Port im BIOS überhaupt aktiviert ist. Weiterhin sollte die Unterstützung einer seriellen Schnittstelle im Kernel gegeben sein, was allerdings bei den Standardkernels der gängigen Distributionen so gut wie immer der Fall ist.

Für die Leute, die (wie ich) bisher kein serielles Gerät im Einsatz hatten und die Kernelunterstützung deaktiviert haben oder aus anderen Gründen den Kernel neu kompilieren müssen: Die Unterstützung für serielle Geräte ist unter den Character Devices zu finden, speziell der Standard/generic (8250/16650) and compatible UARTs) serial support sollte aktiviert sein. Will man später seinen Palm auch als Terminal nutzen (wird NICHT in diesem Tutorial beschrieben) sollte auch der Support for console on serial port miteinkompiliert werden.

Eine genauere Beschreibung zur Kernelkompilierung befindet sich im Abschnitt Kernel *.

Um den Palm am seriellen Port zu benutzen, darf außerdem kein anderes Gerät oder Programm die Schnittstelle blockieren. Bei meinem RedHat-Rechner blockierte z.B. das Programm gpm (für Cut&Paste und Mausunterstützung auf der Konsole) den Com-Port.

Es empfiehlt sich außerdem, ein neues Device anzulegen, da einge Programme (mehr dazu weiter unten) standardmäßig über /dev/pilot auf den Palm zugreifen wollen (man kann allerdings auch manuell die Schnittstelle als Parameter übergeben).
Das Device /dev/pilot ist allerdings nur ein Hardlink auf das Device /dev/ttyS?. Um ihn zu erstellen gibt man als Benutzer root folgendes Kommando ein:

user@sonne> ln /dev/ttyS? /dev/pilot
Für das Fragezeichen ist die entsprechende Nummer des Devices anzugeben (z.B. /dev/ttyS0 für die erste serielle Schnittstelle). Hier eine Tabelle der entsprechenden Bezeichnungen und der dazugehörigen Schnittstellen:

DOSLinux
COM1/dev/ttyS0
COM2/dev/ttyS1
COM3/dev/ttyS2
COM4/dev/ttyS3

Nähere Erklärung zu seriellen Schnittstellen gibts auch unter
http://www.tu-harburg.de/dlhp/HOWTO/DE-Modem-HOWTO-7.html

Nachdem das Device angelegt wurde, sollten nun noch die nötigen Rechte vergeben werden, dazu geben sie als root folgendes ein:

user@sonne> chmod 666 /dev/pilot
nach oben

Software


Softwareseitig muss man das Paket pilot-link installieren, das den gängigsten Distributionen beiliegt. Ist das Paket in Ihrer Distribution nicht enthalten, kann es von http://www.pilot-link.org/ herunter geladen werden.

Diese Sammlung von einzelnen Kommandozeilen-Programmen ist die Grundlage für die Kommunikation mit PDAs unter Linux. Auch alle mir bekannten Frontends bauen auf eine funktionierende pilot-link-Installation auf. Wenn Sie das Paket erfolgreich installiert haben, sollte noch die Umgebungsvariable PILOTRATE gesetzt werden. Diese Umgebungsvariable enthält den Wert der Geschwindigkeit, mit welcher die Daten übertragen werden. Die maximale Geschwindigkeit von 115.200 Baud sollte bei den meisten PCs keine Schwierigkeiten machen. Sie können aber alle anderen Geschwindigkeiten (die auch der Palm unterstützt) eingeben. Standardmäßig sind 9.200 Baud eingestellt. Um die Umgebungsvariable zu setzen, geben Sie folgendes ein:

user@sonne> PILOTRATE=115200
user@sonne> export PILOTRATE

Die beiden Befehle müssen allerdings bei jeder neuen Anmeldung eingegeben werden. Es wird daher empfohlen, die beiden Zeilen in die .bashrc im Home-Verzeichnis einzutragen, damit PILOTRATE bei jedem Login automatisch gesetzt wird.

Als Nächstes muss dafür gesorgt werden, dass auch auf dem Palm die richtige Geschwindigkeit eingestellt ist. Wählen Sie dazu Einstellen, dann rechts oben Verbindung und daraufhin unten die Option Direkt/Seriell. Nun wählen Sie bei Verbindungsmethode die Option Serial an PC und geht auf Details. An dieser Stelle kann die Geschwindigkeit ausgewählt werden (z.B. 115.200).

nach oben

Testen der Verbindung


Nachdem alle nötigen Einstellungen gemacht sind, die Software installiert ist und der Palm angeschlossen ist, ist es an der Zeit, den ersten Test durchzuführen.

Dazu lassen wir uns alle installierten Programme auf dem Palm anzeigen:
user@sonne> pilot-xfer -l
Nun sollten wir eine Aufforderung bekommen, die Hotsync-Taste am Cradle zu drücken:
user@sonne> pilot-xfer -l
Waiting for connection on /dev/pilot (press the HotSync button now)...
Die Liste der installierten Programme wird angezeigt. Diese kann z.B. so aussehen:
arbeit@baitronic:~ > pilot-xfer -l
Waiting for connection on /dev/pilot (press the HotSync button now)...
Connected
Reading list of databases in RAM...
'G200alarm'
'Datebk3DB'
'XMasterDB'
'BirthPrefs-Jmje'
'BirthDB-Jmje'
'MTroDB'
'AddressDB'
'DatebookDB'
'MailDB'
'MemoDB'
'ConnectionDB'
'NetworkDB'
'npadDB'
'ToDoDB'
'CalcDB-H-OpCl'
'CalcDB-OpCl'
'OmniRemote'
'Funcs'
'ToDoPLUSDrawingDB'
'ToDoPLUSSummaryDB'
'Eco Config'
'PilotPlot'

Die Liste ist deutlich länger. Sie wurde hier der Übersichtlichkeit halber gekürzt.

Wenn statt der Ausgabe eine Meldung wie die folgende angezeigt wird, stimmt etwas mit der Verbindung nicht:
pilot-xfer -l
Unable to bind to port '/dev/ttyS1'.
(Please see 'man pilot-xfer' or 'pilot-xfer --help' for information on setting the port).

Es muss sichergestellt werden, dass die richtigen Rechte auf /dev/ttyS? gesetzt sind (evtl. als root testen). Vergessen Sie nicht, die Variable PILOTRATE zu setzen.

Andere Gründe können sein:
- Wurde /dev/pilot auf das richtige Device gelinkt?
- Wurde der COM-Port im BIOS deaktiviert?
- Wird der COM-Port vom Kernel unterstützt?
- Ist das Device durch ein anderes Programm oder einen Dienst blockiert (z.B. gpm)?

nach oben

Das Programm pilot-xfer


Das Programm soll nicht in allen Einzelheiten hier besprochen werden. Wir wollen uns auf einige nützliche und oft verwendete Kommandos konzentrieren.

Zunächst einmal ist es sinnvoll, ab und zu ein komplettes Backup seiner Daten zu erstellen, damit z.B. bei einem Stromausfall (der Palm m105 arbeitet nicht mit Akkus!) nicht das komplette Adressbuch neu erstellt werden muss.

Mit dem folgenden Kommando wird eine komplette Sicherung aller Programme und Daten ins gewünschte Verzeichnis erstellt.

user@sonne> pilot-xfer -b /Pfad/zum/Backupverzeichnis

Soll eine Sicherung wieder hergestellt werden, verwenden Sie das folgende Kommando:
user@sonne> pilot-xfer -r /Pfad/zum/Backupverzeichnis

Mit der Option -s wird das Backup nach Änderungen synchronisiert und mit -u ein Update des Backups erstellt.

Der Befehl zum Installieren von Programmen auf dem Palm lautet:

user@sonne> pilot-xfer -i dateiname

Das Paket pilot-link bietet noch weitaus mehr Möglichkeiten. Für einen Einstieg und die grundlegende Bedienung genügen jedoch die hier beschriebenen Kommandos.

nach oben

Weitere Infos


Weitere Info's zu pilot-xfer und den anderen Programmen in diesem Paket gibt es auf der Manpage von pilot-link (man pilot-link).

Ich möchte noch auf ein Frontend hinweisen, das ich selbst angestestet habe und mit dem ich recht zufrieden bin. Es heisst jpilot und ist unter http://www.jpilot.org/ zu haben. Dieses Programm ist NICHT (wie der Name vermuten lässt) in Java programmiert sondern wird mit dem Gtk entwickelt. Es bietet von sich aus die wichtigsten Funktionen, wie Terminkalender, Aufgaben, Merkzettel und Adressliste, und es ist durch Plugins erweiterbar. Unter http://innominate.org/kurth/jpilot-Mail/ ist ein Plugin für die Email-Unterstützung von jpilot erhältlich.

Die hier beschriebene Anbindung ist bei weitem nicht alles, was der Palm in Zusammenhang mit Linux zu bieten hat. Es ist auch möglich, Palms per USB anzuschließen, den Palm als serielles Terminal zu benutzen, oder eine Peer-to-Peer-Verbindung herzustellen. Diese Anbindungen werden u.a. im "PalmOS-PDAs an Linux via PPP-HOWTO" beschrieben, das unter http://www.coling.uni-freiburg.de /~schauer/resources/docs/visor-howto/palmos-pda-howto.html zur Verfügung steht.

Autor: Baitronic