USB2 HighSpeed

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
During host enumeration, at what point should a USB device switch to
HighSpeed (if supported)? Should it be running HS after the first reset, or
after the second? In response to the get_device_descriptor, should the
device always return its descriptor indicating that it is USB2 compatible?

Re: USB2 HighSpeed

Quoted text here. Click to load it

This is all described in Section "Reset Signalling" in the USB 2.0
spec, which you download from

The low/full speed detection is performed using the device pull-down or
pull-up resistors, and high speed is detected using low level signalling
during the reset sequence.

If the device is HS capabale, then it should be running at HS after reset
completes, if the upstream hub is also HS capable (otherwise the device
will be using FS signalling).

You need to read the USB spec to understand this properly, particularly
chapters 7 and 9.


Re: USB2 HighSpeed
Quoted text here. Click to load it

Thanks. The device that I'm using is supposed to be HS capable, but only
seems to want to work in FS mode.
I've read that USB spec section and I am assuming this is all handled in my
device (I can't get support from the manufacturers).
My device is happy in FS mode, and it is plugged into a HS capable port
(verified with another USB2 device). When I change my device_descriptor to
indicate that it is USB2.0 (and not 1.1), then WinXP gives me a warning
saying that I have a USB2 device in a non-HS port. Why would it say that? Is
it because the low level signalling has failed in some way, and my device is
still in FS mode. Do you know if WinXP always gives this warning if you plug
a HS device into a non-HS port?

Site Timeline