USB device stack

Dependents:   mbed-mX-USB-TEST1 USBMSD_SD_HID_HelloWorld HidTest MIDI_usb_bridge ... more

Issue: Strings aren't displayed by Windows due to faulty language ID

The language ID in USBDevice.cpp is currently defined as 0x009. This prevents the product name from being displayed by Windows during driver installation. By changing the language ID to 0x0409 (English - United States), the problem is rectified.

Corrected Language ID String

uint8_t * USBDevice::stringLangidDesc() {
    static uint8_t stringLangidDescriptor[] = {
        0x04,               /*bLength*/
        STRING_DESCRIPTOR,  /*bDescriptorType 0x03*/
        0x09,0x04,          /*bString Lang ID - 0x0409 - English - United States*/
    return stringLangidDescriptor;

1 comment:

21 Jan 2014

I've submitted a pull request that fixes this issue, please refer to it here: