STM32F373 USB DFU does not identify with USB C adapter, does identify without adapter
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.


