Alan Stern wrote:
> On Wed, 22 Oct 2008, Tim Roberts wrote:
>
>
>> Do you have an "other speed configuration descriptor"? If so, you
>> should be able to fetch the current configuration descriptor and see
>> which one you got. Your device should return the "other speed"
>> descriptor if it connects as USB 1.1.
>>
>
> A USB 2.0 device will _never_ connect as USB 1.1. No matter what speed
> it operates at, it will always report its bcdUSB value as 0x0200. This
> is required by the USB 2.0 spec.
>
You are quite correct. I should have said "...if it is forced to
connect as full-speed."
> Furthermore, you can't rely on the "other speed config" descriptor to
> tell you what speed a USB 2.0 device is running at. If it's running at
> full speed then the "other speed config" descriptor will be for a
> high-speed configuration, and vice versa, if it's running at high speed
> then the "other speed config" descriptor will be for a full-speed
> configuration.
>
But that's clearly sufficient. As long as you can tell the difference
between them, you just ask for the current configuration descriptor. If
the one you get is your high-speed descriptor, then you are running
high-speed. If the one you get is your full-speed descriptor, then you
are running full-speed.
This doesn't work in the general case for an arbitrary device, but few
of us are really writing apps for the general case.
--
Tim Roberts,
timr@...
Providenza & Boekelheide, Inc.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
Libusb-devel mailing list
Libusb-devel@...
https://lists.sourceforge.net/lists/listinfo/libusb-devel