claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 04/2004   »   Ausgabe bestellen

PDAs anschließen und mit KPilot synchronisieren

Anschluss finden

von Fred Andresen


Der Filofax hat ausgedient -- Personal Digital Assistants wie Palm Pilot & Co. sind tragbar, und der Datenabgleich mit Linux funktioniert.

Zur Zeit werden einem in den diversen Elektromärkten PDA-Einsteigergeräte nachgeworfen. Für die Tests zum Artikel haben wir uns zunächst für einen Palm Zire entschieden, das ist das derzeit wohl günstigste Gerät; die Preisspanne reicht dabei von 75 Euro im redaktionsnächsten Elektromarkt in München bis zu knapp 120 Euro im Elektromarkt am Grazer Hauptbahnhof. Der PDA hat bescheidene 2 MByte Hauptspeicher und läuft unter Palm OS 4 (Abbildung 1).

Aktuelle OS-5-Geräte bieten mehr, wie etwa ein Palm Tungsten T mit Farb-Display, 16 MByte RAM und Speicherkarteneinschub oder ein Sony Clie PEG-TJ35 mit 24 MByte und Memory-Stick-Pro-Schacht. Sie bereiten aber auch Probleme, weil die Linux-Distributionen die brandneuen Geräte noch nicht erkennen und deswegen auch die nötigen Module nicht automatisch nachladen, um mit Palm & Co. zu kommunizieren, wenn man die USB-Geräte ansteckt.

Abb. 1: Der Palm Zire ist ein günstiges Einsteigermodell und harmonisiert mit Linux.

Neue Geräte haben in der Regel einen USB-Anschluss -- sei es eine Direktverbindung über ein einfaches USB-Kabel wie beim Palm Zire, eine Docking-Station (das so genannte Cradle) beim Palm Tungsten oder ein besonderes Adapterkabel, das beim Sony mitgliefert wird; am PC endet alles in der USB-Buchse (Abbildungen 2 bis 4).

Abb. 2: Direktverbindung über ein einfaches USB-Kabel beim Palm Zire.

Abb. 3: Der Palm Tungsten T mit seinem USB-Cradle.

Abb. 4: Das Spezial-Adapterkabel des Sony mit USB-Link und Netzanschluss.

USB ist praktisch, schon weil die Schnittstellen von einem Hotplug-Manager überwacht werden, der laufend prüft, ob neue Geräte angeschlossen wurden, und dann die passenden Module (Treiber) ins laufende System nachlädt, wenn er die Geräte identifizieren kann. Sind die Module nachgeladen, also in den laufenden Betriebssystemkern eingebunden, kann Linux das Gerät ansprechen, also mit einem PDA Daten austauschen oder auf eine externe USB-Festplatte schreiben.

Variantenreicher Anschluss

Alte Palms besitzen ein Cradle, das an eine serielle Schnittstelle angeschlossen wird; die funktionieren problemlos und werden auch von den Linux-Distributionen erkannt. Damit das auch bei den USB-PDAs klappt, muss das System ein Kernel-Modul nachladen, das eine serielle Verbindung nachahmt: Dieses Modul heißt usbserial.

Dann braucht Ihr Linux noch ein weiteres Modul, einen Treiber für den PDA. Das Modul visor ist für die meisten Palm-OS-Geräte geeignet und funktioniert zuverlässig bis zur Version 4 des PDA-Betriebssystems und auch bei vielen Palm-OS-5-Geräten.

Schließen Sie den PDA an die USB-Buchse an, wird er noch nicht erkannt, weil er von sich aus keine Statusmeldung an den PC sendet; erst wenn Sie die Synchronisierungstaste drücken oder das enstprechende Menü mit dem Stift aktivieren, sendet er ein Signal über den USB-Anschluss. Erst diese Meldung fängt der Hotplug-Manager auf dem Linux-Rechner auf und lädt die nötigen Module nach. Linux-Programme wie Kpilot oder J-Pilot nutzen diese Module, um den PDA anzusprechen. Als Standardschnittstelle benutzen sie alle die Gerätedatei /dev/pilot, die Sie auf Ihrem Linux-System anlegen und auf die reale Schnittstelle umleiten müssen, an die der PDA angeschlossen ist.

