We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
"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