Installing SynCe on Debian (Sid, kernel 2.6.21)
This is a short summery and step by step Instructions of my adventure installing SynCE on my Debian Sid machine. It is intended for linux users who are a bit scared by words like "you've got to patch the kernel with fily xy like you always did..."
Installing the Driver
Jonny Lamb provides Debian Packages of SynCE. They are available at: deb http://jonnylamb.com debian/ You can add this Information to your favorite Package Manager. As I'm a GUI user i added it via Synaptic. In this case you have to leave the "section" field blank.
Now install the packages librapi2, librapi-tools, libsynce0, odccm and propably synce-gnomevfs if you are a gnome user
Patching the kernel
In case you you've got a the 2.6.21 kernel you've got to patch the rndis_host driver to be able to get a WM5 device to work via USB. Don't try it without the patch, it simply won't work!!
As I hate doing all this "Build your own mykernel-<someversion>-<anynumber>.deb stuff" Here is a rather dirty but working solution to update the module. The following work is done in a terminal as user root. If you don't like working as root you've to prepend sudo to the commands.
Install the kernel-source
apt-get install linux-source-2.6.21
Unpacking the kernel-source
cd /usr/src tar -xjf linux-source-2.6.21.tar.bz2
Apply the configuration of the currently running kernel
cd linux-source-2.6.21 cp /boot/config-2.6.21* . make oldconfig
Patching the kernel
wget http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.21-rndis_host-wm5.patch patch -p1 < linux-2.6.21-rndis_host-wm5.patch
Compile only what needs to be compiled
I'm not sure how to compile a single module so the following is not nice, but it works.
Install the modified kernel module
As I didn't build a debian package or something like that I'm going to install the module manually. Make sure that odccm isn't running, as it would prevent uninstalling the kernel module. You can check if it is running by executing ps ax | grep odccm
cp drivers/usb/net/rndis_host.ko /lib/modules/2.6.21-1-k7/kernel/drivers/usb/net/ rmmod rndis_host modprobe rndis_host
You can check, if the module was installed correctly by issuing lsmod | grep rndis_host which should result in something like
rndis_host 5760 0 cdc_ether 6272 1 rndis_host usbnet 17864 2 rndis_host,cdc_ether usbcore 123976 7 rndis_host,cdc_ether,usbnet,usbhid,ehci_hcd,ohci_hcd
Start odccm. If you want to see debug output start it using odccm -f This way it wont start as a daemon but stay in your shell so you can see the debug messages. Plugin your device and you should see something like
** (process:24066): DEBUG: PDA network interface discovered! udi='/org/freedesktop/Hal/devices/net_80_00_60_0f_e8_00' ** (process:24066): DEBUG: device_info_received ** (process:24066): DEBUG: 83 fc 91 d8 af 9c 1c b9 f8 e4 f9 58 a6 e9 b6 9c 05 00 00 00 01 00 00 00 09 00 00 00 57 00 4d 00 5f 00 73 00 74 00 65 00 66 00 61 00 6e 00 00 00 05 01 a6 06 11 0a 00 00 05 00 00 00 9c 0e 91 0c 00 00 00 00 0f 00 00 00 50 6f 63 6b 65 74 50 43 00 53 53 44 4b 00 00 0e 00 00 00 44 65 6c 6c 20 41 78 69 6d 20 58 35 31 76 00 02 00 00 00 04 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 ** (process:24066): DEBUG: device_info_received: registering object path '/org/synce/odccm/Device/_D891FC83_9CAF_B91C_F8E4_F958A6E9B69C_'
The device_info_received is the important part. This won't come up, if you work with an unpatched kernel-module.
Execute pls to see if you're successfully connected to your device.
If you're a gnome user you might want to go to synce:/// to have access to your device.