Ist der PDA über ein Cradle an der ersten seriellen Schnittstelle angeschlossen, enspricht dem die Gerätedatei /dev/ttyS0, bei der zweiten seriellen Schnittstelle wäre das /dev/ttyS1. Der Name erklärt sich aus der Urzeit der Unix-Systeme: tty steht für "Teletype" und damit das Terminal, das früher über die serielle Schnittstelle an den Rechner angeschlossen war, und S steht für "seriell".

Die Gerätedateien, mit denen das usbserial-Modul eine serielle Leitung am USB-Anschluss nachahmt, heißen /dev/ttyUSB0 und /dev/ttyUSB1.

Damit der Datentransfer der Synchronisationsprogramme von und nach /dev/pilot auch ins rechte Kabel mündet, legen Sie einen so genannten Symlink an, eine symbolische Verknüpfung. Das ist dasselbe, als wenn zwei Namen auf eine Datei zeigen, nur dass es halt hier um eine Gerätedatei geht, hinter der eine physikalische Schnittstelle steht.

Gerätedateien und Verknüpfungen gehören Root, dem Systemadministrator; deshalb können Sie nur unter seiner Benutzerkennung die Dateien bearbeiten: Mit der Befehlsfolge auf der Konsole:

su -
ln -sf /dev/ttyUSB1 /dev/pilot

legen Sie eine symbolische Verknüpfung namens pilot im Verzeichnis /dev an, die auf die Gerätedatei ttyUSB1 im selben Verzeichnis verweist. Ist Ihr Palm seriell angeschlossen, müssen Sie /dev/pilot statt auf den zweiten USB-Anschluss auf die erste serielle Schnitstelle /dev/ttyS0 verlinken.

Lassen Sie dieses Konsolen-Fenster geöffnet: Sie haben hier Root-Rechte (Administratorrechte) und werden es gleich noch einmal brauchen.

Eine Besonderheit gab es noch bei unserem Palm Tungsten: Der PDA konnte nicht über /dev/ttyUSB1 angesprochen werden; statt dessen mussten wir /dev/pilot auf die Schnittstelle /dev/ttyUSB0 legen. Möglicherweise ist das bei weiteren Geräten der Fall.

Automatische Einrichtung prüfen

Damit auch die von Ihnen gestarteten, also unter Ihrer Benutzerkennung laufenden Programme auf die Schnittstelle zugreifen dürfen, prüfen Sie, ob Sie Mitglied der Gruppe uucp sind (die Schreibrechte auf seriellen Schnittstellen hat). Geben Sie dazu auf der Konsole

ls -l /dev/ttyUSB1

ein, und prüfen Sie, ob neben dem Eigentümer root die Gruppe uucp steht. Geben Sie in einem separaten Terminal-Fenster (in dem Sie nicht root sind) den Befehl

groups

ein und prüfen Sie, ob unter den Gruppen, denen Sie angehören, auch die Gruppe uucp aufgelistet ist. Auf den von EasyLinux unterstützten Distributionen ist das die Voreinstellung -- bis auf Mandrake Linux, denn da gehören die Schnittstellen den Benutzern ohnehin.

Abschließend prüfen Sie, ob Ihr System den PDA erkennt, wenn Sie ihn anschließen, und die richtigen Module lädt. Geben Sie dazu in dem Terminal-Fenster mit Root-Rechten den Befehl

tail -f /var/log/messages

ein. Der tail-Befehl zeigt die letzten Zeilen der Protokolldatei an, in denen allgemeine Systemmeldungen abgelegt sind; der Parameter f bewirkt, dass der Befehl nicht abbricht, sondern laufend die weiteren Meldungen anzeigt. So bekommen Sie mit, was auf Ihrem Rechner passiert und ob er den PDA erkennt.

Verbinden Sie dann den PDA bzw. das Cradle, in dem der PDA steckt, mit dem USB-Anschluss Ihres PC, schalten den PDA an und drücken die Sync-Taste. Erscheinen Meldungen auf der Konsole wie

... linux kernel: usbserial.c: ...Visor...detected

dann hat Ihr System den PDA erkannt. (Die Meldung ist länger; die Punkte dienen der Abkürzung.) Mit [Strg-C] beenden Sie die Logausgabe; dann lassen Sie sich mit dem Befehl

lsmod

