SynCE on Ubuntu Hardy (8.04 LTS)

Prerequisites

You will need:

Add the necessary package repositories

Advanced users can just add the following lines to their /etc/apt/sources.list (and run sudo apt-get update afterwards):

deb http://ppa.launchpad.net/synce/ubuntu hardy main
deb-src http://ppa.launchpad.net/synce/ubuntu hardy main

SynCE for Windows Mobile 5/6

Kernel module (for Kernel < 2.6.24-19)

Note: for Kernel 2.6.24-19 (at the moment available in hardy-proposed) and newer this step should be skipped.

Get the USB driver *YOU MUST DO THIS* - there are critical fixes here not yet in the kernel.

Unload the current modules:

sudo rmmod rndis_host cdc_ether usbnet

Now we have to delete the old drivers, such that the kernel will not reload them next time:

sudo rm /lib/modules/`uname -r`/kernel/drivers/net/usb/{rndis_host,cdc_ether,usbnet}.ko

Now we have to get and compile the new drivers:

sudo apt-get install usb-rndis-source cdbs
sudo module-assistant auto-install usb-rndis

Two connection schemes

There is actually two connection schemes you can use: newer rndis and legacy serial-over-usb; rndis is taken care of by the rndis_host driver, while the legacy is taken care by the ipaq driver. Furthermore, there are two ways of making the connection: using older but stable odccm and newer and less tested synce-hal which should essentially do everything odccm did, but in a simpler and cleaner way.

The scheme described below is essentially an rndis connection via odccm. This is why you will be asked to blacklist the ipaq driver and to turn Enable enhanced network functionality on. The serial connection via odccm will be hopefully documented some time later and synce-hal when it gets more stable.

Please note, that not all devices supporting rndis follow the same naming. E.g. for Asus P535 instead of turning Enable enhanced network functionality on you need to select ActiveSync (Turbo mode) in the USB Setting dialogue. Please refer to your device documentation on how to enable rndis on your particular PDA or smartphone.

Core libraries

Get the core libraries

sudo apt-get install synce-hal librra0-tools librapi2-tools

Connect your device and run

synce-pls

You should see a list of files on your device. Congratulations, you have a working connection to your device!

If you see the following Message, your device is password protected:

 . WARNING **: synce_info_from_odccm: Failed to get a connection for <device_name>: Not authenticated, you need to call !ProvidePassword with the correct password. pls: Could not find configuration at path '(Default)'

Install SynCE-GNOME or SynCE-KPM to provide a password prompt on device connect.

If you have the Gnome Network Manager running on Ubuntu, it will setup your device as the new default network connection. Check what ethernet device was given to your device with by running the following command in a terminal after you have connected your device:

/sbin/ifconfig -a | grep 80:00:60:0f:e8:00  | cut -d " " -f 1

then add the next line to /etc/network/interfaces:

iface <interface of your device> inet dhcp

This will make Gnome Network Manager ignore the interface. Then restart the networking with the command:

sudo /etc/init.d/networking restart

If you get an error that no devices are connected to odccm you should probably blacklist ipaq module, by adding

blacklist ipaq

to your /etc/modprobe.d/blacklist (recommended here)

After that you can remove any currently active ipaq modules with

sudo rmmod ipaq

Another thing to check out when you are having connection problems is your firewall configuration (if, of course, you are using a firewall). For instance, if you are using Ubuntu's default ufw you can check out whether it is running and what the rules are by issuing the following command:

sudo ufw status

If the firewall is running it might be blocking your connections. You might want to disable it completely by running

sudo ufw disable

and if it is, indeed, the source of your problems add a rule to allow connections from your PocketPC device:

sudo ufw allow from 169.254.2.0/24 to any

and it should do the trick.

Syncing with OpenSync

In order to sync your device you need to use OpenSync.

sudo apt-get install multisync-tools opensync-plugin-evolution opensync-plugin-synce

KDE users can use opensync-plugin-kdepim instead of the evolution2 plugin. There is no Thunderbird support in any stable opensync release.

Now you have all the software you need to sync your device on Ubuntu. Please see SynceSetup for information on how to use it.

SynCE for Windows Mobile 2003

If you want to use just the file browsing or program installation stuff, you only need to install synce-hal and librapi2-tools. If you want to sync, see below.

Syncing with OpenSync

In order to sync your device you need to use OpenSync. We'll install multisync-tools to control sync, the WM2003 support plugin and the evolution plugin. KDE users can use opensync-plugin-kdepim instead of the evolution2 plugin. There is no Thunderbird support in any stable opensync release.

sudo apt-get install multisync-tools opensync-plugin-evolution opensync-plugin-synce-legacy

You need to create a partnership with your device.

synce-matchmaker create

There is some one time setup for opensync.

msynctool --addgroup synce-sync
msynctool --addmember synce-sync synce-plugin
msynctool --addmember synce-sync evo2-sync
msynctool --configure synce-sync 1

The last command opens up a text editor. Make yours something like this and save and exit.

<config>
        <contact></contact>
        <todos></todos>
        <calendar></calendar>
        <file></file>
</config>

Then sync is:

msynctool --sync synce-sync

SynceWithUbuntu (last edited 2008-08-03 13:09:50 by Jc2k)