This page describes installation of SynCE on FreeBSD
Prerequisites
- up-to-date Ports Collection
- A Windows Mobile device
Note: If you are using WM5 or above: Your device should be setup to use Serial mode:
- WM5: Microsoft doesn't supply a program to change the behaviour, but it is set by default to RNDIS. In case of problems, check for the existence of a program regarding USB settings on your device (some vendors supply a third-party tool with the device for this).
WM6: Go to Start -> Settings -> Connections -> USB and make sure the checkbox Enable enhanced network functionality is NOT checked.
attachment:usb2pc.png
Please note, that not all devices supporting rndis follow the same naming. E.g. for Asus P535 you need to select "normal mode" in the USB Setting dialogue. Please refer to your device documentation on how to disable rndis on your particular PDA or smartphone.
- USB Cable (This guide is not for bluetooth)
Technical details
On FreeBSD, there is no support for Microsoft's implementation of RNDIS, so all devices (WM2003, WM5, WM6) should be connected to PC in "legacy" mode. In this mode, device can be managed by uipaq kernel driver:
# kldload uipaq # dmesg | tail -n 1 ucom0: <HTC USB Serial for Wizard, class 0/0, rev 2.00/0.00, addr 3> on uhub2
If you see ugen device instead of ucom, then your device is not recognized by uipaq driver. You should add device's vid/pid to device table in uipaq source code and recompile driver.
ODCCM daemon doesn't work on FreeBSD, because it needs AF_NETLINK socket family from Linux kernel. So we will use synce-hal utility (developed by Mark Ellis) to connect to device. It requires sysutils/hal, so you should install this package, or it will be installed as a dependency at the next step.
Install ports
The following ports are nessesary for basic operation of SynCE (remote FS browsing, file copying, registry operations):
- synce-libsynce
- synce-hal
- synce-librapi2
- synce-librra
If your device is not HTC-based, you probably will need some extra steps:
Look in lshal output and find your device. If it's vendor is NOT HTC, correct $PREFIX/share/hal/fdi/policy/20thirdparty/10-synce.fdi to match your vendor string.
After installation, restart HAL daemon or start it:
# /usr/local/etc/rc.d/hald forcerestart
and plug-in your device. You will see connection progress on device. Probably it will ask you to enter unlock code. Then you may verify that connection succeeded by typing:
% pls
You should see "/My Documents" folder contents.
Firewall issues
If you have firewall running on your PC, make sure it doesn't block communication with device. SynCE needs the following ports to be able to communicate with phone:
- 990/tcp
- 999/tcp
- 5678/tcp
- 5721/tcp
- 26675/tcp
Show must go on ;-)
