Problems with USB Palm sync

Damian Wiest dwiest at
Wed Oct 18 18:45:25 UTC 2006

On Wed, Oct 18, 2006 at 08:53:18AM -0400, Jonathan Arnold wrote:
> Anish Mistry wrote:
> >On Tuesday 17 October 2006 23:22, Jonathan Arnold wrote:
> >>Anish Mistry wrote:
> >>>On Tuesday 17 October 2006 16:29, Jonathan Arnold wrote:
> >>>>Has anyone had any luck using pilot-link to sync JPilot to a
> >>>>Palm device via the USB? I'm trying to sync my Handspring Visor
> >>>>and it just doesn't seem to be noticing it. I have the following
> >>>>in my /dev/usbd.conf file:
> >>>First you shouldn't be using usbd.conf.  You should be using
> >>>devd.conf and devfs.rules.
> >>>
> >>>Disable usbd.
> >>>
> >>>Add to devd.conf:
> >>>attach 0 {
> >>>        device-name "ugen[0-9]+";
> >>>        match "vendor" "0x082d";
> >>>        match "product" "0x0100";
> >>>        match "release" "0x0100";
> >>>        action "/usr/local/sbin/ $device-name";
> >>>};
> >>>
> >>>Setup devfs.rules if you have yet to do it:
> >>>
> >>>
> >>>Add your user to the operator group or change the mode to 0666
> >>>below. Add to devfs.rules:
> >>>add path 'ugen*' group operator
> >>>add path 'ugen*' mode 0660
> >>>
> >>>In /usr/local/sbin/
> >>>#!/bin/sh
> >>>#
> >>>JPILOT=/usr/X11R6/bin/jpilot-sync
> >>>JPILOT_USER=your_username_here
> >>>export JPILOT_HOME=/home/$JPILOT_USER
> >>>PILOTPORT=usb:/dev/$1
> >>>COMMAND=`echo $JPILOT -p $PILOTPORT -b`
> >>># run command ie. (sync)
> >>>/usr/bin/su $JPILOT_USER -c "$COMMAND"
> >>Thanks, this seems to work a little better.  Now, when I hit the
> >>Hot Sync button on the cradle, I get the feedback that there's a
> >>connection and it says "Identifying user" on the Visor, but it just
> >>hangs there and eventually gives up. If I comment out the action
> >>and try it from the commandline, pilot-xfer says " Listening for
> >>incoming connection on usb:/dev/ugen0... ". It seems to me that
> >>both are waiting for the other to initiate something. ugen0 doesn't
> >>get created until I hit the HotSync button, but the pilot-link
> >>stuff seems to be waiting for that to happen again?
> >You'll need to install the user:
> ># install pilot-link username
> >COMMAND=`echo /usr/local/bin/install-user -p $PILOTPORT -u 
> >$JPILOT_USER -i 1001`
> I thought it might be something like this, so I played quite a bit last
> night trying to get this command to work, but still no joy in mudville.
> I replaced the jpilot-sync COMMAND line with the install-user one, but it
> still does the same thing. I press the hot sync button, I get the 
> confirmation
> that a connection was made from the Visor, but both ends just sit there at
> that point.
> I feel like I'm ever so close and am just missing one tweak to push it
> over into usability.
> BTW, what is the 'uvisor' driver for? Should I be trying to use this one
> instead of the 'ugen', which is the generic interface?
> -- 
> Jonathan Arnold     (mailto:jdarnold at
> Daemon Dancing in the Dark, a FreeBSD weblog:
> UNIX is user-friendly. It's just a bit picky about who its friends are.

Here's what works for me on my FreeBSD 6.1 (x86) laptop and 
OpenBSD 3.9 (x86) workstation:

To use pilot-xfer to sync your Palm device

1. Connect cradle to system via USB port
2. Press the sync button 
3. Execute "sudo pilot-xfer -p /dev/ttyU0 -s <PalmDir>" where PalmDir
      is the location of your Palm data.
4. Files are transferred from the Palm device

To use jpilot to sync your Palm device:

1. Execute "sudo jpilot"
2. Select the File->Preferences menu
3. Select the Settings tab
4. Change the serial port setting to /dev/ttyU0
5. Press the hotsync button on your cradle (or use the HotSync app.)
6. Press the sync button in J-Pilot
7. Palm device is synced

I find that I have better luck pressing sync on my device before running 
pilot-xfer or using J-Pilot's sync feature.  If you do it the other way
around and aren't quick enough, the /dev/ttyU0 device won't be available
and the application won't retry opening it.

I know I shouldn't be running the apps as root, but I haven't bothered
to configure /etc/devd.conf and /etc/devfs.rules on my laptop.


More information about the freebsd-questions mailing list