wiki:faq

If the answer cannot be found from these FAQ pages, before asking it elsewhere one should read documentation and the question guide first.

  1. OpenSync FAQ
    1. What is OpenSync?
    2. How do I get started?
    3. What devices are known to work?
    4. How stable is it?
    5. How do I clean up a sync group for testing?
    6. How do I compile OpenSync from Subversion? There's no configure or autogen script, or a Makefile.
    7. With autoreconf -sfi I got the error "invalid unused variable name: `AM_LDFLAGS'"
    8. Is there a Windows Port?
  2. Bluetooth (Linux/BlueZ)
    1. How do I find the phone's MAC address?
    2. What channel should I use?
    3. Bluetooth pairing trouble
  3. How do I clean up a sync group for testing?
  4. My previous working setup shows now the Schemas validity error
  5. Why there will be no calendar syncing with 0.3x or 0.40?
  6. File-Sync Plugin
    1. What is the File-Sync Plugin useful for?
    2. How do I determine in which format the file-sync plugin stores the data?
    3. What are it's limitations?
  7. Evolution 2 Plugin
    1. I have successfully synced a modified event with evo2-sync but Evolution still shows the old one
  8. Irmc Plugin
    1. libopensync-plugin-irmc does not work with Sony Ericsson phones
  9. Jescs Plugin
    1. What is the Jescs Plugin for?
  10. KDE PIM Plugin
    1. I got: "Error synchronizing: Unable to connect to one of the members"
    2. kdepim-sync had an error while connecting: Unable to lock addressbook for writing
    3. I got "ImportError: No module named opensync"
  11. SynCE Plugin
    1. How can I sync my Windows Mobile 5 device?
  12. SyncML
    1. I got Error XYZ ... what does it mean?
    2. I got one hour difference between my phone and .…
    3. Does libsyncml support one-way syncs?
    4. syncml-obex-client
      1. My device has SyncML support and supports OBEX but it did not work.
      2. I only received error 67
    5. syncml-http-server
      1. I'm trying to use a username/password with syncml, but it's not working
    6. syncml-http-client
      1. Where can I find a syncml-http-client? or Can I use OpenSync with syncml to an online syncml server like mobical?
      2. I use SyncML over https, so what about the certificates?
      3. Do you support CRLs?

OpenSync FAQ

What is OpenSync?

OpenSync is a PIM (Personal Information Management) data synchronization framework that consists of several plug-ins that can be used to connect to different devices and systems.

How do I get started?

You can either get pre-built binaries for SuSE, Debian, Ubuntu or Mandriva, or build from source. The GettingStarted page contains all the information you need.

Once all the software is installed, it is time to start tinkering. A couple of tips:

  • using multisync-gui, start by trying to sync your various devices and applications one by one with a directory; then try to assemble the devices in the way you want.
  • Do not disable the syncing of the object type data, as it will disable syncing everything.

What devices are known to work?

See the device compatibility list?.

How stable is it?

OpenSync is currently in Alpha state, so it is not quite stable or safe enough to be used in a production environment.

Some simple setups are known to work quite well, while some are still quite experimental and unstable.

Currently we recommend everyone to make backups of everything for getting in touch with OpenSync.

How do I clean up a sync group for testing?

You need to purge all files except *.conf in the OpenSync group path. Alternatively, you could use this Bash script:

#! /bin/bash

if [[ -z $1 ]] ; then
        echo "Usage: $0 (groupname | all)"
        exit 1
fi

OPENSYNC_HOME="$HOME/.opensync"   # If you're running $0 via sudo, please change $HOME to the home directory of the other user explicitly

# First check for "all"
if [[ $1 = all ]] ; then
        msynctool --listgroups | sed '/Available groups:/d'
        read -p "Are you sure you want to remove the cache for all these groups (y/n)? " -n 1 response; echo;
        if [[ $response = 'y' ]] ; then
                msynctool --listgroups | sed '/Available groups:/d' | while read arg; do $(readlink -f $0) $arg; done
        else echo "Nothing to do"; exit 0
        fi
        exit 0
fi

SYNC_GROUP_FILE=$(grep -R -l --include="syncgroup.conf" "<groupname>$1</groupname>" $OPENSYNC_HOME)

if [[ -n $SYNC_GROUP_FILE ]] ; then
        SYNC_GROUP_PATH=$(dirname "$SYNC_GROUP_FILE")
        if [[ -n $SYNC_GROUP_PATH ]] ; then
                find "$SYNC_GROUP_PATH" -type f ! -name "*.conf" -print0 | xargs -0r rm
                echo "Removed cache of group $1 successfully"
        else
                echo "Dirname error. This means that there was an internal error in the script. Please look into the script"
                exit 1
        fi
else
        echo "Syncgroup $1 not found. Please use msynctool --listgroups to list available groups"
        exit 1
fi

# Check for lockfile. If exist, remove. Please make sure that OpenSync isn't running when this script is being executed
if [[ -e "$SYNC_GROUP_PATH/lock" ]] ; then
        rm "$SYNC_GROUP_PATH/lock"
