OpenSync/SyncML-OBEX-Client

aus openSUSE, der freien Wissensdatenbank

Inhaltsverzeichnis

Einführung

Das SyncML OBEX Client Plugin erlaubt es, mit modernen Mobiltelefonen eine lokale Synchronisation durchzuführen. Die Synchronisation wird von Bluetooth und USB unterstützt. In OpenSUSE 10.2 Beta 2 gibt es für den Desktop Benutzer defaultmäßig keine Berechtigung, das USB RAW Interface zu verwenden. Dies wird zukünftig hoffentlich geändert, wenn wir viele USB Produkt- und Vendor IDs von Mobiltelefonen erhalten. Damit können wir dann für die nächste OpenSUSE Beta eine hal-resmgr fdi Datei anbieten, die den Zugang zum USB RAW Interface des Mobiltelefons erlaubt. Für Palm Geräte ist dies bereits geschehen.

Fügen Sie der Liste "Getestete Geräte" bitte auch dann detaillierte Informationen zu ihrem Mobiltelefon hinzu, wenn Sie bisher noch keinen Erfolge hatte!

Getestete Geräte

Nokia

Modell Firmware Kontakte DB Termine DB Notizen DB Aufgaben DB wbxml Identifier SyncML Bluetooth USB USB Produkt ID USB Vendor ID libsyncml Tester Kommentar
2630 contacts Bild:Haken-22px.png calendar Bild:Haken-22px.png notes Bild:Haken-22px.pngtodo Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.4.2 ligfiets Zum Synchronisieren wird ein "sauberer Bildschirm" benötigt
6300 v5.0 contacts Bild:Haken-22px.png calendar Bild:Haken-22px.png notes Bild:Haken-22px.png Todo Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.pngBild:Haken-22px.png - - 0.4.4 jh40 Zum Synchronisieren wird ein "sauberer Bildschirm" benötigt
6230 v5.50 contacts Bild:Haken-22px.png calendar Bild:Haken-22px.png notes Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.pngBild:Haken-22px.png 0x421 0x40f 0.4.2 dgollub Zum Synchronisieren wird ein "sauberer Bildschirm" benötigt
6230i v3.70 contacts Bild:Haken-22px.png calendar Bild:Haken-22px.png notes Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.pngBild:Haken-22px.png 0x421 0x428 0.4.2 dgollub Zum Synchronisieren wird ein "sauberer Bildschirm" benötigt
6680 v4.05.07 Contacts Calendar Bild:Haken-22px.png Notes Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.2-0.4.4 Arinium msynctool arbeitet perfekt. Syncml-obex-client funktioniert so wie hier beschrieben nicht.
9300i v6.27(00) Contacts Bild:Haken-22px.png Calendar Bild:Haken-22px.png RcntTask Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.4 kwbolte Konfigurationsdatei finden Sie hier: http://www.opensync.org/wiki/Nokia_9300i
9500 v5.22(1) Contacts Bild:Haken-22px.png Calendar Bild:Haken-22px.png Notes Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.2 FunkyM DB-Namen sind ander, "msynctool --sync nokia" funktioniert / multisync-gui schlägt auf evo2-sync fehl
E51 v100.34.20 Contacts Bild:Haken-22px.png Calendar Bild:Haken-22px.png Notes Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.6 en:User:Jas4711 Bugs in opensync (?) causes duplicated contacts when I also use iSync on Mac OS X. 0.4.5 did not work with calendar syncing.
E65 v2.0633.01.00 Contacts Bild:Haken-22px.png Calendar Bild:Haken-22px.png Notes Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.2-0.4.4 Arinium Using msynctool works but only one way: E65->Suse. Syncml-obex-client as described here doesn't work at all.
E90 Contacts Bild:Haken-22px.png Calendar Bild:Haken-22px.png Notes Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.4 kwbolte Konfigurationsdatei finden Sie hier: http://www.opensync.org/wiki/Nokia_E90
N73 v3.0638.0.0.1 Contacts Bild:Haken-22px.png Calendar Bild:Haken-22px.png Notes Bild:Haken-22px.png Bild:Haken-22px.png PC Suite 1.1 Bild:Haken-22px.png - - 0.4.2 Priwinn Kein "sauberer Bildschirm" nötig, nur mit kdepim-sync getestet
Legende:Bild:Haken-22px.png FunktioniertBild:Symbol-proprietaer.png Mit proprietären TreibernBild:Kreuz.png Funktioniert nicht Nicht getestet Nicht vorhanden


  • "Sauberer Bildschirm" wird für die Synchronisation benötigt
    • Das bedeutet, dass das Mobiltelefon die Synchronisation nicht ermöglicht, solange eine andere Anwendung läuft. Sogar ein Status Report einer vorherigen Synchronisation verhindert eine neue Synchronisation.
    • In Kürze: Versichern Sie sich, dass auf ihrem Mobiltelefon keine andere Anwendung läuft oder sonst ein Dialogfenster geöffnet ist - "sauberer Bildschirm".
    • "Received an transport error: Request not successfull: 67" - erscheint, wenn die Synchronisation verhindert wird

