Spent two days of trying to see printf via USART1 from U585 and U575 boards. Was trying to load BLE via DFU on B-U585 and get it work but USART1 became silent. (Wrote separate post on B-U585I-IOT2A as documentation nightmare). Problem: USB-C + STLINK-V3 USB mini enumeration Conflict. Need confirmation from support and opened ticket. On Windows to revive USART1 needed to go to regedit and clean all enumerations of old USB from all previous controllers but the combination of USB-C and ST-LINK mini connected to same Windows or Linux host IMHO looks dangerous
- Setup: STM32U575ZI-Q or B-U585I-IOT2A board with:
- USB-C connected to native USB peripheral (for DFU)
- STLINK-V3 connected via USB (for debug + Virtual COM Port)
- Issue: When both interfaces are connected to Windows 10 or Ubuntu — either in sequence or simultaneously:
- DFU mode consistently enumerates and stays visible
- Virtual COM Port (VCP) fails to transmit data, even though it appears in the device list
- No output from HAL_UART_Transmit() or similar code reaches the host
Observed Behavior
Problem Description
- Setup: STM32 board with both USB-C (for native USB/DFU) and STLINK-V3 (for debug + VCP)
- Issue: When both interfaces are connected — either in sequence or simultaneously — USB enumeration becomes unreliable:
- DFU device fails to appear
- STLINK-V3 disconnects or freezes
- VCP port disappears intermittently
- Observed Behavior:
- Connecting USB-C first, then STLINK-V3 → DFU sometimes lost
- Connecting STLINK-V3 first → VCP appears, but DFU fails to renumerate
- Simultaneous connection → unpredictable enumeration order and port visibility
Suspected Causes
- USB Role Conflict: Host/device negotiation may be disrupted when both USB interfaces assert presence
- Power Domain Overlap: STLINK-V3 and USB-C may share or compete for VBUS, causing brownouts or unstable enumeration
- STLINK-V3 Firmware Behavior: May assert reset or interfere with USB peripheral during debug session
Temporary Workarounds
- Connect Only One Interface at a Time: Avoid simultaneous USB-C + STLINK-V3 usage unless explicitly isolated
- Firmware Isolation: Ensure USB peripheral is not initialized while STLINK is active unless needed