This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Slow enumeration for USB 2.0 full speed device.

Hello,

I have LPC2368 controller which supports USB 2.0 full speed device.

While enumeration, I noticed the below request sequence
from Host to device:

1. Device Descriptor
2. Set Address
3. Device Descriptor
4. Device Configuration
5. String descriptor
6. String descriptor
7. Device Configuration
8. Device Qualifier
9. String descriptor
10. String descriptor
11. String descriptor

Since my device is 2.0 full speed device so I returned request error by setting status to STALL for Device Qualifier request.

But the problem I am facing is, that the device receives next request(i.e step 9 string descriptor) after a delay of 4-5 seconds.

That makes enumeration very slow and takes around 7 seconds to complete it.

Could anybody suggest me any solution to solve this.

Thanks.
VAIGO

Parents
  • "the stall command from device reaches host after 5 seconds."

    In our device, bus analyzer shows that STALL is issued by the device at the IN transaction just after the SETUP which specifies Get_Descriptor( Device Qualifier ). The interval is just one frame (1 ms) - I observed it on UHCI controller.

    If it takes so long, the device respond nothing to the IN transaction(s), and the host repeats SETUP again and again (up to three times).

    Maybe the firmware doesn't set STALL to the engine correctly.

    "we got the client code from LPC"

    What do you mean LPC?
    LPCUSB by Bertrik?

    Tsuneo

Reply
  • "the stall command from device reaches host after 5 seconds."

    In our device, bus analyzer shows that STALL is issued by the device at the IN transaction just after the SETUP which specifies Get_Descriptor( Device Qualifier ). The interval is just one frame (1 ms) - I observed it on UHCI controller.

    If it takes so long, the device respond nothing to the IN transaction(s), and the host repeats SETUP again and again (up to three times).

    Maybe the firmware doesn't set STALL to the engine correctly.

    "we got the client code from LPC"

    What do you mean LPC?
    LPCUSB by Bertrik?

    Tsuneo

Children
No data