Sony Ericsson

  • Auf Sony Ericsson Mobiltelefonen kann die Firmware-Version folgendermaßen abgefragt werden: "> * < < * < *" , wobei "<" bzw. ">" eine Joystick Bewegung nach links bzw. rechts bedeutet. Man findet es auch unter Einstellungen/Allgemein/Updateservice/Softwareversion (je nach Provider ausgeblendet)
Modell Firmware Kontakte DB Termine DB Notizen DB Aufgaben DB wbxml Identifier SyncML Bluetooth USB USB Produkt ID USB Vendor ID libsyncml Tester Kommentar
K750i contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png 1.1 Bild:Haken-22px.png d016 0fce 0.4.2 cstender
D750i R1N035 contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.pngBild:Haken-22px.png d016 0fce 0.4.2 fasa01 getestet mit SL10.1,oS10.2
V630i R1ED001 contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.png d043 0fce 0.4.4_SVN237 felixmoeller2 openSUSE 10.3-alpha2
W800i R1AA008 contacts Bild:Haken-22px.png calendar
agenda Bild:Haken-22px.png
notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.pngBild:Haken-22px.png d028 0fce 0.4.4-98 casualprogrammer openSUSE 11.0 RC1
W810i O2-firmware contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 0.4.4-42 Danielmader openSUSE 10.3 GM
K530i R8BB001 contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.png d079 0fce 0.4.4-42 RedDwarf openSUSE 10.3 GM
K800i R1KG001 contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.png 0.4.4-42 drye openSUSE 10.3 GM
K770i R8AB001 contacts Bild:Haken-22px.png calendar Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.png d0b7 0fce 0.4.4-42 Dukla2000 openSUSE 10.3 GM
K810i R3A022 contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png 1.1 Bild:Haken-22px.png d0a1 0fce 0.4.4 zehmi openSuSE 10.3
G502 R1FA031 contacts Bild:Haken-22px.png agenda Bild:Haken-22px.png notes Bild:Haken-22px.png tasks Bild:Haken-22px.png Bild:Haken-22px.png 1.1 Bild:Haken-22px.png 0.4.4-99.1 jowi24 openSuSE 11.0
Legende:Bild:Haken-22px.png FunktioniertBild:Symbol-proprietaer.png Mit proprietären TreibernBild:Kreuz.png Funktioniert nicht Nicht getestet Nicht vorhanden


  • Hinweise zum G502
    • Aufruf ohne --wbxml führt zu folgenden Fehler (Neustart des Geräts erforderlich)
Received an transport error: Bluetooth connect error                                                                 
Received an transport error: Link Error

Testfallgrundlagen

