cancel
Showing results for 
Search instead for 
Did you mean: 

Can't enumerate USB with STM32F44RE (custom board)

g239955_stm1
Associate II

I am trying to setup USB communication with an STM32F446RE

It is a custom board where:

  • The clock source is an external 8Mhz quartz
  • There is a micro USB port with USB+ connected to PA12 and USB- connected to PA11

The external quartz is working (I can load a firmware that just blinks a led) but I fail to enumerate the USB device with below message in the computer syslog.

I am using mbed with the NUCLEO F446RE configuration, I just enabled USB in the target configuration (USE_USB_OTG_FS type)

Also, I noted that if I plug the board even without a firmware that is supposed to use USB, my computer tries to enumerate the device, however it shows a different message (like it's trying to enumerate a low-speed device instead of high-speed)

Do you have any idea/clue what could be going wrong?

Oct 23 19:13:51 destiny kernel: [4213209.733361] usb 1-10: new full-speed USB device number 17 using xhci_hcd
Oct 23 19:13:51 destiny kernel: [4213209.861500] usb 1-10: device descriptor read/64, error -71
Oct 23 19:13:51 destiny kernel: [4213210.097415] usb 1-10: device descriptor read/64, error -71
Oct 23 19:13:51 destiny kernel: [4213210.333311] usb 1-10: new full-speed USB device number 18 using xhci_hcd
Oct 23 19:13:51 destiny kernel: [4213210.461545] usb 1-10: device descriptor read/64, error -71
Oct 23 19:13:52 destiny kernel: [4213210.697528] usb 1-10: device descriptor read/64, error -71
Oct 23 19:13:52 destiny kernel: [4213210.805438] usb usb1-port10: attempt power cycle
Oct 23 19:13:52 destiny kernel: [4213211.461355] usb 1-10: new full-speed USB device number 19 using xhci_hcd
Oct 23 19:13:52 destiny kernel: [4213211.461721] usb 1-10: Device not responding to setup address.
Oct 23 19:13:53 destiny kernel: [4213211.669583] usb 1-10: Device not responding to setup address.
Oct 23 19:13:53 destiny kernel: [4213211.877357] usb 1-10: device not accepting address 19, error -71
Oct 23 19:13:53 destiny kernel: [4213212.005324] usb 1-10: new full-speed USB device number 20 using xhci_hcd
Oct 23 19:13:53 destiny kernel: [4213212.005568] usb 1-10: Device not responding to setup address.
Oct 23 19:13:53 destiny kernel: [4213212.213745] usb 1-10: Device not responding to setup address.
Oct 23 19:13:53 destiny kernel: [4213212.421346] usb 1-10: device not accepting address 20, error -71
Oct 23 19:13:53 destiny kernel: [4213212.421442] usb usb1-port10: unable to enumerate USB device

1 ACCEPTED SOLUTION

Accepted Solutions

Pull BOOT0 High, and see if your hardware populates as a USB STM32 DFU device.

Check what you HSE does, output via MCO, check speed to come up.

Make sure PLL comes up, make sure PLL is generating 48 MHz for USB

Check D+/D- not backward

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

3 REPLIES 3

IMO Nucleo does not have a crystal this used HSE in Bypass more.

Otherwise, debug as usually, it is your code now.

JW

g239955_stm1
Associate II

Ok actually it was a really stupid problem, I shorted VUSB and D- when soldering the micro USB port 😅

Pull BOOT0 High, and see if your hardware populates as a USB STM32 DFU device.

Check what you HSE does, output via MCO, check speed to come up.

Make sure PLL comes up, make sure PLL is generating 48 MHz for USB

Check D+/D- not backward

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..