fi

exit 0

How do I compile OpenSync from Subversion? There's no configure or autogen script, or a Makefile.

OpenSync is transitioning from autoconf/automake via scons to CMake. You need  CMake installed, then you can create a build directory and run from this build directory cmake -DCMAKE_INSTALL_PREFIX=/path/to/prefix /path/to/opensync/source to build the project. See also http://www.opensync.org/wiki/devel-branch-0.30. Some of the plugins still use autoconf/automake - for those you should use:

autoreconf -sfi

With autoreconf -sfi I got the error "invalid unused variable name: `AM_LDFLAGS'"

You need at least Automake 1.9 and Autoconf 2.60.

Is there a Windows Port?

This is being worked on - see Compiling for Win32 with MinGW? for the current status.

Bluetooth (Linux/BlueZ)

How do I find the phone's MAC address?

KDE3: Install kdebluetooth and start Konqueror/KIOSlave bluetooth:/ to discover devices or press the kbluetooth trayicon.

Console:

hcitool scan

What channel should I use?

sdptool search SYNCML

Bluetooth pairing trouble

Modern distribution ship with BlueZ 3.x have Bluetooth Passkey Agent included in  bluez-gnome and  kdebluetooth which handle the pairing/bonding of Bluetooth remote devices.

Older distribution still use something called "pin_helper". You can try to change your pin_helper in /etc/bluetooth/hcid.conf to one of the following (depending on distribution and version):

pin_helper /usr/bin/bluez-pin;
pin_helper /usr/lib/kdebluetooth/kbluepin;
pin_helper /usr/bin/bluepin;
pin_helper /usr/bin/pinwrapper;

pin_helpers are just old.- Use Passkey Agents!

If you have still trouble (maybe with feisty) start Konqueror and open obex://[xx:xx:xx:xx:xx:xx] (your BT address).

How do I clean up a sync group for testing?

Run the following command:

osyncdump <group name> --reset

My previous working setup shows now the Schemas validity error

syncml-obex-client.conf:109: element Connection: Schemas validity error :
              Element 'Connection': Missing child element(s). Expected is one of ( ActiveConnection, IrDA, Network, Serial, USB ).

You most probably have something like: <Connection><Bluetooth> ... You need to add the following into your existing <Connection> stanza.

<Connection>

<ActiveConnection?>Bluetooth</ActiveConnection?>

<Bluetooth>

. . . The idea behind is to allow more connections to be configured but only one is active. The configured connection is missing in the error message, dont worry. see also ticket #970

Why there will be no calendar syncing with 0.3x or 0.40?

Because format (vFormat, xmlFormat) plugins are not complete before these releases due the fact that iCalendar and vCalendar handling is really complex. Conversion problems between RRULE's complicates the implementation. There is no Timezone handling at all in vCalendar. 90% all sync setups request by users involve iCalendar <-> vCalendar syncing.

File-Sync Plugin

What is the File-Sync Plugin useful for?

The file-sync plugin is intended to synchronize all kinds of data directly to the file-system.
It is mainly used for backup and testing.

How do I determine in which format the file-sync plugin stores the data?

When I synchronize some peer against the file-sync plugin, the file-sync plugin stores the data in "xmlformat". But I would like to have it store the data in "vcard30" format rather than "xmlformat". How do I do this? By configuring the file-sync plugin as follows:

(...)
      <Formats>
        <Format>
          <Name>file</Name>
        </Format>
        <Preferred>vcard30</Preferred>
      </Formats>
(...)

What are it's limitations?

 http://www.nabble.com/forum/ViewPost.jtp?post=14778865&framed=y

Evolution 2 Plugin

Evo2-File?

I have successfully synced a modified event with evo2-sync but Evolution still shows the old one

The reason for this is the cache in evolution-data-server. You should quit evolution before syncing, and also kill the evolution dataserver.

ps aux | grep ^"$USER" | grep "lib/evolution"
mjahn    19187  0.2  1.5  50604  7704 ?        Sl   22:59   0:00 /usr/lib/evolution/evolution-data-server-1.6 --oaf-activate-iid=OAFIID:GNOME_Evolution_DataServer_BookFactory:1.2 --oaf-ior-fd=42
mjahn    19269  0.2  2.0  67768  9984 ?        Sl   22:59   0:00 /usr/lib/evolution/2.6/evolution-alarm-notify --oaf-activate-iid=OAFIID:GNOME_Evolution_Calendar_AlarmNotify_Factory:2.6 --oaf-ior-fd=44
kill `pidof evolution-data-server-1.6`
kill `pidof evolution-alarm-notify`

A evolution --force-shutdown should also do the trick

Irmc Plugin

libopensync-plugin-irmc does not work with Sony Ericsson phones

Syncronisation of notes does not work with newer Sony Ericsson cell phones.
If your phone is crashing, or you receive an error "Request failed" or similar, and you are using msynctool, please try "--filter-objtype note". If you're using a GUI frontend to OpenSync, use the appropriate option for the sync group to disable synchronising notes.

