0

I have a device which is running on wince5.0.
I am trying to communicate with the device from the PC via WinUSB driver, but facing an issue in the device descriptor that it is not sending the Manufacturer string even though it is available in the registry.
I am getting only the index to the string descriptor that is 0x01.

Kindly help me on this

1 Answer 1

0

The device descriptor only contains an index pointing to a string descriptor.

The USB enumerator generates separate control transfers to retrieve the string contents. A typical conversation would be

  1. get device descriptor
  2. get string descriptor 0 (list of supported locales)
  3. get string descriptor 1, with the selected locale.

Your device needs to respond to both the string descriptor requests with index 0 with unspecified locale, and index 1 with one of the locales listed as supported, otherwise the device name will not show up.

Sign up to request clarification or add additional context in comments.

2 Comments

Thank you.We have a test application that runs on a win7 PC using winusb driver for communicating with the wince device.After usb enumeration ,the host application is trying to read the device using the winusb driver.In the USB log that we captured using an analyzer we could see that in the setup packet request for the sting descriptor that is bieng sent by the host the language id is zero (neutral).the wince device is unable to recognise the language id.Why the Winusb driver is sending the language id as zero in the setup packet? Kindly help me on this
The first query is for string descriptor 0, language ID 0. This is a special string, containing the list of supported language IDs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.