Verbindung PocketPC über SynCE
Aus Gentoo Linux Wiki
| Laptops • Motherboards • Servers • Eingabegeräte • RAID Controller • TV Karten • Wireless • Andere Hardware • Andere Architekturen • alphabetischer Hardware Index |
Inhaltsverzeichnis |
[Bearbeiten] Einleitung
Dieses HowTo ist eine Beschreibung um einen PocketPC mit dem PC oder Laptop zu verbinden. Diese Anleitung wurde nach dem erfolgreichen Verbinden eines MDA 3 mit einem Laptop über die mitgelieferte USB-Dockingstation geschrieben. Der hier beschriebene Vorgang sollte jedoch auch mit jedem anderen PocketPC (HP Ipaq, Dell Axim, ...) über USB Schnittstelle funktionieren.
Weiterführend wird das Bluetooth-HowTo Bluetooth_Synchronisation empfohlen.
verwendete Hard- u. Software:
- HTC "Blue Angel" vertrieben über div. Mobilfunktbetreiber wie:
- T-Mobile als MDA3 (MDA III)
- O2 als XDA 3
- Vodafone als VPA 3
- Betriebsystem: Windows Mobile 2003 SE - Version 4.21.1088 (Build 14132):
- ROM-Version: 1.22.01 GER
- Radio-Version: 1.13.00
- Protokoll-Version: 1337.42
[Bearbeiten] Kernelkonfiguration
Location:
-> Device Drivers
-> Network device support
<*> PPP (point-to-point protocol) support
[*] PPP multilink support (EXPERIMENTAL)
[*] PPP filtering
<M> PPP support for async serial ports
<M> PPP support for sync tty ports
Das "ppp_async" Modul sollte nicht in den Kernel kompiliert werden sondern wie hier dargestellt als Modul. Ansonsten bricht der Befehl "synce-serial-start" mit einem Fehler ab: "can't load or unload module ppp_async".
Zusätzlich brauchen wir noch die Module um den MDA korrekt als PocketPC erkennen zu lassen:
Location:
-> Device Drivers
-> USB support
-> Support for Host-side USB (USB [=y])
-> USB Serial Converter support
<M> USB Serial Converter support
..
..
<M> USB PocketPC PDA Driver
Ein sehr gutes HowTo den Kernel neu zu kompilieren gibt es bei Gentoo-wiki [[1]].
[Bearbeiten] Programme installieren
Für den Dateizugriff auf den PocketPC wird hier SynCE verwendet. Die Installation gestaltet sich unter Gentoo nicht ganz reibungslos. So sind die verfügbaren Pakete im Portagetree noch maskiert. Daher muß man folgende Zeilen in die Datei /etc/portage/package.keywords eintragen um die Installation unter Gentoo zuzulassen. Falls hier nich alle Programme aufgeführt sind kann man auch Wahlweise emerge -pv synce eingeben und die dort maskiert angezeigten Programme in die oben genannte Datei kopieren.
app-pda/synce ~x86 app-pda/synce-software-manager ~x86 app-pda/synce-librapi2 ~x86 app-pda/synce-libsynce ~x86 app-pda/synce-serial ~x86 app-pda/synce-dccm ~x86 app-pda/synce-trayicon ~x86 app-pda/synce-kde ~x86 app-pda/synce-rra ~x86 app-pda/dynamite ~x86 app-pda/orange ~x86 app-pda/synce-gnomevfs ~x86 dev-libs/libmimedir ~x86
Jedoch benötigen wir noch das eigentliche Framework um Dateien auch zu synchronisieren. Denn mit SynCE (genauer dem Raki Tool) können wir nur Dateien auf dem PDA anschauen, kopieren oder löschen. Um jedoch eine richtig Synchronisation durchzuführen benötigen wir noch das Programm Multisync (app-pda/multisync) und das Plugin für SynCE (app-pda/synce-multisync_plugin). Da das SynCE Plugin ebenfalls maskiert ist muss abermals ein Eintrag in /etc/portage/packages.keywords erfolgen
app-pda/synce-multisync_plugin ~x86
Man beachte aber die zu verwendeten USE-Flags für synce-multisync_plugin. Hierfür ist es ratsam die USE-Flags "bluetooth", "irmc" und "-ldap" zu benutzen: entweder direkt in die Datei /etc/make.conf oder vor dem emerge-Befehl mit eingeben wie hier unten demonstriert:
USE="bluetooth irmc -ldap" emerge -av synce synce-kde multisync synce-multisync_plugin
Jetzt sind alle nötigen Programme installiert.
[Bearbeiten] Module starten
Nach dem man mit dem korrekten Kernel gestartet hat, kann man die erforderlichen Module laden. Hier an dieser Stelle kann man schon den PocketPC mit dem Desktop/Laptop über USB verbinden.
modprobe usbserial modprobe ipaq
Jetzt kann man den MDA III mit dem PC über USB verbinden. Vorher ist es ratsam auf einer zweiten Konsole den Befehl:
tail -f /var/log/messages
aufzurufen. Falls Module nicht korrekt geladen werden lässt sich das hier nachvollziehen, indem die USB Verbindung zum PocketPC nach ein paar Sekunden wieder getrennt wird.
[Bearbeiten] Fehlermeldung beim ipaq-Modul
Sollte eine Fehlermeldung beim Verbinden auftreten (ipaq 2-2:1.0: device disconnected) muss das Modul ipaq mit Parametern geladen werden. Dazu zuerst das USB Kabel aus dem PC oder Laptop herausziehen und erneut einstecken. Jetzt in der Konsole (lsusb) eingeben (der PocketPC muss angeschaltet sein und nach einem Eintrag wie dem hier aufgeführten "High Tech Computer Corp."--> unser MDA III suchen.
# lsusb Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 002: ID 0bb4:0a05 High Tech Computer Corp. Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 046d:c00e Logitech, Inc. Optical Mouse Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
Aus den oben gezeigten Informationen kann man das Modul "ipaq" mit den entsprechenden Parametern laden. Vorher sollten wir das Modul jedoch korrekterweise noch einmal entladen.
# rmmod ipaq # modprobe ipaq product=0x0a05 vendor=0x0bb4
Danach sollte der MDA III beim Verbinden mit dem PC ohne Probleme funktionieren, wie hier zu sehen die Ausgabe von "dmesg".
Oct 27 20:46:21 lnx usb 3-1: new full speed USB device using uhci_hcd and add Oct 27 20:46:21 lnx ipaq 3-1:1.0: PocketPC PDA converter detected Oct 27 20:46:21 lnx usb 3-1: PocketPC PDA converter now attached to ttyUSB0
Ein weitere Fehler kann dadurch zustande kommen, dass das Gerät mehrere USB-Endpunkte besitzt (entspricht com1, com2,...), wie es zum Beispiel beim Yakumo Delta 300 der Fall ist. In dem Fall muss der Kernel noch gepatcht werden. DEn Patch gibt es unter folgender Adresse: http://synce.sourceforge.net/synce/patches/ipaq-0.6-olivier.patch Je nach verwendeter Kernelversion kann es sein, dass es hier noch etwas Handarbeit bedarf, da der 2.6.16er Kernel zum Beispiel etwas andere Funktionen erwartet. Da der Olivier-Patch bei mir nicht funktioniert stelle ich meine funktionierende Version für den 2.6.16 Kernel zur verfügung. Entweder das Patchfile unter http://www.webhochhaus.de/linux/patches/ipaq-module/ipaq-2.6.16-basti.patch herunterladen oder die Sourcen für das Kernelmodul selbst (http://www.webhochhaus.de/linux/patches/ipaq-module/ipaq.c) Nun muss das Kernel Modul mit einer Option geladen werden:
modprobe ipaq ttyUSB=1
Um diese Arbeit nicht bei jedem Neustart erneut machen zu müssen, kann man auch folgendes in die /etc/modprobe.conf oder z.B. eine Datei "ipaq" im Verzeichnis /etc/modules.d/ eintragen (nicht vergessen in diesem Fall anschließend update-modules zu starten):
option ipaq ttyUSB=1
Achtung! synce-serial-config muss nun mit ttyUSB1 koniguriert werden.
[Bearbeiten] SynCE starten
Jetzt kann man sich Synce widmen.
Dazu starten wir zuerst das Programm raki. Einfach als Benutzer raki eingeben. Wenn raki zum ersten Mal gestartet wird kommt eine Abfrage ob man vccm oder dccm benutzen möchte ich empfehle vccm zu wählen das dieser Modus mehrere Geräte zur Synchronisation unterstützt und bei mir einwandfrei funktioniert.
Falls auf dem PocketPC ein Password hinterlegt wurde, kann man dies dem Programm "raki" mit dem Parameter "-p XYZ" mitgeben.
Jetzt müssen wir Synce Konfiguration (als root) starten. Die Angaben zur Schnittstelle (/dev/tts/USB0) und die Vergabe der IP-Adressen.
# synce-serial-config /dev/tts/USB0 192.168.0.101:192.168.0.102 0:192.168.0.101:192.168.0.102 You can now run synce-serial-start to start a serial connection.
Jezt kann man synce starten (ppp_async als Modul muss nicht vorher geladen werden --> wird hier automatisch mit geladen). Dies muss man leider bei jeder Verbindung tun:
# synce-serial-start synce-serial-start is now waiting for your device to connect
Um bei jeder Verbindung des PDAs mit dem Computer synce-serial-start nicht manuell starten zu müssen gibt es eine einfache Möglichkeit um es via udev-rules automatisch auszuführen. Man muss dazu eine neue Datei namens z30_synce.rules in den Ordner /etc/udev/rules.d anlegen. Diese Datei muss folgenden Inhalt haben:
BUS!="usb", ACTION!="add", KERNEL!="ttyUSB*", GOTO="synce_rules_end"
SYSFS{idVendor}=="VENDOR NUMMER", SYSFS{idProduct}=="PRODUKT NUMMER", RUN+="/usr/bin/synce-serial-start"
LABEL="synce_rules_end"
Die VENDOR-NUMMER und PRODUKT-NUMMER ist dabei mit den Geräte-spezifischen Werten zu ersetzen, die in der Datei /proc/bus/usb/devices zu finden ist.
Jetzt sollte das raki-Symbol neben der Uhr bunt werden sowie ein akkustische Signal ertönen :-). Hiermit stehen plug&play technisch folgende Dienste zur Verfügung (Linksklick auf das bunte raki-Symbol):
- Info Management (Batteriestatus, Ladestatus, Installierte Programme, ...)
- Dateizugriff (lesen/schreiben), über die Eingabe "rapip://POCKET_PC_NAME/" in Konqueror (Storage Card ist leider nicht sichtbar im Dateibrowser) anwählbar
- Befehle auf dem Pocket PC können ausgeführt werden
- Eine VNC-ähnliche Anwendung namens KCEMirror kann gestartet werden um einen Remote-Zugriff auf den PDA zu erhalten
Letzteres ist hierbei nur möglich wenn KCEMirror auch installiert ist. KCEMirror befindet sich zur Zeit leider noch nicht im Portage-Tree, es existiert jedoch ein EBuild unter folgender Adresse:
http://www.webhochhaus.de/linux/ebuilds/app-pda/synce-kcemirror/synce-kcemirror-0.1.5.ebuild
[Bearbeiten] Verbinden mit dem Internet
Wenn die Verbindung mit Raki steht, ist es leicht mit dem PDA über das lokale Netzwerk ins Internet zu gehen.
Als erstes muss die Datei /etc/ppp/peers/synce-device angepasst werden.
| Datei: /etc/ppp/peers/synce-device |
## Modifications to this file will be lost next time you run synce-serial-config /dev/ttyUSB0 115200 connect '/usr/bin/synce-serial-chat' # nodefaultroute noauth local proxyarp debug ms-dns 192.168.2.1 192.168.2.33:192.168.2.201 crtscts linkname synce-device |
- debug: ist optional, falls Sie probleme haben könnte dass das Troubleshooting erleichtern
- ms-dns: Hier sollte die IP ihres Routers (falls nicht vorhanden, ihres PCs) eingatragen werden
- 192.168.2.33:192.168.2.201: Die erste IP muss die ihres PCs sein und die zweite die, die ihrem PDA zugeordnet werden soll
Jetzt müssen wir nurnoch dafür sorgen, das die verbindung auch an das LAN / Internet weitergeleitet wird. Dazu reichen diese beidem Befehle aus.
# echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Sollten Sie bereits eine Dialup Verbindung (über ppp) besitzen, müssen Sie ppp0 durch ppp1 bzw. pppX ersetzen.
Da dies nach jedem PC Start neu ausgeführt werden muss, ist es besser dies in einen Startup script einzutragen z.B. in /etc/conf.d/local.start
# echo "/usr/bin/echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/conf.d/local.start # echo "/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE" >> /etc/conf.d/local.start
Und schon können Sie mit ihrem PDA im Internet Surfen.
[Bearbeiten] Multisync starten
Mit dem Befehl multisync wird das Programm gestartet (ist aber auch in dem KDE-Startmenu vorhanden). Nun kann man gleich an die Konfiguration gehen und auf den Schalter "New" drücken. Es öffnet sich ein neues Fenster "Synchronization Pair" in dem wir die Plugins konfigurieren.
Für das erste Plugin habe ich das "SynCE Plugin" gewählt und beim zweiten Plugin "KDE Addressbook" eingestellt. Jetzt kann man die Einstellungen mit einem Klick auf OK verlassen.
Für die Synchronisation einfach noch einen Haken vor das zu synchronisierende Paar in Multisync setzen und einen kurzen Moment warten.
[Bearbeiten] Fehler bei erstmaliger Übertragung:
- Bei mir wurden leider alle Kontakte UTF8 konform in Kontact übertragen, so das ich alle Einträge mit Umlauten ändern musste.
- Zudem kam es einmalig zu doppelten Einträgen auf dem PocketPC.
[Bearbeiten] Verbindung trennen
Die Verbindung zum PocketPC kann man mittels der Eingabe:
# synce-serial-abort -n 0
trennen. Hierbei steht die Zahl 0 des Parameters für das zuerst eingerichtete Gerät mit "synce-serial-config".
USB Kabel herausziehen.
[Bearbeiten] Troubleshooting
Sollten Sie Probleme mit der Verbindung haben sollten Sie versuchen die Datenrate herunterzusetzen. Dazu müssen Sie die Baudrate in der Datei /etc/ppp/peers/synce-device verringern z.B. auf den Wert 19200
| Datei: /etc/ppp/peers/synce-device |
## Modifications to this file will be lost next time you run synce-serial-config /dev/ttyUSB0 19200 # Orginalwert 115200 connect '/usr/bin/synce-serial-chat' # nodefaultroute noauth local proxyarp debug ms-dns 192.168.2.1 192.168.2.33:192.168.2.201 crtscts linkname synce-device |
[Bearbeiten] Links
- http://de.gentoo-wiki.com/Bluetooth_Syncronisation
- synce.sourceforge.net
- www.multisync.org
- www.opensync.org
- Diese Anleitung ist im Verzeichnis TuxMobil Linux und Handy gelistet.