Jescs Plugin

What is the Jescs Plugin for?

The Jescs plugin can be used to connect to Java Enterprise System Calendar.

KDE PIM Plugin

I got: "Error synchronizing: Unable to connect to one of the members"

Kontact or KAddressbook is running, please close it before syncing. In KDE 3.x the PIM data must be accessed through methods that are tied to the frontends, thus they cannot be running at the same time. The upcoming Akonadi framework in KDE 4 should solve this problem.

kdepim-sync had an error while connecting: Unable to lock addressbook for writing

I had two 'resource' entries in kaddress book, pointing to the same std.vcf. Although, the other was not ticked active, it could not lock it.

I got "ImportError: No module named opensync"

Python can't find opensync.py and _opensync.so from libopensync. This is probably because you installed libopensync with a non-standard $prefix. Also, it is possible that the files were not built. python-devel and swig are needed. CFLAGS="-fno-strict-aliasing" may be required.

  • $prefix=/usr/local/ in these examples:
  1. grep opensync.py install_manifest.txt to find the path. It should return /usr/local/lib/python2.5/site-packages/opensync.py
  2. Set the PYTHONPATH to include the new library path.
    • (bash) export PYTHONPATH=/usr/local/lib/python2.5/site-packages/:$PYTHONPATH

SynCE Plugin

How can I sync my Windows Mobile 5 device?

The libopensync-plugin-synce in OpenSync is currently not able to sync with WM5 devices.
There is also  another project for syncing OpenSync with WM5 Devices.

SyncML

http://www.opensync.org/wiki/syncml-guide

I got Error XYZ ... what does it mean?

 http://libsyncml.opensync.org/wiki/ErrorCodes

I got one hour difference between my phone and .…

You need to change the value in syncml-obex-client.conf (syncml-http-server.conf).

<!-- Workaround around for mobile phones which only use local timestamps and _no_ UTC timestamps! -->
  <onlyLocaltime>0</onlyLocaltime>

Kitchensync has currently no support for this option.

Does libsyncml support one-way syncs?

We do not support one-way-sync (mostly because libsyncml was developed for OpenSync?).

syncml-obex-client

 http://libsyncml.opensync.org/wiki/obex-guide

My device has SyncML support and supports OBEX but it did not work.

  • Are you sure that you device supports SyncML over OBEX?
    sdptool browse XX:XX:XX:XX:XX:XX" (XX:XX:XX:XX:XX:XX is the MAC of your device)!!
    ............
    Service Name: OBEX SyncML Client
    Service RecHandle: 0x10001
    Service Class ID List:
      UUID 128: 00000002-0000-1000-8000-0002ee000002
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 1
      "OBEX" (0x0008)
    
    If you do not see the "OBEX SyncML Client" service, then your device does not support SyncML over OBEX.
  • Your device may need a identifier "PC Suite" or "opium" to work. See http://www.opensync.org/wiki/syncml-guide

I only received error 67

  • Maybe the OBEX stack crashed on your mobile. Try rebooting your mobile.
  • Maybe you used the wrong bluetooth channel?
    sdptool browse XX:XX:XX:XX:XX:XX" (XX:XX:XX:XX:XX:XX is the MAC of your device)!!
    ............
    Service Name: OBEX SyncML Client
    Service RecHandle: 0x10001
    Service Class ID List:
      UUID 128: 00000002-0000-1000-8000-0002ee000002
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 1
      "OBEX" (0x0008)
    
  • Maybe you need to enable wbxml ?
    syncml-obex-client -b $MAC 11 --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite"
    

syncml-http-server

I'm trying to use a username/password with syncml, but it's not working

This is not yet fully supported, so you did't make any mistake.

syncml-http-client

Where can I find a syncml-http-client? or Can I use OpenSync with syncml to an online syncml server like mobical?

There is a syncml-client in svn, but there has been no reported success with it so far.
You need libsyncmlclient and syncmlclient-plugin to get it work:

#libsyncmlclient
svn co http://svn.opensync.org/plugins/syncml-client/api/trunk/development/src libsyncmlclient
#syncmlclient-plugin
svn co http://svn.opensync.org/plugins/syncml-client/plugin/trunk syncmlclient-plugin

If you would like to try other options, have a look at  sync4jevolution

I use SyncML over https, so what about the certificates?

  1. You need a CA list file with the CA certificates (minimum the root CA but the intermediate CAs would be fine too).
  2. Your server must send a correct TLS certificate chain. This is sometimes problematic because GnuTLS (which is used by libsoup2 which is used by libsyncml which is used by syncml-http-client) expect a 100 percent RFC 2246 compliant certificate chain. This means certificate 0 must be the server cert. Cert 1 the signer cert of the server cert and so on. GnuTLS is not so tolerant like OpenSSL or all the browsers which process the correct order by themselves.
  3. You must configure the file with the CA certs in the configuration of the plugin (e.g. msynctool --configure group member).

Do you support CRLs?

No, we do not support CRLs until now. I don't think that GnuTLS checks the CDPs in certificates.