alle Module auflisten, die aktuell geladen sind. Ist visor dabei (vermutlich das erste angezeigte Modul, weil zuletzt geladen), ist nichts mehr zu tun: Ihr PDA ist eingerichtet.

Entdeckungshilfe

Ist der PDA zu neu, werden usbserial- und visor-Modul möglicherweise nicht automatisch geladen -- so wie bei unserem Sony-PDA. Sie müssen dann die Module über die Kommandozeile laden. Dabei müssen Sie dem Modul mit speziellen Parametern angeben, für welches Gerät es benutzt werden soll. Die Parameter sind die Geräte- und die Hersteller-ID, die Sie aus der Systemüberwachungsdatei auslesen.

Geben Sie dazu wieder tail -f /var/log/messages ein und schließen Sie den PDA an. Im Protokoll erscheint eine Meldung der Art:

... kernel: usb.c USB device X (vend/prod 0x54c/0x169) is not claimed by any active driver

Die Hersteller-ID (engl.: Vendor) und die Produkt-ID sind im so genannten Hexadezimalformat angegeben, das durch voranstehende 0x zu erkennen ist. Die IDs 0x54c und 0x169 sind die unseres Sony-PDAs.

Laden Sie die benötigten Treiber mit diesen Parametern auf der Konsole nach:

modprobe usbserial <I>product=0x169 vendor=0x54c<I>
modprobe visor

Jetzt sollten Sie auch Geräte ansprechen können, die nicht automatisch erkannt wurden.

Das Programm

Das Programm KPilot läuft unter allen Lieblingsdistributionen von EasyLinux -- und ist natürlich mit an Bord. KPilot wird bei SuSE Linux 8.2, Red Hat und Mandrake allerdings nicht von vorneherein mitinstalliert. Die folgenden Absätze zeigen, wie Sie es nachinstallieren.

Mandrake Linux 9.2

  1. Unter Mandrake Linux 9.2 wählen Sie K-Menü / Einstellungen / Paketierung / Software installieren.
  1. Nach Eingabe des Administrator-Passwortes gelangen Sie in den Dialog Softwarepakete installieren, in dem Sie in Namen nach "pilot" suchen (Abbildung 5).
  1. Unter den angebotenen Paketen wählen Sie kdepim-kpilot-3.1.3-22mdk aus. Sollte das System melden, dass zusätzliche Pakete benötigt werden, akzeptieren Sie das mit OK.

Abb. 5: Mandrake besitzt ein komfortables GUI um Pakete nachzuinstallieren.

SuSE Linux 8.2

  1. Für die SuSE-Version 8.2 wählen Sie im YaST-Kontrollzentrum unter Software / Software installieren oder löschen und geben als Filter die Suche nach "pilot" ein (Abbildung 6).
  1. Unter den darauf angezeigten Paketen sind gnome-pilot, perl-PDA-Pilot und pilot-link bereits installiert; das Paket kdepim3-kpilot wählen Sie zusätzlich aus.
  1. Klicken Sie auf Automatische Überprüfung, damit die Paketabhängigkeiten aufgelöst werden, und bestätigen mit Akzeptieren. Das System fordert die zweite CD des Starter-Kits an und installiert das Paket.

Abb. 6: Suchen Sie nach pilot, wird SuSEs YaST fündig.

Red Hat Linux 9

  1. Unter Red Hat Linux wählen Sie K-menü / Systemeinstellungen / Hinzufügen/Entfernen von Applikationen, dann öffnet sich das Paket-Management (Abbildung 7).
  1. Neben Desktops / KDE Desktopumgebung klicken Sie auf die Details.
  1. In den Paketdetails wählen Sie unter Extra Pakete den letzten Punkt kdepim - PIM (Personal Information Manager) für KDE (Abbildung 8).
  1. Ein Klick auf Aktualisierung holt das Paket von der Installations-CD/DVD. Verlassen Sie das Installations-Management mit Beenden.

Abb. 7: Das Fenster des Installations-Managements von Red Hat.

Abb. 8: Installieren Sie das Kdepim-Paket für Red Hat nach.

Nach der Installation finden Sie KPilot in SuSE Linux 8.2 unter K-Menü / System / Dateisystem / Kpilot, in SuSE 9.0 erreichen Sie das Programm über K-Menü / Dienstprogramme / Synchronisieren. Bei Red Hat liegt das Programm unter K-Menü / Zubehör / Weiteres Zubehör / KPilot.