Für die folgenden Testfälle benötigen Sie das Kommandozeilenprogramm "syncml-obex-client" welches im Paket libsyncml bzw. libsyncml-tools enthalten ist. Die Anwendung wird nur zum Testen verwendet und ist etwas kompliziert zu nutzen. Einige Grundlagen:

--sync <Typ> <Datenbank>
--slow-sync <Typ> <Datenbank>

Der Parameter --slow-sync löst einen sogenannten "slow sync" aus, der alle Einträge der angegebenen Datenbank abruft. --sync fragt nur die seit der letzten Synchronisierung neu hinzugekommenen oder geänderten Einträge ab (zum Testen nicht sehr hilfrich).

  • Typ: steht für den MIME-Typ
    • text/x-vcard - für Kontakte
    • text/x-vcalendar - für Termine
    • text/plain - für Notzien
  • Datenbank: ist der Name der Datenbank im Gerät in der die Einträge gespeichert sind. Bekannten Datenbanknamen:
    • contacts
    • calendar
    • notes
    • tasks
    • agenda (auf einigen Sony Erricson Mobiltelefonen)


--identifier <Name>

Dieser Parameter setzt die "Synchronization Software"-Identifikation, die genutzt wird, um das Mobiltelefon zu identifizieren. Die meisten Mobiltelefone ignorieren diesen Identifikationswert. Bisher kennen wir nur Nokia-Mobiltelefone, die die Synchronisation ablehnen, wenn die Identifikation falsch ist. Die Identifikation für Nokia-Mobiltelefone ist:

  • "PC Suite"
--wbxml

Dieser Parameter schaltet die Synchronisation von Plain XML auf WAP Binary XML um. Soweit wir wissen, wird dies bei den meisten Mobiltelefonen genutzt, weshalb wir es standardmäßig verwenden. Wenn Sie Probleme mit dem initialen sync-Testfall haben, entfernen Sie diesen Parameter.

-u <id>

Dieser Parameter ist für USB-Verbindungen. -u ohne id zeigt alle verfügbaren Schnittstellen an. Zur Zeit haben Nutzer standardmäßig keinen Zugriff auf das USB-RAW-Gerät. Fügen Sie das USB-Produkt- (product) und USB-Hersteller-ID (vendor) ihres Mobiltelefons bitte der Liste getesteter Geräte hinzu, so dass wir für die nächste Veröffentlichung Zugriff auf das USB-RAW-Gerät anbieten können.

-b <Adresse> <Kanal>

Dieser Parameter ist für Bluetooth-Verbindungen. <Adresse> ist die MAC-Adresse ihre Mobiltelefons und <Kanal> ist die Nummer des SyncML-Dienstes.

Umgebungsvariablen:

Falls Sie Trace-Dateien erzeugen möchten, schalten Sie tracing so ein:

      export SYNCML_TRACE=/pfad/zum/log/verzeichnis
      export SYNCML_LOG=/pfad/zum/log/verzeichnis

Anschließend den Aufruf neu starten, es werden je zwei Trace-Dateien im Zielverzeichnis erstellt.

hcitool scan

Sucht nach Bluetooth-Geräten und listet die Namen und MAC-Adressen der gefundenen Geräte auf. (Stellen Sie dabei bitte sicher, dass an ihrem Mobiltelefon Bluetooth aktiviert ist und dass es gefunden werden kann.)

sdptool browse <mac>

Zeigt die Bluetooth-Dienste des über die MAC-Adresse angegebenen Geräts an und gibt die zugehörige Kanalnummer aus. Suchen Sie dort nach "SyncML" oder "SyncML Client".

Testfälle

Tipp: Exportieren Sie $MAC, $KANAL und $USBINT mit den korrekten Werten für ihr Gerät und Sie können die Testfälle einfach hier kopieren und in ihrer Konsole einfügen.

Wenn Sie kein Nokia-Mobiltelefon haben, kopieren Sie nur bis --identifier "PC Suite", oder kopieren Sie nur bis --wbxml wenn ihr Gerät kein wbxml benutzt.

Initiale SyncML-Verbindung - nur lesend

