[jp] My Sync Problem (RESOLVED)

Peter Jay Salzman p at dirac.org
Thu Nov 30 14:02:05 EST 2006


> I've lost the ability to sync my Visor with jpilot and kpilot.  Setup is:
> 
>    * kernel 2.6.16
>    * jpilot 0.99.9.2
>    * Debian testing
>    * Handspring Visor prism
> 
> 
> Here's my analysis of the situation:
> 
> 0. visor.o is built as a module and loaded.  From /proc/config.gz:
> 
>       CONFIG_USB_SERIAL_VISOR=m
> 
> 
> 1. The problem isn't a kernel bug:  I could sync in September, but my kernel
> 	hasn't changed since then.  Note that the Debian jpilot package has
> 	changed in the past few months, including new upstream CVS releases.
> 
> 
> 2. The device file being used is /dev/ttyUSB1.  Here's how I know:
> 
>       * Initially, there's no USB tty device files:
> 
>             $ ls /dev/ttyUSB*
>             ls: /dev/ttyUSB*: No such file or directory
> 
>       * Press the hotsync button on the cradle.  While the Visor is trying
>         to hotsync, udev creates the device files:
> 
>             $ ls /dev/ttyUSB*
>             /dev/ttyUSB0  /dev/ttyUSB1
> 
>       * During this time, reading /dev/USB0 produces no output:
> 
>             $ dd if=/dev/ttyUSB0 of=/dev/null
>             0+0 records in
>             0+0 records out
>             0 bytes (0 B) copied, 3.62889 seconds, 0.0 kB/s
> 
>       * However, reading /dev/USB1 produces output.  Presumably, this is
>         the visor trying to connect:
> 
>             $ dd if=/dev/ttyUSB1 of=/dev/null
>             0+12 records in
>             0+1 records out
>             101 bytes (101 B) copied, 39.3244 seconds, 0.0 kB/s
> 
>       * So it's pretty clear that /dev/ttyUSB1 is the correct file.
> 
> 
> 3. Starting up jpilot, and using File | Preferences, I made sure that
>    jpilot is trying to sync to /dev/ttyUSB1.
> 
> 
> 4. jpilot is connecting to the visor, but disconnecting immediately:
> 
>       * Start jpilot.
>       * Press the hotsync button on the cradle.
>       * Press the hotsync button on jpilot.
>       * Visor plays beeps indicating a connection is made.
>       * Visor immediately plays beeps indicating a connection is broken.
>       * Visor displays "The connection ... was lost" message.
> 
> 
> 5. However, the app pilot-xfer can list the files on the Visor:
> 
>    $ pilot-xfer --list -p /dev/ttyUSB1
> 
>       Listening for incoming connection on /dev/ttyUSB1... connected!
>       Reading list of databases in RAM...
>       StripAccounts-SJLO
>       CityTimeDB
>       ...
>       AddressTitlesDB
>       VendorsDB
> 
>       List complete. 38 files found.
>       Thank you for using pilot-link.
> 
> 
> 6. pilot-xfer can also backup and sync my Visor:
> 
>    $ pilot-xfer -p /dev/ttyUSB1 -b .
> 
>       Listening for incoming connection on /dev/ttyUSB1... connected!
> 
>       [+][1   ][SJLO] Backing up 'StripAccounts-SJLO', 80 bytes, 0 KiB... 
>       [+][2   ][CiAa] Backing up 'CityTimeDB', 8158 bytes, 8 KiB... 
>       ...
>       [+][35  ][addr] Backing up 'AddressTitlesDB', 924 bytes, 464 KiB... 
>       [+][36  ][exps] Backing up 'VendorsDB', 472 bytes, 464 KiB... 
> 
>       RAM backup complete. 36 files backed up, 0 skipped, 0 files failed.
>       Thank you for using pilot-link.
> 
> 
> 7. The application kpilot doesn't work.  The symptoms are almost exactly the
>    same as what I'm seeing with jpilot.
> 
> 
> 8. I've tried deleting .jpilot and syncing.  Doesn't help.
> 
> 
> 9. I tried hard resetting the PDA and syncing.  Doesn't help.
>
>
> 10. I tried syncing using coldsync and it worked.



First, when I tried to sync using coldsync, it gave me a warning about the
speed being faster than 115200, but the sync was performed anyhow.

Second, there was a thread on the jpilot mailing list where someone was
fiddling with the transfer speed.

That got me thinking about the transfer speed.  I looked at File |
Preferences | Settings.  There's a setting for "Serial Rate".  It was set to
9600.

Now, I've seen that setting many times before.  However, up till now I've
ignored that setting because it very clearly states:

   Serial rate (Does not affect USB): 9600

and my Visor is connected to the computer using USB.  Since the transfer
speed "Does not affect USB", I never tinkered with it.  However, as you can
see from my analysis above, I tried pretty much everything, and was
desperate.  So I ignored the "Does not affect USB" message, changed 9600 to
115200, and tried to sync with jpilot.

It worked.

So now I would like to ask any jpilot developers on this mailing list: What
exactly does:

   "Does not affect USB"

mean?  My Visor is hooked up via USB, yet when this setting is set to 9600
the sync doesn't work but when it's set to 115200 the sync works.

I'd also like to report a bug:

   1. My transfer speed is 115200.  Syncing works.

   2. I change the transfer speed to 9600.  Syncing works.

   4. I quit jpilot and re-run jpilot.

   5. Sync does not work.

   6. I change the transfer speed to 115200.  Syncing does not work.

   7. I quit jpilot and re-run jpilot.

   8. Sync works.


There are two logical conclusions from this:


   1. The transfer speed setting which says "Does not affect USB" actually
         DOES affect USB.  In my case, it fixed my sync problem.

   2. When you change the transfer speed, the change doesnt' take effect
         until you quit and restart jpilot.


Phil, can you look at what your transfer speed is and confirm this?


Pete



More information about the Jpilot mailing list