STM32H745ZI-Q USB CDC (VCP) Device Descriptor Request Failed (Error 43)
Hi there,
There have been various permutations of this issue across the forums, but I can't seem to get any definitive solutions for this. Trying to get some help to resolve this issue.
We are trying to incorporate USB CDC into a design and can't seem to get this working on the STM32H745ZI-Q NUCLEO development board that we have. Every time the firmware is running, device manager shows Unknown USB Device (Device Descriptor Request Failed), (Error 43) when board is plugged in through OTG port.
These steps tend to work on other boards, so I'm wondering if there's something fishy with the generated Cube code.
Details:
- STM32CubeMX v. 5.4.0
- STM32CubeIDE v. 1.1.0
- STM32Cube FW_H7 v. 1.5.0
- Windows 10
- ST CDC driver installed
Clock Configuration:
- HSE 8 MHz crystal
- PLLs:
- DIVM1 /2
- DIVN1 x240
- DIVP1 /2
- DIVQ1 /2
- DIVM3 /1
- DIVN3 x24
- DIVQ3 /4
- USB clock is 48 MHz (PLL3Q source) (also tried RC48)
Linker Settings:
- Minimum Heap Size 0x2000 (also tried 0x1000 and above)
- Minimum Stack Size 0x2000
Cube Configuration Steps:
- Created new project for specific board
- USB_OTF_FS Mode and Configuration:
- Device_Only
- M7 context
- VBUS disabled
- Active_SOF enabled
- Middleware USB_DEVICE_M7:
- Class for FS IP: Communication Device Class (VCP)
Other Steps:
- Tried enabling VBUS, since there is the appropriate fix w/ function call in latest HAL drivers for the H7 device
- Plugging and unplugging device in different ways
- Adding delays after boot.
Thanks very much!
Edit:
Can confirm that the same steps instead followed on the NUCLEO H743ZI2 board result in a working USB CDC device...
