Am 20.02.2007 um 19:04 schrieb Alan Stern: > On Tue, 20 Feb 2007, Guido Körber wrote: > >> OK, I am starting to understand where that comes from. >> >> First of all USB does not allow to send two reports in a single >> transfer. > > That's right. Section 8.4 of the USB HID specification explicitly > says: > > Only one report is allowed in a single USB transfer. > > However vendors do not always obey the specification.
It is a matter of fact that some vendors are really challenged when it comes to reading and following specs. But any device not following the specs will hit a wall with Windows and MacOS as well. I don't think it is a good approach to break the well behaving devices to support the misbehaving ones. >> The effect that was described in the forum is likely something that >> happens in the buffers of the host controller. Since he writes that >> he had to ignore interrupts for a while to see it this situation >> likely only arises if another transfer arrives before the last one >> has been serviced. > > They would still be presented as two separate transfers. The host > controller drivers are very careful about keeping different transfers > apart. > >> I would suspect that there is some problem in the host controller >> driver that concatenates reports under certain conditions. > > No. In fact, the driver in question had requested a single packet > transfer. > > Much more likely is that the delay caused by ignoring interrupts > gave the > keyboard time to accumulate more events, and the keyboard combined the > reports into a single packet. Without seeing the actual data, > though, we > can only speculate about the real cause. Having seen my share of bad designs I would assume that there may be such pieces of junk around. Though the spec is also clear about the behaviour in such situations: If the buffer of the device is full it just overwrites entries. -------------------------------------- Code Mercenaries Hard- und Software GmbH Karl-Marx-Str. 147a 12529 Schönefeld OT Grossziethen Germany Tel: x49-3379-2050920 Fax: x49-3379-2050930 HRB 16007 Potsdam Geschäftsführer: Guido Körber, Christian Lucht Did you subscribe to our Newsletter? If not, do so immediately by sending mail to: [EMAIL PROTECTED] Check out: www.codemercs.com ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
