Installation
The following packages should be installed:
- multisync-tools (for the msynctool program) - not available in Ubuntu 11.10
- opensync-plugin-evolution (for the Evolution communication)
- opensync-plugin-syncml (for the Nokia side of the communication)
- libsyncml-utils (for syncml-obex-client)
Use System->Administration->Synaptic Package Manager to grab those, or for terminal users:
sudo aptitude install multisync-tools opensync-plugin-evolution opensync-plugin-syncml libsyncml-utils
Check your installation
To test if everything went ok type:
msynctool --listplugins
You should get:
Available options: syncml-http-server syncml-obex-client evo2-sync
Configuration
Group setup
Opensync is complicated. It requires you to define groups first; groups basically pair a device with an application. So the first thing to do is to create a group:
msynctool --addgroup nokia-evo
Next we need to add 2 members to our group, one for Evolution (using the evo2-sync plugin) and one for your phone (which uses the obex plugin).
msynctool --addmember nokia-evo evo2-sync msynctool --addmember nokia-evo syncml-obex-client
Now, you will need to set up the actually applications.
Configuring
Remember I said it was complicated? Well, the next step is to configure group members. The Evolution side doesn't need configuring, but you need to have run evolution successfully once as the user.
The phone does need configuring, so run:
export EDITOR=gedit && msynctool --configure nokia-evo 2
The 2 at the end of the line indicates you're configuring the second member of the group. Once you run that, the text editor will be launched. This is XML, and it will scare you, but if you figure out how the file works, change the values that are there to:
- identifier: PC Suite
- version: 1
- wbxml: 1
- usestringtable: 1
- recvLimit: 10000
- maxObjSize: 10000
Don't change contact_db, calendar_db or note_db, and don't put in a username or password (perhaps unless you have one set up in the phone).
You'll also need to configure some additional bits based on what connection you're using, as per the following sections:
USB
Poor you, you'll need to fix permissions for your USB device. First you should connect your device with the usb cable. Then make sure that the lsusb command lists your device:
dani@marvin:~> lsusb Bus 001 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 002 Device 059: ID 0421:040f Nokia Mobile Phones 6230 GSM Phone Bus 002 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000
Now, unplug the phone. Run
sudo gedit /etc/udev/rules.d/40-nokia-mobiles.rules
and put the following line in there:
BUS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="*", MODE="0660", GROUP="dialout" # This might work if the above doesn't :-( # SUBSYSTEM=="usb", ATTR{idVendor}=="0421", ATTR{idProduct}=="*", MODE="0660", GROUP="dialout"
Save and exit. Now run:
sudo /etc/init.d/udev reload
so udev makes use of the rule. Plug the phone back in.
Now, finish off the configuration and change the following configuration options in the XML file you started editing above:
- interface: Find the interface number for the SYNCML-SYNC service by running the command:
syncml-obex-client -u
- type: 5
Bluetooth
If you're using Bluetooth, fill out:
bluetooth_address: use the bluetooth applet or run hcitool scan and put the address (a MAC, like 00:10:f3:14:4f:50) there.
- bluetooth_channel: if your channel wasn't listed in the syncing table, use sdptool browse and find the channel on which the "SyncML Server" service listens.
- type: set it to "2", for bluetooth
Syncing
Make sure the configuration has been updated using the command below:
msynctool --showgroup nokia-evo
If you encounter problems updating the configuration, try using a different editor (e.g. vi instead of gedit). That should be everything in terms of installing and configuration. Time to try to sync your phone. To do this type:
msynctool --sync nokia-evo
Alternatively you can start multisync0.90 graphical tool and do the syncing there. If you did everything right, it should output a lot of noisy stuff and the contacts should be synchronized. If not.. file a bug!
Related forums thread is: http://www.ubuntuforums.org/showthread.php?t=145289
Caveats
- The USB permissions are not easy to fix, and in at least one situation I encountered the first rule didn't work. It was also necessary to completely stop and start udevd to get it to update the permissions.
- The conflict resolution in msynctool is really hard to use and seems to report spurious conflicts based on UIDs. It may be easier to fix if you use the GUI app multisync0.90 (which lives in a package with that exact same name).
- On a couple of occasions, the syncing hangs after all the information has been transferred. This ends up requiring a control-C and means that the next syncs will be in "slow-sync" mode.
- This is not really a very good solution to synchronize a large volume of information between two phones: it's not very smart about resolving conflicts, in particular, and it seems to not realize that you've plugged in different phones (so you need to force slow-sync).