![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
von Fred Andresen
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.
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).
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.
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.
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.
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 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.
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.
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.
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.
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 |
© 2012 Linux New Media AG |
Last modified: 2007-01-25 17:07
[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]