PDA Synchronization with Synce



THIS IS NOT COMPLETE YET STILL HAS AN ISSUE WITH THE ACTUAL SYNC BUT ITS A GOOD GUIDE TO GET YOU STARTED.

The purpose of this guide is to explain how to synchronize a windows mobile pda to synch with Evolution running on a Gentoo box through the USB port.

Configure kernel to use ActiveSync RNDIS, USB & FUSE file System...

Device Drivers ---> [*] USB support ---> USB Gadget Support --->  Support for USB Gadgets ---> USB Gadget Drivers --->  Ethernet Gadget (with CDC Ethernet support) ---> [*] RNDIS support (EXPERIMENTAL) (NEW) --->

Device Drivers --> Networking device support --> USB Network Adapters --> <*>  Multi-purpose USB Networking Framework -*-  CDC Ethernet support (smart devices such as cable modems) <*>  Host for RNDIS and ActiveSync devices (EXPERIMENTAL)

File Systems ---> <*> Filesystem in Userspace support

Device Drivers ---> USB support ---> USB Serial Converter support --->  USB Serial Converter support [*]  USB Generic Serial Driver

Device Drivers ---> USB support ---> <*> Support for Host-side USB <*> EHCI HCD (USB 2.0) support <*> OHCI HCD support <*> UHCI HCD (most Intel and VIA) support File Systems ---> <*> Kernel automounter support <*> Kernel automounter version 4 support (also supports v3)

compile your kernel copy the file over to the /boot directory and restart...

Edit the package.keywords and package.use files as shown.

vi /etc/portage/package.keywords

Edit as follows

app-pda/synce ~x86 app-pda/synce-gnomevfs ~x86 app-pda/synce-gvfs ~x86 app-pda/synce-hal ~x86 app-pda/synce-librapi2 ~x86 app-pda/synce-librra ~x86 app-pda/synce-librtfcomp ~x86 app-pda/synce-libsynce ~x86 app-pda/synce-software-manager ~x86 app-pda/synce-sync-engine ~x86 app-pda/orange ~x86 app-pda/dynamite ~x86 app-arch/unshield ~x86 app-pda/synce-kpm ~x86 app-pda/synce-trayicon ~x86 app-pda/msynctool ~x86 app-pda/libopensync ~x86 app-pda/libopensync-plugin-python ~x86 app-pda/libopensync-plugin-evolution2 ~x86 app-pda/libopensync-plugin-irmc ~x86 app-pda/opensyncutils ~x86 app-pda/libopensync-plugin-file ~x86 app-pda/libopensync-plugin-syncml ~x86 app-pda/libopensync-plugin-vformat ~x86 app-pda/libsyncml ~x86 app-pda/multisync-gui ~x86

vi /etc/portage/package.use

Edit as follows

app-pda/synce wininstallers hal gnome app-pda/synce-libsynce desktop hal app-pda/libsyncml obex http app-pda/libopensync-plugin-syncml obex http

emerge synce openobex obexftp obexfs

Open up your synce-trayicon

Plug in you pda and make sure you got a pop up that stated the device was connected. If it was not and you are on a windows mobile pda go to.

START -> SETTINGS -> CONNECTIONS -> USB to PC -> Make sure that Active Sync (Sync with Outlook) and Enable Advanced Network Functionality are both checked.

You should now see it connected with Synce.

(Remember Synce is just what you use to connect not to actually do the sync.)

Set up the actual synchronization.

First set up a group of data stores

$ msynctool --addgroup pdasyncgrp

Add the plugins to that group

$ msynctool --addmember pdasyncgrp evo2-sync $ msynctool --addmember pdasyncgrp python-sample $ msynctool --addmember pdasyncgrp syncml-obex-client $ msynctool --addmember pdasyncgrp file-sync

Configure the plugins. All the default configs seem broken so make sure you look at the ones shown here for reference.

$ msynctool --configure pdasyncgrp 1

Save and quit. This is how you do it if you are using "vi" as your editor.

$:wq

$ msynctool --configure pdasyncgrp 2

$ msynctool --showgroup pdasyncgrp


 * (This is edited to show final result)

