Hi Brad. Your experiences with the Palm USB driver are not unique.
There are quite a few experienced PalmOS developers having problems with these bugs which you have reported (and more). Try searching the mailing list archives for "USB" and you'll get a pretty good idea of the problems people have been having. I honestly wish I could give you an idea what to do here, or some hope that PalmSource will address these issues in their particular driver, but I can't. Various developers have had varied level of luck using the USB drivers on Palm, Handspring and Sony. Each hardware vendor/licensee also has their own USB drivers which are not completely compatible with the others, it seems. -Dave -----Original Message----- From: Brad Myers [mailto:[EMAIL PROTECTED]] Sent: Thursday, June 06, 2002 10:56 AM To: Palm Developer Forum Cc: [EMAIL PROTECTED]; Rob Miller Subject: Problem with Palm USB and Windows 2000 Has anyone tried using the Palm USB driver on the PC? We are trying to communicate with PalmOS devices WHILE THEY ARE CONNECTED using USB. Does anyone have any sample code that does this that we could look at? Is the code for the PC side of USB hotsync available? - the Palm USB driver is apparently not reentrant. Win2K blue-screen crashes occur if you try to write from one thread while you're reading from a different thread. Had to work around this problem by reading and writing from the same thread, although this reduces performance. Is there any other way around this problem? Is there a better Palm USB driver? - Performance under Win2K is lousy -- many packets from the Palm are lost. Packet loss seems to occur because the Palm USB driver's read call times out after having put some data in our buffer, but then reports 0 bytes read instead of the actual number of bytes read. The data it started to return never appears again. Increasing the timeout helps marginally, but since the reading thread must alternate between reading and writing, increasing the read timeout increases the write latency -- e.g., if you have a 1-sec timeout, outgoing writes must wait for an average of 0.5 sec before being sent. Current timeout is 100 msec. - this bad Win2K performance was seen on a number of different machines, with two versions of Hotsync (4.0 and 4.0.2). - Performance under WinXP and Windows 98 seems fine -- no packet loss observed. Is there a way to get decent performance under Windows 2000? - the Palm USB driver generates a ton of bogus reads while the Palm is shutting down, before we get notified that the USB device has gone away. Is there any way around this? Thanks for your help! Brad A. Myers Human Computer Interaction Institute School of Computer Science Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3891 (412) 268-5150 FAX: (412) 268-1266 [EMAIL PROTECTED] http://www.cs.cmu.edu/~bam -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
