Re: How should we handle bogus bInterval descriptor values?

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Tue, 8 May 2007, Robert Marquardt wrote:

> Alan Stern schrieb:
>  > In this bug report, lsusb shows an HID device which has bInterval set 
> to 0
>  > in its two Interrupt endpoint descriptors:
>  >
>  > 	http://bugzilla.kernel.org/show_bug.cgi?id=8432
>  >
>  > Of course this confuses the USB drivers, causing a lot of problems.
>  >
>  > What should we do about such things?
> 
> The lower bounds for the polling interval are cleanly defined as 1 msec 
> for full-speed and 10 msecs for low-speed HID. So enforcing the rules 
> seems a good idea. Healing descriptors as soon as possible.

I agree.  Interestingly, the USB 2.0 spec lists 10 ms as the lower bound
for low-speed interrupt endpoints in section 5.7.4, but Table 9-13 says
that the value can go down to 1.

> The most general way to do so is a database of known bad devices which 
> get their descriptor completely replaced by a good one. As this is 
> probably too much effort in code and computation time only healing 
> critical parts and common errors should do the trick.

I'll write a patch to set out-of-range values to 32 ms, which seems like a 
nice default.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.