ubuntuusers.de

Handy via opensync und syncml syncen-Problem

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |

yeah

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

Ich habe ein Siemens BenQ S68 welches ich via Bluetooth anspreche. Nun wollte ich es zum syncen mit kdepim überreden.

Ich hab es zunächst mit der opensync Version und allen anderen plugins und libraries versucht, die unter feisty via Standardquellen verfügbar sind. Nach der (hoffentlich richtigen) Konfiguration kam allerdings beim sync-Versuch (msynctool --sync handy) der Fehler:

Member 2 of type syncml-obex-client had an error while connecting: Broken Pipe

Dabei habe ich opensync die syncml version 1.2 nutzen lassen, da laut Datenblatt das S68 diese benutzt. Wenn ich diese Einstellung auf 1.0 oder 1.1 änderte, kamen anderen Fehler die mir nur Fehlercodes mitlieferten (ich glaube 64 oder 69 oder 70, je nach laune) zu denen ich nirgends eine Erklärung fand.

Später habe ich es dann nochmal mit den Versionen der Programme, Plugins und libraries versucht, die ich aus der Quelle http://www.in.fh-merseburg.de/~jahn/opensync-0.21/ bekommen habe versucht. Es ergab sich genau das gleiche Ergebnis wie oben.

Weiterhin habe ich noch probiert mit dem Siemens-eigenen Tool xmpm Zugriff zum Handy zu erlangen. Leider mit dem Problem, dass mit xmpm anzeigt, dass kein Gerät gefunden wurde, obwohl mein Handy erfolgreich mit meinem PC gepaired ist und von xmpm untersützt werden sollte.

Zum Schluss noch eine kleine Erfolgsmeldung, die vielleicht auch relevant ist:
Auch über Bluetooth, via rfcomm und kmobiletools, habe ich Zugriff auf SMS und Adresspeicher meines Handys. Das Problem muss also irgendwo im OBEX client oder opensync versteckt sein.

Biite helft mir, ich will nicht wieder Windoof installieren müssen!

uzahnd

Avatar von uzahnd

Anmeldungsdatum:
3. September 2006

Beiträge: 497

Wohnort: Bern

kannst Du mal das Konfigurations-Script des Obex-Members hier anfügen?
Das erhältst Du, falls Du sonst nicht im Terminal arbeitest, indem Du in einem ebensolchen folgenden Befehl eingibst:

msynctool --configure handy X

wobei X entweder 1 oder 2 ist, je nachdem, das wievielte Member Dein Handy in der Gruppe ist.
Dann können wir von Deinen Angaben aus versuchen, den Fehler zu orten...

Gruss U

yeah

(Themenstarter)

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

Hallo, hier das Conifg-Skript:

<?xml version="1.0"?>
<config>
  <!-- (Only for bluetooth) The bluetooth address if the bluetooth mode is selected -->
  <bluetooth_address>00:0D:41:18:04:A8</bluetooth_address>
  
  <!-- (Only for bluetooth) The bluetooth channel to use. `sdptool browse $MAC` to search for the correct channel -->
  <bluetooth_channel>10</bluetooth_channel>
  
  <!-- (Only for USB) The usb interface number of the SYNCML-SYNC target. use syncml-obex-client -u (you will need access to the USB raw device) to find it. -->
  <interface>0</interface>
  
  <!-- The string that the plugin will use to identify itself. Some devices need a special string here. -->
  <identifier></identifier>
  
  <!-- The syncml version to use: 0 for 1.0, 1 for 1.1 and 2 for 1.2 -->
  <version>2</version>
  
  <!-- if the plugin should use wbxml -->
  <wbxml>1</wbxml>
  
  <!-- The username to use. Leave empty to not require a username -->
  <username></username>
  
  <!-- the password for the username -->
  <password></password>
  
  <!-- sets the connection type to use. 5 means obex over usb, 2 means obex over bluetooth -->
  <type>2</type>
  
  <!-- If wbxml is enabled, defines wether the wbxml should use string tables -->
  <usestringtable>0</usestringtable>
  
  <!-- Never send ADD command, but send REPLACE (not needed normally) -->
  <onlyreplace>0</onlyreplace>

  <!-- Workaround around for mobile phones which only use local timestamps and _no_ UTC timestamps! -->
  <onlyLocaltime>0</onlyLocaltime>
  
  <!-- Sets the maximum allowed size in bytes of incoming messages (some device need this option set). Example: 10000 -->
  <recvLimit>0</recvLimit>
  
  <maxObjSize>0</maxObjSize>
  
  <!-- The name of the contacts db. Must be the same as the phones sends -->
  <contact_db>Contacts</contact_db>
  
  <!-- The name of the calendar db. Must be the same as the phones sends -->
  <calendar_db>Calendar</calendar_db>
  
  <!-- The name of the note db. Must be the same as the phones sends -->
  <note_db>Notes</note_db>
</config>

Wie ich schon gesagt habe, habe ich alle 3 Versionen von SyncML ausprobiert. Außerdem habe ich <wbxml>1</wbxml> und <wbxml>0</wbxml> getestet, sowie <identifier></identifier>, <identifier>PC Suite</identifier> und <identifier>opium</identifier>

uzahnd

Avatar von uzahnd

Anmeldungsdatum:
3. September 2006

Beiträge: 497

Wohnort: Bern

