stpe
Goto Top

Synchronisation Windows-PDA mit Evolution unter Debian GNU/Linux

Diese Anleitung beschreibt, wie ein über USB angeschlossener Windows-Mobile-PDA unter Debian GNU/Linux (Testing-Release) mit Evolution synchronisiert werden kann. Ich habe die Einrichtung mit einem DELL Axim X3 (Windows Mobile 2003) und einem T-Mobile SDA
Music (Windows Mobile 2003 SE) erfolgreich vorgenommen. Die Verbindung sollte sich in gleicher Form aber auch mit anderen mobilen Geräten herstellen lassen, die mit Windows Mobile arbeiten.

Die benutzte Kernel-Version von Debian war 2.6.8. Als Window-Manager habe ich Gnome verwendet.

Mit Raki (eigentlich ein KDE-Programm) ist es auch möglich, ohne weitere Tools (wie das hier verwendete Multisync) die PDA-Daten mit den KDE-Groupware-Programmen (Kontact) abzugleichen.

Installation der zur Synchronisation benötigten Programme
Alle Programme, die zur Synchronisation der Geräte benötigt werden, sind in den Standard-Paketquellen von Debian enthalten, es müssen also keine Programme aus anderen Quellen besorgt oder gar kompiliert werden. Voraussetzung ist allerdings eine auf dem Rechner installierte KDEUmgebung, da synce-kde von dieser abhängt.

Das Module (der "Treiber") für den PDA ist beim Standard-Kernel von Debian verfügbar. Wenn ein eigener Kernel eingesetzt werden soll, so muss darauf geachtet werden, dass die Module "ipaq", "usbcore" und "usbserial" dynamisch mit eingebunden werden können, also nicht fest in den Kernel einkompiliert sind.

Ein als root ausgeführtes
  1. modprobe [Modulname]
bringt hier Gewissheit. (Bei einem entsprechenden Test nicht vergessen, ipaq wieder mit "modprobe -r ipaq" zu entladen, da für dieses Modul später noch Anpassungen vorgenommen werden müssen.)

Hier die Liste der zu installierenden Pakete:
? evolution (die Groupware-Suite)
? multisync (das Synchronisationsprogramm)
? synce-libmultisync-plugin (ein Plugin, das für Multisync benötigt wird)
? synce-kde (enthält Raki, das die eigentliche Verbindung zum PDA aufbaut)
? synce-serial (Programme zum Einrichten der Synce-Verbindung)
? synce-dccm (dccm erhält die Verbindung zum PDA aufrecht)
? librapi2-tools (enthält nützliche synce-Tools)
? libsynce0 (Programmbibliotheken)
? kcemirror (als Gimmick: den PDA über den PC fernsteuern)

Die Programme können entweder über die Shell mit "apt-get install [Paketname]" oder über ein GUI wie den "Synaptic Package Manager" installiert werden. Nach der Installation der Pakete sollte einmal Evolution aufgerufen werden, damit die Profildaten
des Programmes für den Benutzer angelegt werden.

Den Treiber für den PDA einrichten
Um den PDA über USB ansprechen zu können, muss der Treiber für das Gerät entsprechend gestartet und per synce für die Anwendungen zugänglich gemacht werden. Hierzu müssen Sie erst einmal die VendorID und die ProductID des PDA ermitteln. Dazu muss dieser am USB-Port angeschlossen werden. Anschließend bringt die Eingabe von
  1. lsusb
eine Ausgabe in der Art:
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 011: ID 413c:4002 Dell Computer Corp. Axim X3
Bus 001 Device 001: ID 0000:0000
Interessant sind die Angaben "413c" und "4002". Ersteres ist die sog. VendorID, also die Identifikation des Geräteherstellers, "4002" ist die ProductID, also die ID des Gerätetyps. Diese Angaben werden benötigt, um dem IPAQ-Treiber zu sagen, fuer welches Gerät er sich
"zuständig fühlen" soll. Mit einem Texteditor erstellen Sie dazu als root die Datei /etc/modprobe.d/ipaq:
options ipaq vendor=0x413c product=0x4002
Um sicherzustellen, dass der IPAQ-Treiber auch beim nächsten Booten des Systems wieder geladen wird, tragen Sie den Treibernamen in die Datei /etc/modules ein:
  1. echo ipaq >>/etc/modules
