Skip to main content
Visitor II
July 22, 2020
Question

USB HID example is not enumerating on windows 10

  • July 22, 2020
  • 2 replies
  • 1796 views

I am trying to program a USB HID example but when I have uploaded to debug Windows will not recognise the USB device correctly.

The windows USB device viewer tool reports the following:-

*********************************************************************

[Port2] FailedEnumeration : Unknown USB Device (Device Descriptor Request Failed)

Is Port User Connectable:     no

Is Port Debug Capable:      no

Companion Port Number:      0

Companion Hub Symbolic Link Name: 

Protocols Supported:

 USB 1.1:             yes

 USB 2.0:             yes

 USB 3.0:             no

    ---===>Device Information<===---

String Descriptor for index 2 not available while device is in low power state.

ConnectionStatus:         FailedEnumeration

Current Config Value:       0x00 -> Device Bus Speed: Full (is not SuperSpeed or higher capable)

Device Address:          0x6C

Open Pipes:              0

*!*ERROR: No open pipes!

     ===>Device Descriptor<===

bLength:              0x12

bDescriptorType:          0x01

bcdUSB:             0x0200

bDeviceClass:           0x00

*!*ERROR: Device enumeration failure

****************************************************

Any clues as to what the problem is?

    This topic has been closed for replies.

    2 replies

    Super User
    July 22, 2020

    Which STM32?

    Is this a "known good" board such as Nucleo or Disco?

    DFU bootloader works?

    JW

    SMoch.1Author
    Visitor II
    July 23, 2020

    The board is an STM32H747IDISCO with screen, the included demo binaries run fine, and I have tested a blinky example also.

    What is DFU bootlader?

    Super User
    July 23, 2020

    My questions might've been formulated as "can't the problem be in hardware?". DFU bootloader is the USB bootloader, see AN2606. Either that, or working demo which works through that USB proves that there's no problem there (including cable and PC port).

    So, if HW is OK, problem is in SW. Cube is open-source, so debug as usually, as your own program i.e. check clocks, GPIO settings, trace how program proceeds through the enumeration process in the USB stack/interrupt, etc. I'm afraid there's no magical solution.

    JW

    SMoch.1Author
    Visitor II
    July 29, 2020

    hI loaded an example HID Device from the firmware  STM32H747I-DISCO\Application folder that uses the \SW4STM32 preconfigured project which uses the older toolchain. So confirm the hardware is working properly.

    The problem is definitely in the software, i wish they had proper examples for CubeIDE software.