Vorbereitungen:
1) KDE auf neuesten Stand bringen -> /download/repositories/KDE:/KDE3/SUSE_LINUX_10.0/i586
2) synce auf neuesten Stand bringen; d.h. synce-kde-pack-0.9.1-6.i586.rpm installieren.
3) Ermitteln Vendor und Produkt Nummer Ihres PDA (Pocket PC MS OS 2003) wie folgt:
(als root):
a) cat /proc/bus/usb/devices > /tmp/before
b) Einstecken des LOOX 720 in seine Cradle
c) Verbinden der Cradle mit einem ursprünglichen USB-Port (ohne Hub!)
d) cat /proc/bus/usb/devices > /tmp/after
e) diff /tmp/before /tmp/after
In der dritten Zeile des Output liest man:
P: Vendor=0bf8 ProdID=1001 Rev= 0.00
Damit sind Vendor Nummer und Produkt Nummer des LOOX 720 bekannt. Beide brauchen wir später noch.
f) USB Stecker der Cradle wieder lösen. Pocket PC Screen ausschalten.
Installation:
Am meisten stört mich an synce die dürftige Dokumentation in den SuSE Hilfeseiten und die umständliche Art, wie man als root die Verbindung zwischen Linux-PC und Pocket-PC zum Laufen bringen soll. Die dort beschriebene Methode ist im Zeitalter dynamischer Einheitendefinition (> = 10.0) nicht mehr optimal. (Siehe Kapitel 33 der SuSE Linux-Dokumentation zu 10.0 über Dynamische Device Nodes mittels udev. Darauf hat auch Yaron Tausky schon hingewiesen. Nur sind seine Instruktionen für SuSE Linux 10.0 so nicht anwendbar. Er benutzt nämlich eine andere Linux-Distribution. Hier gebe ich die Schritte an, die bei mir zum Erfolg geführt haben:
1) Als root prüfe man, ob die benötigten Module geladen sind:
modprobe ipaq
modprobe usbserial
Wenn jeweils keine Reaktion ausser Zeilenvorschub erfolgt, dann ist alles ok und Sie gehen zum nächsten Schritt:
2) Wir erweitern die Rules zur dynamischen Erzeugung von Device Nodes derart, dass beim Einstecken des Pocket PC in seine Cradle bei eingestecktem USB-Stecker das von Active Sync her bekannte Verbindungssignal ertönen kann und ähnlich auch das Trennungssignal beim Herausnehmen des Pocket PC aus dem Cradle:
Als root machen wir dazu folgendes:
cd /etc/udev/rules.d
ls
dann kommen die Namen der Rules (=Regeln) zum Vorschein, welche die dynamische Erzeugung von Device Nodes (= E/A-Einheiten) regeln. Insbesondere die Regel 50-udev.rules wäre dafür zuständig. Da die Regeln sequentiell durchgeprüft werden, solange, bis die erste zutreffende Regel gefunden ist, müssen wir eine Regel davorschieben, die speziell auf unseren synce-Fall zugeschnitten ist:
Wir erzeugen die Regel namens 49-synce.rules mittels des Editors vim in dem Unterverzeichnis /etc/udev/rules.d und geben in vim folgendes ein:
zunächst in die neue Datei i für Input und dann folgende 5 Zeilen:
DRIVER="ipaq",NAME="ipaq",SYMLINK="ttyUSB%n";GROUP="tty",MODE="0600"
BUS!="usb", ACTION!="add", KERNEL!="ttyUSB*", GOTO=synce_rules_end"
SYSFS[idVendor]=="0bf8", SYSFS[idProduct]=="1001"
RUN+="/usr/bin/synce-serial-start"
LABEL="synce_rules_end"
dann ESC-Taste Doppelpunkt-Taste :wq enter und die Zusatzregel 49-synce.rules ist damit erzeugt. Diese 5 Zeilen bewirken folgendes:
Sobald am USB-Bus ein Ereignis stattfindet, wird für den Driver ipaq (der für synce zuständig ist) eine Einheit namens ipaq dynamisch in die Device-Liste /dev aufgenommen und eben dieser Einheit eine Einheit ttyUSBn zugeordnet, wobei n=1 ist, weil ttyUSB0 bereits in der Device Liste statisch vorhanden war. Der SYMLINK sorgt also dafür, dass die Zuordnung der device ipaq zu demjenigen USB-Port genau zu dem Zeitpunkt vorgenommen wird, wo das Einsteckereignis stattgefunden hat. Wenn dann auch noch der im Cradle befindliche Pocket PC nach Hersteller und Type genau der meinige ist, dann sorgt Zeile 4 dafür, dass synce-serial-start ausgeführt wird. In Summa heisst das dann, dass das Verbindungssignal ertönen wird.
Noch ist es aber zum Einstecken des Pocket PC in seine Cradle noch zu früh! Es fehlen noch zwei Dinge:
1) Die Konfiguration von Synce:
(als root:) synce-serial-config /dev/ttyUSB0
2) Das Partnerprogramm vdccm
(als User nicht als root startet man die Menüfolge:)
Kmenü-Programme -> Dienstprogramme -> Raki
Daraufhin setzt sich das Microsoft Active Sync Symbol graufarben unten in die Kickerleiste. Ein Rechts-Klick auf dieses Symbol öffnet ein Menü und wir wählen das Schraubenschlüsselsymbol zwecks Konfiguration von Raki = vdccm aus. (Beim allerersten Aufruf von Raki wurde noch die Alternative dccm/vdccm abgefragt, wobei wir uns für vdccm entschieden haben!) Im Konfigurationsfenster sind noch zwei Dinge festzulegen:
a) der Startzeitpunkt von Raki:
Dazu markieren wir ein Kreuz in das Kästchen un sagen damit: Raki soll schon beim Hochfahren des Linux-PC gleich mitgestartet werden und von da ab auf das Einsteck-Event des Pocket PC in seine Cradle lauern.
b) die Pfadangabe zu vdccm:
Diese lautet /opt/kde3/bin/vdccm
Die 5 übrigen Pfade zu den Signalen und zu den iptables waren bereits richtig vordefiniert.
Nun ist es Zeit für einen System-Neustart.
Nach dem Hochfahren stecken wir den Pocket PC in seine Cradle. Nach kurzer Zeit ertönt der Microsoft Active Sync Klang. Auf der Kickerleiste färbt sich das Raki-Icon bunt und wird für die linke Maustaste empfindlich:
Als verbundene Geräte wird bei mir z.B. pocket_pc720 angezeigt. Ein Links-Klick darauf offnet einen Auswahlschirm, mit dem man sich noch vertraut machen muss: z.B. kann man das Pocket-PC Schirmchen auf dem PC-schirm spiegeln, ja man kann sogar den Pocket PC vom PC-Schirm aus per Maus-Klick fernsteuern. Man kann auch die Schirmchen-Bilder ausdrucken und Schnappschüsse machen.
Eine interessante Anwendung ist auch die Synchronisation mit dem AvantGo-Zeitungsdienst. Bei der Einrichtung muss man zunächst per Firefox einige Vorbereitungen erledigen:
1) https://my.avantgo.com/home register! Eingabe der eigenen Personalien, wobei ziemlich unverfrorene Details anzugeben sind.
2) https://my.avantgo.com/register/choose.device.html Hierbei müssen Sie Angaben über Ihren Pocket-PC machen.
3) Download des "AGCEIntegratedClientSetup.exe" Programms z.B. nach dem Desktop.
4) Download des autoconfig.mal datasets, in dem Ihre Charakterisierung abgelegt ist,
ebenfalls nach dem Desktop.
Nun müssen Sie ihren Pocket PC noch konfigurieren: Links-Klick Raki-Icon -> unterster Menüpunkt: Kreuzchen bei Avantgo.
Unter dem Menüpunkt Synchronisation müssen Sie noch angeben, dass das Partnerprogramm auf der Avantgo-Seite AGCEIntegratedClientSetup.exe heisst und dass es auf Ihrem Desktop zu finden ist. Ausserdem sollten Sie verhindern, dass bei jedem Einstecken des Pocket PC automatisch synchronisiert wird: also Kreuzchen entfernen! Sonst wird Avantgo überlastet. Bei mir klappt Avantgo einwandfrei!
Wenn man nun auf dem PC ein Terminalfenster öffnet und dmesg eingibt, dann sieht man, welch gewaltige Datenmenge ständig von 192.168.131.102 nach 192.168.131.201 übertragen wird, um die Spiegelung zu bewerkstelligen. Beide Adressen sind übrigens die Default Adressen von synce-serial-config.
Nun nehmen wir den Pocket PC aus der Cradle. Nach einigen Sekunden ertönt das Microsoft Active Sync Trennungssignal und das Kickersignal wird wieder grau.
dmesg bestätigt einem, dass USB disconnect, ipaq device disconnected und PocketPC PDA converter now disconnected from ttyUSB1 sind.
Schaut man im Terminalfenster mittels cd /dev ls die devices an, sind ipaq und ttyUSB1 wieder verschwunden; steckt man den Pocket PC wieder in seine Cradle, wird er wieder verbunden, das Kickersymbol errötet wieder und cd /dev ls beweist, dass die devices ipaq und ttyUSB1 wieder vorhanden sind. Also läuft die dynamische Einheiten-Konfiguration beim Einstecken in die bzw, Herausnehmen aus der Cradle völlig rund! w.z.b.w.
Viel Spass!
Dr. Günter Krieg
23.11.2006
P.S. Für folgende Pocket PCs u.a. müsste es analog funktionieren:
Device Vendor ID Product ID
Casio EM500 07cf 2002
Compaq IPAQ 049f 0003
Dell AXIM X5 413c 4001
HP Jornada 548 03f0 1016
HP Jornada 568 03f0 1116
TYPHOON MYGUIDE XL 0b05 4202
Übrigens habe ich festgestellt, dass die Product ID des LOOX 420,
der meiner Frau gehört, mit derjenigen des LOOX 720 identisch ist. Das verwundert mich schon sehr!
Dr_Krieg Gast |