This page contains various details and instructions about using SynCE in Gentoo.

TableOfContents(2)

The SynCE overlay

The official Gentoo tree now contains SynCE 0.12! Old ebuilds for SynCE (0.9.2 and earlier) are still there, so make sure you are using ~ARCH, or use package.keywords (read on!).

You still need the overlay for usb-rndis-lite.

The bleeding edge source is still available using the SynCE overlay.

Install & Configure layman

$ emerge -va layman

Check the output, and then continue with the install.

To first run layman, you need to do two things:

  1. echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf

  2. edit /etc/layman/layman.cfg and add the SynCE source to the overlays option:

overlays : http://www.gentoo.org/proj/en/overlays/layman-global.txtBR            http://synce.svn.sourceforge.net/svnroot/synce/dist/gentoo/synce-wm5-layman.xmlBR

Then fetch the list of available overlays:

$ layman -f

Finally add the SynCE overlay

$ layman -a synce

To update layman overlays when a new ebuild is released, just

$ layman -s synce

Building

Choose SynCE-0.12

/!\ Note: SynCE only works with libopensync 0.22, NOT 0.3x! You will loose data if you use opensync-0.3x!

You will need to use the unstable branch for these packages. If you have ACCEPT_KEYWORDS="~x86" (or any ~ARCH) then you can skip this step. Otherwise, you will need the following in /etc/portage/package.keywords.

Note: Replace ~x86 with your arch (eg. ~amd64), and modify the list of packages to suit your needs.

app-pda/synce ~x86
app-pda/synce-gnomevfs ~x86
app-pda/synce-gvfs ~x86
app-pda/synce-hal ~x86
app-pda/synce-kde ~x86
app-pda/synce-kio-rapip ~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

For trayicons (synce-kpm works in gnome and kde):

app-pda/synce-kpm ~x86
app-pda/synce-trayicon ~x86

OpenSync & Plugins

<app-pda/msynctool-0.30 ~x86
<app-pda/libopensync-0.30 ~x86
<app-pda/libopensync-plugin-python-0.30 ~x86
<app-pda/libopensync-plugin-kdepim-0.30 ~x86
<app-pda/libopensync-plugin-evolution2-0.30 ~x86

SynCE rndis kernel patch (not nessary for kernel > 2.6.25)

For pre Windows Mobile 5 devies:

app-pda/synce-serial ~x86

USE Flags

Edit (or create) /etc/portage/package.use and add the USE flag you desire. eg:

app-pda/synce wininstallers hal
synce-libsynce/synce-libsynce desktop hal

These are the USE flags currently supported:

app-pda/synce

app-pda/synce-libsynce

Connection Schemes

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

Set serial USE flag if you want serail connection by the ipaq driver, otherwise it will be rndis connection. This sheme also must working with WM2003 devices.

Set hal USE flag if you want synce-hal managed connection, otherwise it will be synce-odccm managed.

Enable enhanced network functionality

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.

Choosing bleeding edge SynCE

Your /etc/portage/package.keywords should look similar as for SynCE-0.12 but replace

app-pda/synce ~x86 

with

emerging

After you've chosen your version, you can simply emerge all needed packages by typing:

$ emerge -av synce

Troubleshooting

emerge errors

If emerge fails with a message similar to:

!!! subversion.eclass: ESVN_REPO_URI (or specified URI) and working
copy's URL are not matched.

Then you have a stale svn download to get rid of:

$ sudo rm -rf /usr/portage/distfiles/svn-src/

Other Ebuilds

You might also be interested in these ebuilds:

GUI WM Device Manager

Kernel requirements

You should build your kernel with these options:

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

Using usb-rndis-lite

usb-rndis-lite provides the most up-to-date kernel patch. To emerge it, add

=sys-fs/usb-rndis-lite-0.11 ~x86

to your /etc/portage/package-keywords. (Replace ~x86 with your actual arch) and then emerge it:

$ emerge -av sys-fs/usb-rndis-lite

patching the kernel manually

Its not the gentoo way. When you merged the kernel you want, go to /usr/src/linux/drivers/net/usb and edit rndis_host.c: Delete the lines 502: dev->rx_urb_size = dev->hard_mtu + (dev->maxpacket + 1); and 503: dev->rx_urb_size &= ~(dev->maxpacket - 1); Then add in line 502: dev->rx_urb_size = (dev->udev->speed == USB_SPEED_FULL) ? 16384 : 8192;

using the kernel patch provided

Alternatively you can follow the SynceInstallation/KernelPatch instructions for downloading a patch.

Starting needed services

SynCE >=0.12 with 'hal' flag

You don't need a special service running. Device connection is managed automatically by hal and dbus services.

SynCE 0.11 & SynCE >=0.12 without use 'hal' flag

odccm is installed as a system service but disabled by default. You can start it with

$ /etc/init.d/odccm start

as root. If odccm should be started automatically add it to the default runlevel

$ rc-config add odccm default

Finished

SynCE is now installed. Continue with SynceInstallation/Connecting.

SynceInstallation/Gentoo (last edited 2009-07-04 08:07:26 by playker)