Verbindung PocketPC über SynCE

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Teil ist Artikel der Hardware Serie.
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

'Persönliche Werkzeuge