KPilot-Konfiguration

  1. Wählen Sie Einstellungen / KPilot einrichten.... Die Schnittstelle /dev/pilot ist voreingestellt; als Geschwindigkeit können Sie bei einer USB-Verbindung ruhig bis auf 57600 Kbps hochgehen. Geben sie Ihren Benutzernamen an, den sie auf dem PDA verwenden, und bestätigen Sie mit OK (Abbildung 9).
  1. Als nächstes wählen Sie Einstellungen / Leitungen konfigurieren... (SuSE 8.2, Red Hat) bzw. Einstellungen / Abgleichprogramme einrichten... (SuSE 9.0 und Mandrake 9.2). Noch sind keine Synchronisations-"Leitungen" aktiviert (Abbildung 10). Wählen Sie zumindest die Leitungen für Adressbuch, Aufgaben und Terminplaner.
  1. Zurück im Hauptfenster klicken Sie in der Symbolleiste auf den HotSync-Button (das Recycling-Symbol), dann bittet das Programm Sie, den Hotsync-Knopf am PDA zu drücken. Das Synchronisieren dauert nur einen Augenblick; über den Fortschritt informiert sowohl das Meldungsfenster im KPilot als auch das PDA-Display (Abbildung 11).

Abb. 9: Ohne einen Benutzernamen läuft nichts. USB verträgt auch höhere Datenraten als 9600 kBps.

Abb. 10: Bevor Sie den Palm Pilot synchronieren, richten Sie die "Datenleitungen" ein.

Abb. 11: Das Hotsync-Fenster im KPilot zeigt den Transferverlauf an.

Klappt es nicht, geben Sie unter Einstellungen / Allgemein / Pilot-Gerät einmalig die echte Gerätedatei /dev/ttyUSB1 an, beim zweiten Synchronisieren funktioniert dann auch wieder die Datei /dev/pilot.

Klicken Sie danach auf den Adressbetrachter, das dritte Symbol in der linken Spalte, sehen Sie den Inhalt des Adressen-Verzeichnisses aus dem PDA auch im KPilot-Fenster.

Kommandozeilen-Backup

Ein vollständiges Backup funktioniert zuverlässig nur auf der Konsole. Legen Sie dazu zunächst ein eigenes Unterverzeichnis unterhalb Ihres Benutzerverzeichnisses an, das als exklusives Backup-Verzeichnis für den PDA dient. Geben Sie dann auf der Konsole den Befehl

pilot-xfer -b <I>Backup-Verzeichnis<I>

ein und drücken die Hotsync-Taste am PDA, bevor Sie den Befehl mit der Eingabetaste abschließen.

Die Rücksicherung funktioniert mit der Option -r (für Restore) an Stelle von -b. Der pilot-xfer-Befehl ist Teil des pilot-link-Pakets, einer Sammlung von Kommandozeilen-Tools, die über bloßes Backup hinaus viele weitere Funktionen bieten. Genauer gesagt können Sie damit alles tun, was auch mit der Original-Palm-Software funktioniert; die grafischen Synchronisationsprogramme verwenden auch die pilot-link-Tools.

Bewährtes bevorzugt

Wie sich bei unseren Recherchen gezeigt hat, bereiten gerade die neuen Palm-OS-5-Geräte bisweilen Probleme mit dem Synchronisieren oder werden gar nicht erkannt. Für Palm OS 3 ist der Treiber dagegen ausgereift, so dass Sie diese älteren PDAs ohne Schwierigkeiten benutzen können -- dann auch mit weiteren, komfortablen GUI-Programmen wie J-Pilot oder Evolution.

Das Problem dürfte darin liegen, dass die älteren Cradles direkt an die serielle Schnittstelle angeschlossen werden, ohne Umweg über eine USB-Seriell-Emulation. Wer noch einen alten PDA hat, ist fein raus; alle anderen nutzen das Vorhandene und freuen sich auf die künftigen, verbesserten Treiber. (fan/hge)

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2018 COMPUTEC MEDIA GmbH | Last modified: 2007-01-25 17:07

Nutzungsbasierte Onlinewerbung

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]