Wichtig ist hierbei das doppelte Größerzeichen (">>"). Wird nur ein ">" geschrieben, gehen alle anderen Eintragungen aus /etc/modules unwiderruflich verloren und es ist möglich, dass danach einige Gerätetreiber nicht mehr gestartet werden.

Synce einrichten
Synce ist das Programm, das für die Herstellung der Verbindung zum PDA gebraucht wird. Es bietet sich natürlich an, das Program automatisch zu starten, wenn der PDA an den USB-Port angeschlossen wird. Hierzu erstellen Sie zwei Dateien (auch wieder als Benutzer root):

Datei: /etc/hotplug/usb/synce.usermap
synce 0x0003 0x413c 0x4002 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

Datei: /etc/hotplug/usb/synce
#!/bin/bash
sleep 10
/usr/bin/synce-serial-abort
/usr/bin/synce-serial-start

Achten Sie bei der Anlage von "synce.usermap", dass Sie auch hier die VendorID und ProductID, durch die Daten Ihres Gerätes ersetzen müssen!

Das Script "synce" muss anschließend noch mit:
  1. chmod +x /etc/hotplug/usb/synce
ausführbar gemacht werden.
Um die gerade vorgenommenen Eintragungen zu aktivieren, sind ? nachdem der PDA vom USB-Port abgezogen wurde - noch drei Befehle abzusetzen:
  1. depmod -a
  2. modprobe ipaq
  3. /etc/init.d/hotplug restart

Jetzt muss Synce "eingerichtet" werden, d.h. Synce muss wissen, mit welcher Schnittstelle es arbeiten soll. Am komfortabelsten ist, wenn "synce-serial-config", "synce-serial-start" und "synceserial-abort", die normalerweise Root-Rechte benötigen, per sudo auch unter dem eigenen Benutzernamen gestartet werden können. Dann können die beiden Programme "synce-serialconfig" und "synce-serial-start" beim Login, bzw. "synce-serial-abort" beim Abziehen des PDA automatisch gestartet werden, und müssen nicht extra als root ausgeführt werden. Dazu tragen Sie diese einfach in /etc/sudoers ein.

Achtung: Die Datei /etc/sudoers muss(!) als root über
  1. visudo
editiert werden!


Die Datei sollte also um folgende Eintragungen ergänzt werden:
...
benutzername ALL=NOPASSWD: /usr/bin/synce-serial-config
benutzername ALL=NOPASSWD: /usr/bin/synce-serial-start
benutzername ALL=NOPASSWD: /usr/bin/synce-serial-abort
...

Der "Benutzername" muss natürlich durch das Kürzel des eigenen Logins ersetzt werden ;)

Das Script, das bei der Benutzer-Anmeldung ausgeführt werden soll, sieht folgendermaßen aus:
#!/bin/bash
/usr/bin/raki
/usr/bin/sudo /usr/bin/synce-serial-config ttyUSB0
/usr/bin/sudo /usr/bin/synce-serial-start

Ich habe das Script in meinem Homeverzeichnis unter bin (also "~/bin/raki.sh") abgespeichert. Ggf. muss das Bin-Verzeichnis noch angelegt werden. Vergessen Sie nach dem Erstellen der Datei nicht, auch diese mit "chmod +x ~/bin/raki.sh" ausführbar zu machen. Hier die Shell-Kommandos noch einmal im einzelnen:
$ cd ~
$ mkdir bin
$ vi bin/raki.sh
- raki.sh editieren
$ chmod +x bin/raki.sh
Jetzt muss noch sichergestellt werden, dass das Script auch wirklich beim Anmeldevorgang gestartet wird:
$ gnome-session-properties
öffnet die Verwaltung für die Sitzungseigenschaften von Gnome (Alternativ kann die Sitzungsverwaltung natürlich auch über das Menü System/Sitzungen gestartet werden).

