Synchronize Sony Ericsson K610i with Ximian Evolution on Ubuntu

Since I just started testing Evolution as my PIM, including mail, calendar, todo and contacts, I thought it would be in its place to write a short post on synchronizing Evolution with a Sony Ericsson K610i (and quite possible other SE phones as well).

My old post on doing the same with a Mozilla Sunbird can be found here: Synchronize Sony Ericsson K610i with Mozilla Sunbird on Ubuntu.

As in the previous try, I had no luck making the synchronization work with OpenML, but had to use IrMC instead. I have no idea if this is because of some problem with SE’s OpenML implementation, or perhaps it’s just that I have misunderstood what OpenML is all about. Anyway… IrMC works fine so far.

I had a few hiccups during the first synchronization, so a backup of your contacts and appointments might be a good idea if you value your data. I had to empty my phones calendar to get sync to work properly, even though you could just sort out the conflicts manually the first time. I also had to purge old appointments in my calendar to get the synchronization to work correctly. Initially my calendar file in ICS format was 121Kb, and that seems to be more appointments than the phone can handle. I purged all appointments older than 60 days, and that resolved the problem.

Installation

The required packages, not including Evolution, are:

  • multisync
  • multisync-tools
  • bluez-utils
  • opensync-plugin-evolution
  • opensync-plugin-irmc

You can get them all with:

sudo apt-get install multisync multisync-tools bluez-utils opensync-plugin-evolution opensync-plugin-irmc

After installing the packages you just need to setup a synchronization group using multisync tools.

msynctool --addgroup EvoK610irmc

Here “EvoK610irmc” is the name of the group that will hold the synchronization pairs, you can choose anything that you feel is appropriate.

Then it is time to add the participants to the group. First the evolution plugin, which need no further configuration, if you are using the standard calendar and address book:

msynctool --addmember EvoK610irmc evo2-sync

Then add the IrMC plugin by writing:

msynctool --addmember EvoK610irmc irmc-sync

That’s pretty straight forward so far.

Configuration

The evo2-sync plugin does not need any further configuration, as long as you are using the default calendar, address book etc. If you want to see, and possibly change the configuration, this can be done with the following command:

msynctool --configure EvoK610irmc 1

which allows you to view and change the settings of the first member in the EvoK610irmc group. The configuration is XML syntax, and is opened in the default editor, which is Nano in my terminal. My default configuration look like this: evo2-sync.config.

The second plugin configuration need to be set up with your phone’s address and IrMC channel. The first part is to find your phone’s address. Write:

hcitool scan

and note your phone’s MAC. Then proceed to write:

sdptool browse yourphonesmachere

and look for the “Service Name: OBEX IrMC Sync Server” section. Note the channel number, on my phone it’s channel 8.

Then it’s time for configuring the second member of the sync group, the irmc-plugin. Write:

msynctool --configure EvoK610irmc 2

The configuration should be like this: irmc-sync.config. Then it’s time to synchronize your data.

Usage

To synchronize your phone and Evolution simply fire up multisync with the command:

msynctool --sync EvoK610irmc

That’s at least what you should do, ideally. My experience is that you need to exclude some parts of the synchronization, and perhaps split it up in pairs. There are five types of objects available for synchronization: event, todo, contact, note and data. First, the note object type does not seem to have any effect on my synchronization. Notes on my phone are not synced to memos in Evolution, or the other way round, so I leave the note object type out of my synchronization. Secondly the data object must be included. If it’s exclude the synchronization can not connect to Evolution. Finally, my experience is that it’s best to split synchronization in two steps, since there is a tendency that the sync will hang and/or fail if you try performing a synchronization with all object types together.

So let’s start out with the calendar and todo list:

msynctool --sync EvoK610irmc --filter-objtype note --filter-objtype contact

I filter out the note (which does nothing) and the contacts. This leaves event, todo and data. To sync the contacts and the address book write:

msynctool --sync EvoK610irmc --filter-objtype event --filter-objtype todo --filter-objtype note

which filter out everything but contacts and data.

During synchronization conflicts might be encountered. You will be asked to resolve these conflicts, selecting either side 1 (Evolution), side 2 (the phone), duplicate, the newest etc. If you are certain how you want to resolve conflicts, it is possible to include the –conflict option when synchronizing. For example:

msynctool --sync EvoK610irmc --conflict n --filter-objtype note --filter-objtype contact

always keeps the newest event or contact. Possible options are: Resolve all conflicts as side [1-9] wins, [d]uplicate, [i]gnore, or keep [n]ewer.

That’s it. All you need to synchronize your phone with Evolution.

Notes