$ msynctool --configure pdasyncgrp 3

Save and quit. This is how you do it if you are using "vi" as your editor.

$:wq


 * (This is edited to show final result)

$ msynctool --configure pdasyncgrp 4

Save and quit. This is how you do it if you are using "vi" as your editor.

$:wq


 * (This is edited to show final result)

$ msynctool --discover pdasyncgrp 1


 * (This is edited to show final result)

$ msynctool --discover pdasyncgrp 2


 * (This is edited to show final result)

$ msynctool --discover pdasyncgrp 3


 * (This is edited to show final result)

$ msynctool --discover pdasyncgrp 4

Now you are finally ready to attempt to sync

$ msynctool --sync pdasyncgrp

It all goes wrong when the synch is tried again.

$ msynctool --sync pdasyncgrp

msynctool --sync pdasyncgrp Synchronizing group "pdasyncgrp" msynctool --sync Gentoo Synchronizing group "Gentoo" The previous synchronization was unclean. Slow-syncing initialize called! My config is: None Adding new sink Done Connect called! Connect called! Connect called! Connect called! Connect called! data sink of member 1 of type evo2-sync had an error: Unable to find sink for data data sink of member 2 of type syncml-obex-client had an error: Unable to find sink for data event sink of member 2 of type syncml-obex-client just connected note sink of member 2 of type syncml-obex-client had an error: Unable to find sink for note contact sink of member 2 of type syncml-obex-client just connected todo sink of member 2 of type syncml-obex-client had an error: Unable to find sink for todo data sink of member 3 of type file-sync just connected event sink of member 3 of type file-sync just connected note sink of member 3 of type file-sync just connected contact sink of member 3 of type file-sync just connected todo sink of member 3 of type file-sync just connected Main sink of member 3 of type file-sync just connected data sink of member 4 of type python-sample just connected event sink of member 4 of type python-sample just connected note sink of member 4 of type python-sample just connected contact sink of member 4 of type python-sample just connected todo sink of member 4 of type python-sample just connected Main sink of member 4 of type python-sample just connected Main sink of member 2 of type syncml-obex-client had an error: Link Error: 0x0 event sink of member 1 of type evo2-sync just connected note sink of member 1 of type evo2-sync just connected contact sink of member 1 of type evo2-sync just connected todo sink of member 1 of type evo2-sync just connected Main sink of member 1 of type evo2-sync just connected The sync failed: At least one objenit hat problems while connecting. Aborting disconnect called! disconnect called! disconnect called! disconnect called! disconnect called! Main sink of member 2 of type syncml-obex-client just disconnected event sink of member 2 of type syncml-obex-client just disconnected data sink of member 3 of type file-sync just disconnected event sink of member 3 of type file-sync just disconnected note sink of member 3 of type file-sync just disconnected contact sink of member 3 of type file-sync just disconnected todo sink of member 3 of type file-sync just disconnected Main sink of member 3 of type file-sync just disconnected data sink of member 4 of type python-sample just disconnected event sink of member 4 of type python-sample just disconnected note sink of member 4 of type python-sample just disconnected contact sink of member 4 of type python-sample just disconnected todo sink of member 4 of type python-sample just disconnected Main sink of member 4 of type python-sample just disconnected contact sink of member 2 of type syncml-obex-client just disconnected event sink of member 1 of type evo2-sync just disconnected note sink of member 1 of type evo2-sync just disconnected contact sink of member 1 of type evo2-sync just disconnected todo sink of member 1 of type evo2-sync just disconnected Main sink of member 1 of type evo2-sync just disconnected ERROR: At least one objenit hat problems while connecting. Aborting

The problem above is believed to be related to the fact that the syncml-obex-client doesn't seem to find the device. If you have an idea on how to get that working please feel free to edit this document with suggestions.

syncml-obex-client -u Found 0 USB OBEX interfaces Use '-u interface_number' to connect

Notice that you had installed a multisync-gui earlier but you should not use it till you get the msynctool running because it gives better debug information.

Once you are done with that and it works you can invoke the gui from the terminal with the following command

mutlisyncgui