Electrical – STM32CubeMX USB error “Unknown USB Device(Descriptor Request Failed)”

pcb-designstm32usb

My STM32 project has an issue about VCP on a CubeMX generated project.

When the USB cable is plugged in, the windows10 can't recognise it and in the device manager panel, it says "Unknown USB Device(Descriptor Request Failed), error code 43". The funny thing is after the USB cable been plugged in and out several times (usually more than 10 times), windows suddenly can recognize it. After that, if I power off the board for a short time(several seconds), the USB can always be recognized successfully by windows even if it is plugged out and in repeatedly; but if I shut down the board for a long time, then the issue will arise again.

I've taken the following steps to debug it but no effect:

  • I build a simple project on CubeMX with just OTG_FS, this issue is still existing.
  • I've also tried to enable/disable VBUS sensing function but it's the same.
  • I've measured the voltage on DP and VBUS which are 2.8v/4.4v when this issue exists.

I can't think of another method to debug this issue. Any ideas or suggestions about solving this issue is welcome. Thank you!

These are information related to the USB in my project:

The chip is STM32F205VGT, cubeMX version is 5.0.1.

Keil version:

enter image description here

USB configration:

enter image description here

enter image description here

Clock:

enter image description here

Schematic and PCB, the board is powered from wall supply rather than VBUS:

enter image description here

enter image description here

Updated:

Finally, the issue is fixed by resoldering the 16MHz crystal which may not contact well enough in the first version.

Best Answer

When I switch the clock source to HSI, the USB connection build successfully, so the reason may be the poor quality of crystal oscillator or bad soldering. I resolder the crystal oscillator and this time the USB can get connected with no issue.