Gibt es von Siemens eine Sync-Software für Win? Dann gib mal den Namen dieser Software als identifier an (PC-Suite ist das Ding von Nokia). Oder ist das eventuell 'xmpm'?

Ach ja: und wirf die interface-Zeile raus, oder lösch zumindest die Null, Du verwendest ja kein USB.

Ansonsten seh ich grad nichts Falsches, könntest Du vielleicht noch mal was zu den Fehlern sagen, die Du erhältst, wenn Du die älteren Versionen von SyncML verwendest?

Gruss U

yeah

(Themenstarter)

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

Die Windows-Sync-Software heißt mpm. Ich habe die Interface-Zeile gelsöcht und mpm und xmpm als identifier probiert. Außerdem hab ich nochmal die anderen SyncML-Versionen ausprobiert, bei beiden kommt dieser Fehler:

Member 2 of type syncml-obex-client had an error while connecting: Request not successfull: 70

uzahnd

Avatar von uzahnd

Anmeldungsdatum:
3. September 2006

Beiträge: 497

Wohnort: Bern

Hab grad ein bisschen rumgesucht, aber nichts wirklich Schlaues gefunden. Du erhältst Deine Broken Pipe ja schon beim Verbindungsversuch, dennoch kannste mal versuchen, Filter zu setzen und zu schauen, ob Du mit eingeschränkten Datenbank-Typen weiterkommst:

msynctool --conflict n --sync handy --filter-objtype note

oder dann eben als objtype 'event', 'todo' oder 'contact'.

Was mir zudem aufgefallen ist: bist Du sicher, dass Dein Bluetooth-Kanal für den Austausch über Obex die Nummer 10 ist? Normalerweise ist das die 11, findest Du raus mit

sdptool browse 00:0D:41:18:04:A8


Gruss U

yeah

(Themenstarter)

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

Dieses Filter setzen hat leider nichts bewirkt. Aber bevor dieser Broken Pipe Error kommt, scheint noch ein anderer Fehler zu kommen (aber schon immer, scheinbar):

/build/buildd/libsyncml-0.4.1/libsyncml/sml_session.c:1023:E:smlSessionGetSessionID: Assertion "session" failed
Member 2 of type syncml-obex-client had an error while connecting: Broken Pipe

Ich bin mir mit Kanal 10 schon ziemlich sicher:

Service Name: OBEX SyncML Client
Service RecHandle: 0x1010001
Service Class ID List:
  UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 10
  "OBEX" (0x0008)

yeah

(Themenstarter)

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

hat denn niemand ne idee wie ich das zum laufen bekomme?

yeah

(Themenstarter)

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

Soo, ich habs geschafft! Natürlich will ich euch die Lösung nicht vorenthalten:

Zunächst habe ich wieder die neueste version von OpenSync installiert (0.22)

Dann habe ich anstelle des SyncML-Plugins das IRMC-Plugin verwendet. Dabei in der Konfiguration dennoch Channel 10, der eigentlich der SyncML-Channel ist verwendet.
Damit funktioniert alles perfekt.

uzahnd

Avatar von uzahnd

Anmeldungsdatum:
3. September 2006

Beiträge: 497

Wohnort: Bern

yeah hat geschrieben:

Dann habe ich anstelle des SyncML-Plugins das IRMC-Plugin verwendet

Ist wohl besser so, seit 0.22 hört man nur noch von hängen-bleibenden SyncML-OBEX-Plugins. Hoffentlich ändert das wieder mit 0.30...

Gruss U

yeah

(Themenstarter)

Anmeldungsdatum:
19. Juni 2006

Beiträge: 30

jetzt wo an sich alles funktioniert, habe ich noch ein paar grundsätzliche sync-Fragen:

Wenn ich z.B. einen Eintrag (Kalender, Telefonbuch, was auch immer...) löschen möchte, muss ich ihn im Moment sowohl im Handy als auch im PC löschen, da er ansonsten beim nächsten Syncen wieder rüberkopiert wird. Ist es nicht irgndwie möglich, dass opensync checkt, dass ich den aktiv geköscht hab, und den Löschbefehl weiterleitet?

Ich hab auch noch weitere Probleme dieser Art, wie z.B. dass manche Einträge Daten enthalten die entweder nur das Handy oder nur der PC verstehen. Dass führt dann zu Doppeleinträgen, weil er beim synchronisieren nciht checkt, dass es den Eintrag schon gibt....

Gibts dafür Lösungen oder Tipps?

/edit
Ich hab noch ein Problem: Wenn ich Termine am Handy Eintrage und dann auf den PC übertrage, sind sie auf dem PC 2 Stunden zu früh. Andersherum stimmt die Uhrzeit.... seltsam!

uzahnd

Avatar von uzahnd

Anmeldungsdatum:
3. September 2006

Beiträge: 497

Wohnort: Bern

Hm.
1. Da ist das Programm eben noch zu wenig ausgereift, es hat in der Hinsicht aber auch schon Erfolgsmeldungen gegeben

2. Sollte nicht geschehen, wenn Du den Eintrag manuell nur auf einer Seite erstellst

3. hängt mit den GMT-Zeitangaben zusammen, bei gewissen Plugins lässt sich da bereits was einstellen, für den Rest gilt wie unter 1: Das Programm ist halt noch sehr jung...

Gruss U

Antworten |