- OpenSync FAQ
- Bluetooth (Linux/BlueZ)
- File-Sync Plugin
- Evolution 2 Plugin
- Gnokii Plugin
- Google Calendar Plugin
- GPE Plugin
- Irmc Plugin
- Jescs Plugin
- KDE PIM Plugin
- LDAP Plugin
- Moto Plugin
- Opie Plugin
- Palm Plugin
- Python Plugin
- Sunbird Plugin
- Synce Plugin
- SyncML
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 download 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?
http://www.opensync.org/wiki/DeviceCompatibilityList
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 http://www.opensync.org/wiki/CompilingForWin32_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).
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.
What are it's limitations?
http://www.nabble.com/forum/ViewPost.jtp?post=14778865&framed=y
Evolution 2 Plugin
http://www.opensync.org/wiki/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
Gnokii Plugin
Google Calendar Plugin
GPE Plugin
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.
LDAP Plugin
Moto Plugin
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:
- grep opensync.py install_manifest.txt to find the path. It should return /usr/local/lib/python2.5/site-packages/opensync.py
- Set the PYTHONPATH to include the new library path.
- (bash) export PYTHONPATH=/usr/local/lib/python2.5/site-packages/:$PYTHONPATH
Opie Plugin
Palm Plugin
Python Plugin
Sunbird Plugin
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.
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?
- You need a CA list file with the CA certificates (minimum the root CA but the intermediate CAs would be fine too).
- 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.
- 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.