Kontakte:

# Bluetooth
syncml-obex-client -b $MAC $KANAL --slow-sync text/x-vcard contacts --wbxml --identifier "PC Suite"
# USB
syncml-obex-client -u $USBINT --slow-sync text/x-vcard contacts --wbxml --identifier "PC Suite"


Termine:

# Bluetooth
syncml-obex-client -b $MAC $KANAL --slow-sync text/x-vcalendar calendar --wbxml --identifier "PC Suite"
# USB
syncml-obex-client -u $USBINT --slow-sync text/x-vcalendar calendar --wbxml --identifier "PC Suite"

(Auf einigen Sony Ericsson Mobiltelefonen müssen Sie "agenda" an Stelle von "calendar" nutzen.)


Notizen:

# Bluetooth
syncml-obex-client -b $MAC $KANAL --slow-sync text/plain notes --wbxml --identifier "PC Suite"
# USB
syncml-obex-client -u $USBINT --slow-sync text/plain notes --wbxml --identifier "PC Suite"


Aufgaben: (nur für Geräte, die Aufgaben/zu erledigendes nicht in der Termindatenbank speichern)

# Bluetooth
syncml-obex-client -b $MAC $KANAL --slow-sync text/x-vcalendar tasks --wbxml --identifier "PC Suite"
# USB
syncml-obex-client -u $USBINT --slow-sync text/x-vcalendar tasks --wbxml --identifier "PC Suite"

Mehrere Einträge mit dem Gerät synchronisieren

syncml-obex-client -b $MAC $KANAL --slow-sync text/x-vcard contacts --slow-sync text/x-vcalendar calendar --wbxml --identifier "PC Suite"
syncml-obex-client -u $USBINT --slow-sync text/x-vcard contacts --slow-sync text/x-vcalendar calendar --wbxml --identifier "PC Suite"

Dieser Testfall führt beim Sony Ericsson W800i zum Einfrieren mit der Anzeige "Synchronisieren", einzige Abhilfe: Akku entfernen.

Einen einzelnen Eintrag mit dem Gerät synchronisieren

syncml-obex-client -b $MAC $KANAL --slow-sync text/x-vcalendar calendar --add text/x-vcalendar /tmp/test.vcf --wbxml --identifier "PC Suite"
syncml-obex-client -u $USBINT --slow-sync text/x-vcalendar calendar --add text/x-vcalendar /tmp/test.vcf --wbxml --identifier "PC Suite"

Ihr SyncML-OBEX-Gerät als Nutzer verwenden

Um ihr Mobiltelefon als normaler Nutzer (also nicht als root) synchronisieren zu können, müssen die Berechtigungen korrekt gesetzt werden. Dies wird von resmgr, hal und co. erledigt.

Erstellen Sie eine Datei /etc/hal/fdi/policy/20user/cell.fdi mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.category" string="usbraw">
      <match key="@info.parent:usb_device.vendor_id" int="0x<HIER EINFÜGEN>">
        <match key="@info.parent:usb_device.product_id" int="0x<HIER EINFÜGEN>">
          <merge key="resmgr.class" type="string">cell</merge>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

Um die Klasse zu erstellen, erstellen Sie die Datei /etc/resmgr.conf.d/50-cell.conf mit folgendem Inhalt:

class cell
class desktop includes cell

usb_device.vendor_id und usb_device.product_id müssen an die korrekten Werte angepasst werden, die Sie mit lsusb herausfinden können. (Bitte 0x voranstellen, z.B. 0x0fce für usb_device.vendor_id )

Eine alternative /etc/hal/fdi/policy/20user/cell.fdi:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.bus" string="usb_device">
      <match key="usb_device.vendor_id" int="<HIER EINFÜGEN>">
        <match key="usb_device.product_id" int="<HIER EINFÜGEN>">
          <merge key="resmgr.class" type="string">cell</merge>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

Weiteres finden Sie in Fehler #258986 .

WWW-Verweise