Klicken Sie im Aktenreiter "Startprogramme" auf "Hinzufügen" und tragen als Startbefehl "~/bin/raki.sh" ein. Bei "Reihenfolge" kann die vorgegebene "50" stehenbleiben.

Damit sind alle Startvorbereitungen getroffen, jetzt können die Anwendungsprogramme eingerichtet werden.

Raki einrichten
Jetzt sind Sie nur noch einige Schritte vom ersten Datenabgleich entfernt:
$ ~/bin/raki.sh
startet das gerade erstellte Login-Script. Raki fragt beim ersten Aufruf nach dem Synchronisationsprogramm. Hier sollte "vdccm" ausgewählt werden. In der "Systemtray" erscheint nun das allseits bekannte "Active-Sync"-Symbol. Gleichzeitig wird im eigenen Homeverzeichnis ein Verzeichnis ".synce" angelegt.

In diesem Verzeichnis muss jetzt noch die Datei "scripts/dccm.sh" bearbeitet werden. Diese sollte so aussehen (denken Sie nach dem Editieren ggf. noch an den "chmod +x" ;) ):
#!/bin/sh
case "$1" in  
   connect)
      dcop raki Raki "setConnectionStatus(int)" 1  
      multisync &
      ;;
   disconnect)
      dcop raki Raki "setConnectionStatus(int)" 0  
      killall multisync
      # sicherheitshalber, da mein hotplug den remove nicht erkannte:
      sudo synce-serial-abort
      ;;
   start|stop)
      raki=`dcop | grep raki`
      dcop $raki Raki "dccmNotification(QString)" $1 2>/dev/null   
      ;;
   install)
      ;;
   uninstall)
      ;;
   *)
      echo "Help!"  
      ;;
esac
Der Sinn dieser Datei ist, dass der Synchronisationsvorgang von Multisync automatisch gestartet werden kann, sobald der PDA an den Rechner angeschlossen wird, bzw. Multisync beendet wird, wenn das Gerät vom USB-Port abgezogen wird.

Um die Änderungen dieser Datei zu aktivieren, klicken Sie einmal mit der rechten Maustaste auf das Raki-Symbol. Im Kontext-Menü wählen Sie "Stop DCCM". Danach muss auf die gleiche Weise DCCM wieder gestartet werden.

Jetzt muss der PDA wieder am USB-Port angeschlossen werden. Neben der Aktivierung von Raki sollte nun auch Multisync automatisch gestartet werden.

Multisync einrichten
Jetzt müssen Sie nur noch eine Verbindung Synce/Evolution für Ihren PDA einrichten, danach steht dem gewünschten Datenaustausch mit Evolution nichts mehr im Wege. Im Multisync-Programmfenster klicken Sie hierzu auf "New". Das Konfigurationsfenster muss wie folgt befüllt werden:

First Plugin: Ximian Evolution 2
Second Plugin: SynCE Plugin
Display Name: Irgendwas
Datatypes to synchronize: Häckchen für die Bereiche, für die synchronisiert werden soll

Beim "Ximian Evolution 2"-Plugin müssen anschließend noch die Optionen angepasst werden. Wählen Sie sowohl bei "Calendar", also auch bei "Addressbook" und "Tasks" die Option "Persönlich". Unter "Synchronize options" können Sie, wenn gewünscht, parametrieren, wie oft der Synchronisationsvorgang durchgeführt werden soll.

Nach dem Schließen der Einrichtungsdialoge ist die Gerätepartnerschaft angelegt, die Synchronisationsvorgänge können über den "Log"-Button überprüft werden.

Content-Key: 27685

Url: https://administrator.de/contentid/27685

Printed on: April 25, 2024 at 09:04 o'clock

Member: dg8wh
dg8wh Sep 21, 2006 at 13:41:14 (UTC)
Goto Top
Hallo und vielen Dank,
hat durch diese sehr detaillierte Anleitung super geklappt.


Willy