Skip to main content
Associate III
May 10, 2024
Solved

STM32F373 USB DFU does not identify with USB C adapter, does identify without adapter

  • May 10, 2024
  • 2 replies
  • 1872 views

We have a custom design using a STM32F373 and USB (USB micro connector). In the past this board has been updated via USB DFU and DFuSe Demo.

I am trying to use USB DFU to program the board in STM32CubeProgrammer v2.16, but it appears when the board is plugged into a USB C adapter, it does not correctly identify in Windows 11 64-bit (USB Device Descriptor Request Failed).

I've tested this board on 4 different PCs which make me think the USB C adapter and/or Windows 11 is causing the problem:

- The board correctly identified on PCs 1 and 2, which had USB A sockets and Windows 10.  Board connected using USB micro to USB A cable.

- The board failed to identify on PCs 3 and 4, which had USB C sockets and Windows 11.  Board connected using USB micro to USB A cable, and a USB A to USB C adapter (hub).

 

Is the system memory USB DFU bootloader compatible with USB C/USB 3.0?

Are there any known problems using USB A to C adapters with the USB DFU bootloader?

 

Notes on PCB design:

- USB D+/D- on STM32F373 are connected to the micro USB port's D+/-.

- USB D+ has a 1.5k ohm pullup resistor, connected to USB 5V.

- STM32F373 power during programming supplied by USB 5V, shifted to 3.3V by a linear regulator.

 

EDIT: This Adafruit USB C to USB Micro cable description states "Internally it has a 5.1Kohm pulldown, to make the USB C port configure itself for 5V, 500mA USB 2.0 standard," what is the pulldown on? I'm going to purchase this cable and see if I have better results, perhaps the adapters are trying to run at USB 3.0 speeds instead of USB 2.0.

https://www.adafruit.com/product/3878

 

EDIT2: For anyone else that might be having this problem, a USB C to USB Micro cable (no hub/adapter) fixed the issue for me and the device identifies correctly now.

This topic has been closed for replies.
Best answer by AScha.3

>- USB D+ has a 1.5k ohm pullup resistor, connected to USB 5V.

Really to 5V ?? Thats WRONG ! 

USB D+ -> 1.5k ohm pullup resistor to 3V3 !

+

try a USB-C -> micro-B  cable , like this :

https://www.reichelt.de/usb-2-0-kabel-c-stecker-auf-micro-b-stecker-1-m-logilink-cu0197-p348554.html?&trstct=pos_2&nbc=1

AScha3_0-1715366918295.pngAScha3_1-1715366949152.png

+

ed

Yes, the  Adafruit USB C to USB Micro seems similar , try it.

2 replies

Uwe Bonnes
Chief
May 10, 2024

I suspect the USB A to C adapters has a reduced wiring, causing the problems. Check other adapters.

DazaiAuthor
Associate III
May 10, 2024

Thank you for the reply, I should have mentioned in the OP that I've tried numerous USB A to C adapters, including a Dell USB C dock, two different Dell USB A to C adapters, and another USB A to C hub by a company called Cowzuc, and the USB Device Descriptor request failed with all of them.  I've used the Dell dock and adapter with other USB devices successfully.

AScha.3
AScha.3Best answer
Super User
May 10, 2024

>- USB D+ has a 1.5k ohm pullup resistor, connected to USB 5V.

Really to 5V ?? Thats WRONG ! 

USB D+ -> 1.5k ohm pullup resistor to 3V3 !

+

try a USB-C -> micro-B  cable , like this :

https://www.reichelt.de/usb-2-0-kabel-c-stecker-auf-micro-b-stecker-1-m-logilink-cu0197-p348554.html?&trstct=pos_2&nbc=1

AScha3_0-1715366918295.pngAScha3_1-1715366949152.png

+

ed

Yes, the  Adafruit USB C to USB Micro seems similar , try it.

"If you feel a post has answered your question, please click ""Accept as Solution""."
DazaiAuthor
Associate III
May 10, 2024

@AScha.3 wrote:

>- USB D+ has a 1.5k ohm pullup resistor, connected to USB 5V.

Really to 5V ?? Thats WRONG ! 

USB D+ -> 1.5k ohm pullup resistor to 3V3 !


Yeah that seemed weird to me (we inherited the design), since the micro is running on 3.3V, and I don't see the USB D+/- lines from the connector being level shifted so presumably they range from 0-5V? Strange that it works on some PCs anyway, but I've seen weirder things.

I'll get one of those cables and see if it helps, and see if there's a way to pullup to 3.3V instead.