Re: Initial sync pickup - maybe fixed



Just spent a while attempting to track this down - for those not paying
attention the basic problem was that sometimes (often even) USB palm
devices are not picked up by gpilotd when you hit the sync button.

However it tends to be a Heisenbug - trying to instrument whats
happening makes it work :-(

The device is being seen by the USB subsystem and the visor module put
in place correctly.  gpilotd is seeing the entries in
/proc/bus/usb/devices and attempting to start a sync.... which fails to
establish a connection.

What appears to be happening is that gpilotd opens the USB tty device
and waits for Timeout* seconds for data to appear (using select).  It
then gives up, closes the device, loops around sees the device is in
/proc/bus/usb/devices and loops through the open/wait again.

[*Timeout is set in the gpilotd config applet, and defaults to 2
seconds]

However we have a race condition here since the palm device also appears
to send its introductory data packet about once every 2 seconds. 
Believe it or not it appears the palm is carefully sending a data packet
around the time that gpilotd is closing its USB device and retrying....

If you set the Timeout to something bigger - ie 4 seconds - in the
config GUI things seem to work much better.  This is working for me at
present.  We will see if it continues to work...

	Nigel.

-- 
[ Nigel Metheringham           Nigel Metheringham InTechnology co uk ]
[ - Comments in this message are my own and not ITO opinion/policy - ]





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]