How to sync Windows Mobile with Ubuntu 10.04 (part 2)
In my previous post, I was talking about how unreliable it is to sync between Windows Mobile and Linux (Ubuntu to be precise). SynCE, OpenSync, etc, still had a lot of bugs. And believe it or not, those bugs are known for a long long time, and they never got addressed.
As in my previous post, when I made a change in Evolution, it could be synced to the mobile device. However, when a change is made in the mobile device, OpenSync would not be able to sync back. The problem was that, whenever the OpenSync plugin tried to retrieve the change information from the device, it was getting into the problem:
Member 1 of type evo2-sync just sent all changes
Member 2 of type synce-opensync-plugin had an error while getting changes: Error during get_changeinfo() method
Member 2 of type synce-opensync-plugin just disconnected
Member 1 of type evo2-sync just disconnected
All clients have disconnected
The sync failed: Unable to read from one of the members
All conflicts have been reported
Error while synchronizing: Unable to read from one of the members
And guess what, this problem has been reported by a lot of people on a lot of forums, for a long time. But it was never resolved. Someone even provided a solution (a patch), and yet, the problem still persisted.
For those who are using Ubuntu 10.04, just open the file
/usr/share/pyshared/opensync.py, and apply the patch described in the solution above. It is only two-line change, so it is easier to just manually change it.
After the patch, you should be able to sync in both directions.
However, the combo SynCE and OpenSync still do not work smoothly. It has the bad habit of trying to re-sync everything without any reason. My advice is, every time you want to sync, make sure that ActiveSync is running on the mobile device. The device may be connected, and you might even be able to browse it, however, if ActiveSync is not running, syncing will not work. And the next time you try to sync again, it will try to re-sync everything again, which takes a long time, and is really annoying.