Adding a wiki page for this, I will update the page regarding the interoperability section
when more tests have been done.
http://opensource.intel.com/linux-wiki/moblin/DataSynchronization/libsync...
Copy it here for the public list:
While adding obex support for SyncEvolution, we are testing with another sync peer
(libsyncml), here is the instructions on how to set it up.
Get source and Compile
Adapt from
https://libsyncml.opensync.org/wiki/obex-guide
1. Install OpenObex, Bluez (Need some changes to compile with libopenobex 1.4
attachment:libsyncml.patch).
2. svn co
http://svn.opensync.org/libsyncml/trunk libsyncml
3. build and install
* cd libsyncml
* cmake . -B/tmp/build/libsyncml
* cd /tmp/build/libsyncml
* make
* make test
* make install
Usage
* List bluetooth devices and find the Mac address: hciconfig
* Check whether the device supplied syncML service and on which channel: sdptool
browse
* Use as Obex Client + syncML server
./syncml-ds-tool -b BtMac BtChannel --sync text/x-vcard Contacts
* Use as Obex Server + syncML client
./syncml-ds-tool --port BtMac BtChannel --sync text/x-vcard Contacts
Note it originally does not support obex server over bt from command line, need a small
patch
* Dump syncml message and trace log
o export SYNCML_TRACE=/path/to/log/dir
o export SYNCML_LOG=/path/to/log/dir
Interoperability issues with SyncEvolution
1. Device Type "desktop" is not supported by libsyncml, change to
"workstation" in configure-pre.in (SyncEvolution)
2. Xml parser error because of '\n" at beginning of syncml message, workaround
available: (Libsynthesis)
diff --git a/src/syncml_tk/src/sml/xlt/all/xltdecxml.c
b/src/syncml_tk/src/sml/xlt/all/xltdecxml.c index f35b300..44c729f 100755 ---
a/src/syncml_tk/src/sml/xlt/all/xltdecxml.c +++
b/src/syncml_tk/src/sml/xlt/all/xltdecxml.c @@ -254,6 +254,7 @@
_nextTok(XltDecScannerPtr_t pScanner)
rc = xmlSkipPI(pScannerPriv);
} else if (smlLibStrncmp((String_t)pScannerPriv->pos, "</", 2) == 0)
{
rc = xmlTag(pScannerPriv, 1);
+ skipS(pScannerPriv);
break;
} else if (smlLibStrncmp((String_t)pScannerPriv->pos, "<![CDATA[",
9) == 0) {
rc = xmlCDATA(pScannerPriv);
Thanks,
Chen,Congwu