14 thoughts on “Synchronize Sony Ericsson K610i with Ximian Evolution on Ubuntu

  1. This guide works as well with the SE k850i
    Thanks for writing it, it works like a charm.

    However I think you made a small misstake with the apt-get line. It should be
    opensync-plugin-evolution in stead of the sunbird one :).

  2. This is a great how to. I’ve been trying to sync the k610i for almost 2 years. The problem is the “note” sync. If you don’t filter it out, it breaks the sync. If anyone wants to use a good GUI for syncing, use Multisync0.90, you may need to add the opensync repo to get it though. After you’ve installed the required packages above, you then install Multisync, and can configure everything from within Multisync. Just remember to tick the “note” box. You may also run into trouble with the irmc set up, so remove all the help info below the config. And remember to pair your phone first :)

  3. Hi
    I’ve been trying to sync G900 for quite a while, this is the closest I have come so far, but I still need some adjustments.

    I contacted SonyEricsson, and to sum it up, they politely instructed me that it was possible to sync G900 with Outlook on Windows ;-)

    I don’t have ir turned on. I couldn’t see “sync” anywhere in the sync file

    I found out that I had to wipe out everything but just a few lines in the top.
    I tried different channels, and get asked about a password. (don’t know what pwd)
    I will try again tomorrow
    regards
    MyTer

  4. Multisync0.90 has an option called “autosync”. It would then automatically detect changes in Evulution, and sync them right away.

    This looks really cool, however, I cant get it to work. Will this setup automatically sync my K610i after I edit something in Evolution?

  5. Hello. Thanx for a really good manual – but it’s not running at my computer (having also K610i). There’s some problem with connecting to evolution. Could you help, please?

    [code]root@hex:/home/ondrej# msynctool --sync EvoK610irmc --filter-objtype event --filter-objtype todo --filter-objtype note
    Synchronizing group "EvoK610irmc"
    Member 1 of type evo2-sync had an error while connecting: Unable to open anything
    Member 2 of type irmc-sync just connected
    Member 2 of type irmc-sync just disconnected
    All clients have disconnected
    The sync failed: Unable to connect one of the members[/code]
    Error while synchronizing: Unable to connect one of the members

  6. Sorry, made one mistake (thought some tags will work). Once more…

    Hello. Thanx for a really good manual – but it’s not running at my computer (having also K610i). There’s some problem with connecting to evolution. Could you help, please?

    root@hex:/home/ondrej# msynctool –sync EvoK610irmc –filter-objtype event –filter-objtype todo –filter-objtype note
    Synchronizing group “EvoK610irmc”
    Member 1 of type evo2-sync had an error while connecting: Unable to open anything
    Member 2 of type irmc-sync just connected
    Member 2 of type irmc-sync just disconnected
    All clients have disconnected
    The sync failed: Unable to connect one of the members
    Error while synchronizing: Unable to connect one of the members

  7. Hi man

    Sorry about not answering you before. The blog has been lying pretty low for the last year. I’m not using the K610 anymore (a W890 these days) and I have completely scrapped using Evolution, except for a little bit at work.

    I’m still syncing my phone, but now I’m relying on Google to do the hard work. I’ll post something on keeping the phone / thunderbird / google / evolution and even MS Outlook in sync at the same time very soon. Working on the post now… promise!

  8. Oh man! I’m really not gonna give all my personal data to google :-D I’ll rather buy a new phone instead :-D But thanks a lot 4 your advices!

  9. Hi, thank you for your great post, it help me to figure out how to transfer my address from K750i.
    but using irmc-sync I will geting broken-pipe error.
    I changed your method to use syncml instead of irmc-sync and it worked
    the procedure is as follow:

    sudo apt-get install multisync multisync-tools bluez-utils opensync-plugin-evolution opensync-plugin-irmc opensync-plugin-syncml
    msynctool –addgroup EvoK610irmc
    msynctool –addmember EvoK610irmc evo2-sync
    msynctool –addmember EvoK610irmc syncml-obex-client
    msynctool –configure EvoK610irmc 1

    here the first line is full path

    file:///home/me/.evolution/addressbook/local/system
    default
    default

    next configure second member

    msynctool –configure EvoK610irmc 2


    00:1B:50:45:43:EE


    7


    0


    1


    1


    2


    0


    0


    0


    0

    0


    Contacts


    Calendar


    Notes

    you should just change bluetooth_address to your device $MAC
    and bluetooth_channel to OBEX SyncML Client channel .
    you can use
    sdptool browse $MAC
    to find channel. something like this
    {
    Service Name: OBEX SyncML Client
    Service RecHandle: 0×10007
    Service Class ID List:
    UUID 128: 00000002-0000-1000-8000-0002ee000002
    Protocol Descriptor List:
    “L2CAP” (0×0100)
    “RFCOMM” (0×0003)
    Channel: 7
    “OBEX” (0×0008)
    }

    the last command is this again

    msynctool –sync EvoK610irmc

    you can filter some part as described above.
    alternatively you can also install multisync-gui

    sudo apt-get install multisync0.90

    to create group and users in gui and so …

    good luck

  10. Hi, thank you for your great post, it help me to figure out how to transfer my address from K750i.
    but using irmc-sync I will geting broken-pipe error.
    I changed your method to use syncml instead of irmc-sync and it worked
    the procedure is as follow:

    sudo apt-get install multisync multisync-tools bluez-utils opensync-plugin-evolution opensync-plugin-irmc opensync-plugin-syncml
    msynctool –addgroup EvoK610irmc
    msynctool –addmember EvoK610irmc evo2-sync
    msynctool –addmember EvoK610irmc syncml-obex-client
    msynctool –configure EvoK610irmc 1

    here the first line is full path

    file:///home/me/.evolution/addressbook/local/system
    default
    default

    next configure second member

    msynctool –configure EvoK610irmc 2


    00:1B:50:45:43:EE


    7


    0


    1


    1


    2


    0


    0


    0


    0

    0


    Contacts


    Calendar


    Notes

    you should just change bluetooth_address to your device $MAC
    and bluetooth_channel to OBEX SyncML Client channel .
    you can use
    sdptool browse $MAC
    to find channel. something like this
    {
    Service Name: OBEX SyncML Client
    Service RecHandle: 0×10007
    Service Class ID List:
    UUID 128: 00000002-0000-1000-8000-0002ee000002
    Protocol Descriptor List:
    “L2CAP” (0×0100)
    “RFCOMM” (0×0003)
    Channel: 7
    “OBEX” (0×0008)
    }

    the last command is this again

    msynctool –sync EvoK610irmc

    you can filter some part as described above.
    alternatively you can also install multisync-gui

    sudo apt-get install multisync0.90

    to create group and users in gui and so …

    good luck

  11. the xml parts are filtered out, I can email them to you so that you can manage to put them somewhere.

    thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>