I’ve been trying to help a KPilot user (Hi Ronny!!) track down a really annoying and fatal bug for more than a year now. The bug is triggered by trying to sync a Visor handheld with KPilot, and what happens is that KPilot begins to connect to the Visor during a HotSync, but then it fails when trying to read the user information from the Visor; and then the Visor disconnects, but KPilot doesn’t know it and KPilot then goes into a tight, CPU-consuming loop somewhere deep in the bowels of libpisock. Ronny graciously funded me with a Visor via eBay since I am unable to reproduce this condition with my Treo 650. Long story short, now that I have a Visor, I’ve been able to reproduce the bug, grr.
Thankfully, David Desrosiers (the author of pilot-link and libpisock) is an amazing guy and extremely helpful, and David happened to remember a bug report that he’d seen which said that the workaround was to set the connection speed on the PC side to higher than 9600. David explained that this was because the Visors were the first devices that had both USB and serial cradles, and that as a result, there were some funky code on the handheld that actually used the connection speed, whereas the later USB models do not. So, I tried setting KPilot’s connection speed to 115200, and sure enough the CPU-spinning behavior did not happen anymore. Fixed!! Grrr. Frustrating to have kept Ronny from being able to use his Visor for so stinking long and have it turn out to be something that he could have changed a year ago and gotten things working. =:/
So, all in all, this has been an interesting case study of how Open Source should work, albeit on a much-more dragged-out timeline, which is entirely my fault, being all busy and hectic and what-not. Ronny had a problem and asked me for help. I couldn’t reproduce it because I didn’t same hardware. Ronny graciously provided me with the hardware to reproduce the problem. I reproduced it and asked the pilot-link author for help. He helped me find a workaround. Cool!! And Ronny, thanks again for your help and patience!!! =:)
Hopefully this will both help the next gal who finds herself unable to sync her Visor, and give me a way to remember what the solution was….