Linked by Eugenia Loli-Queru on Mon 17th Mar 2008 21:20 UTC, submitted by AdamW
PDAs, Cellphones, Wireless The upcoming Mandriva Linux 2008 Spring release will boast the easiest ever support for synchronizing with Windows Mobile 5 and 6 devices in any distribution. The adventurous can already try out the support in the current 2008 Spring pre-release repositories, by following the instructions here. Mandriva has uploaded a video demonstrating how easy it is to synchronize with a Windows Mobile 6 device right out of the box with Mandriva Linux 2008 Spring. Support is included for synchronizing with both KDE (KDE PIM) and GNOME (Evolution). Similarly easy synchronization is also possible with many Nokia phones and with Blackberry devices.
Permalink for comment 305438
To read all comments associated with this story, please click here.
RE: I wonder on other Distros...
by AdamW on Mon 17th Mar 2008 23:12 UTC in reply to "I wonder on other Distros..."
AdamW
Member since:
2005-07-06

This doesn't actually depend on any terribly new code. The opensync version used is 0.22, which has been around since early 2007. Current development version is 0.36, but using this in production is *not* recommended by the OpenSync developers (or me - I tested it, and the KDE and Evolution backends don't work). SynCE used is 0.11, which has also been around for a while.

KitchenSync - the GUI front end you see in the video taking care of the actual sync - is somewhat newer, but has still been around for a while, and MultiSync (the GTK+ alternative) has been around for ages.

synce-kpm is probably the newest bit of code in use in that video: that's the application used to create the initial sync partnership with the phone. A 0.11 version is available from SynCE project, but the Mandriva package is using the current SVN head.

What I really had to do to make it all work like you see in the video was a succession of minor things. None of them is really hard to fix on its own, but the cumulative effect of all of them is to make this a real slog to do if your distribution doesn't do it for you.

#1, the usbnet /rndis_host / cdc_ether drivers in the kernel.org kernel and most distributions does not support WM5/6 devices. SynCE have a patched build of the module that fixes this but it's not yet been accepted upstream. So the Mandriva 2008 Spring kernel has this patched version included. With previous MDV and all other distros I know of, you'd have to build these versions of the modules yourself.

#2, sync-engine (the tool that actually handles partnerships between the devices and SynCE) has a couple of bugs I fixed by backporting fixes from SVN.

#3, sync-engine doesn't run automatically when it's needed, in the default upstream configuration. You have to run it manually, or you can't create any partnerships, and you have to make sure it's running whenever you want to synchronize. I created a dbus activation profile for it, so that it gets run automatically when anything tries to access it via dbus. (I'm indebted to John Carr for this idea).

#4, synce has a bug which prevents a default configuration being created the first time you try and do anything with it, if there isn't one already. This stops anything working. This is partially fixed in upstream SVN, but the distro's synce packages have to make sure to package the default configuration file in the correct place to be copied, which I fixed in ours.

there's a bunch of other little things like this I had to fix. As I said, it's all small things that add up. And then the other big thing is to make it easy to put it all together, which is what the metapackage does in Mandriva. Without the task-wm5sync metapackages that make it easy to install all the necessary stuff, it's not actually easy to know that what you need for all this to work is synce, opensync, odccm, libopensync-plugin-synce , libopensync-plugin-kdepim , synce-kpm and kitchensync. It took me quite a lot of research and reading to figure this out. ;)

it wouldn't be super-hard to implement this in most distros; all it needs is a maintainer with a test device and the willingness to put it all together. I started working on this around Tuesday last week, just to get my own device working, but it became obvious that it would be reasonably easy and very nice to implement a system so it'd work for most Mandriva users. I'm going to push as many of my changes upstream as possible, and I'm happy to answer any questions any maintainers for other distros have if they try to implement this stuff for their own distro and get into trouble anywhere. Of course, all the patches and changes in the MDV packages are available in our SVN repository.

Reply Parent Bookmark Score: 9