AnsweredAssumed Answered

STM32F411 VCP USB OTG Problem (don't start)

Question asked by Ludovic Durand-Texte on May 25, 2018
Latest reply on May 27, 2018 by Ludovic Durand-Texte


I am using the STM32_USB-Host-Device_Lib_V2.2.0 and more specifically the STM32_USB_OTG_Driver and STM32_USB_Device_Library.

I have made running the VCP connection with an STMF405 with no problem.


Now using an STMF411, the connection does not establish : The Usb packet "device connected" on the other end does not contains the VID nor the PID.

Tracing the interruptions in the usb_dcd_int.c, I noticed that the process does not follow the same sequence:

- With the F405 the sequence is usbreset .. enumdone .. rxstsqlvl .. outepintr where the description is sent. (in the middle of each interruption, there is several sofintr that I omit here).
- With the F411 and the same code, the sequence loops as [usbreset .. enumdone ..] 4 times and ends with a usbsuspend. (without any sofintr in between)

I have checked the frequency on the line with the oscilloscope, it is ok
I have compared the values of each variable/register between the F405 and F411 during the usbreset and enumdone, I have exactly the same values.


I do not know the protocol but what I see is that interruptions that should raise after usbreset and enumdone does not. So the USBD_VID and USBD_PID are never sent.


Does someone have an idea of where I am wrong and/or what to check or trace?