2025-01-10 02:47 AM
OS: Kubuntu Linux 24.04
IDE: STM32CubeIDE 1.17.0
Hello,
STM32CubeIDE shows the message "No ST-LINK detected!". Neither the command "lsusb" nor VirtualBox are showing the device. I tried different cables and different USB ports. The quick start guide (UM3276) tells me to "install the STLINK-V3EC USB driver available on the www.st.com website", but there is only a Windows driver.
In contrast to this, a NUCLEO-F446ZE board gets detected fine.
Is it a dead board or is there any driver I have to install before? If so, where can I find it?
Solved! Go to Solution.
2025-01-10 09:58 AM
I was able to isolate the problem. It has to do with USB-C.
First I installed STM32CubeIDE on an Windows PC. The board got detected, so I did an update of STLink. But on my Linux system, the board still wasn't detected. I reserved the plug, but no change. I tried USB 2 und USB 3 ports at my computer, but no change.
But i found one USB-C cable, with this the board gets detected. It is striking that the A side connector of the working cable is only USB 2.0. I don't know in detail, whats the reason, but since I know that the USB-C standard is a Piece of sh*t for developers and compatibility, I'm not suprised in the end.
Summarized:
Cable 1: USBA 3.0 -> USB C
Cable 2: USB A 2.0 -> USB C
Linux + Cable 1: dosn't work
Linux + Cable 2: works
Windows + Cable 1: works
Windows + Cable 2: not tested
2025-01-10 03:15 AM
Since the NUCLEO-F446ZE uses ST-Link v2.1 (micro USB) and NUCLEO-H7S3L8 uses ST-Link v3 (USB-C), I tried to connect my external ST-Link v3 SET (micro USB) and it gets also detected.
The cable and USB port are working with other USB-C devices.
When using the ST-Link v3 SET, I get the error "Could not determine GDB version using command: arm-none-eabi-gdb --version". So I downloaded "en.st-link-server_v2.1.1-2" and wanted to install the GDB server, but here I get the message:
"lready installed version is newer or equal: v2.1.1 (2023-06-02-08:34)
NOT downgrading. Aborting stlink-server installation."
In the past, it was much easier to start with programming.
2025-01-10 03:22 AM - edited 2025-01-10 03:23 AM
Hello @oxc07w2
Make sure that the ST-LINK firmware is up to date. To upgrade the ST-LINK firmware to the latest version, you can use the STM32CubeProgrammer tool.
If the board is not being detected, try selecting the "Connect under reset" mode and holding the reset button while attempting a "Full Chip Erase" to clear the flash memory.
Check the jumpers on the board and make sure that they are set correctly. You can follow the recommendations described in the UM3276, which contains all the jumpers and solder bridges with their functions.
Follow also the steps in this FAQ: How can I recover my STM32H7 board after facing a power configuration deadlock?
2025-01-10 08:09 AM
Hello Imed.D and thank you for your answer.
The jumpers are set like described in the manual.
I installed the STM32SubeProgrammer. I klicked on "Firmware upgrade" and got the window "STLinkUpgrade 3.15.7", but the board is not being detected. I was held down the reset button while connecting the device, but it didn't change anything. Since it's not a problem connecting to the STM32H7 MCU, but to the STLink itself, recovering the MCU won't help. Furthermore the board is brand new.
2025-01-10 09:58 AM
I was able to isolate the problem. It has to do with USB-C.
First I installed STM32CubeIDE on an Windows PC. The board got detected, so I did an update of STLink. But on my Linux system, the board still wasn't detected. I reserved the plug, but no change. I tried USB 2 und USB 3 ports at my computer, but no change.
But i found one USB-C cable, with this the board gets detected. It is striking that the A side connector of the working cable is only USB 2.0. I don't know in detail, whats the reason, but since I know that the USB-C standard is a Piece of sh*t for developers and compatibility, I'm not suprised in the end.
Summarized:
Cable 1: USBA 3.0 -> USB C
Cable 2: USB A 2.0 -> USB C
Linux + Cable 1: dosn't work
Linux + Cable 2: works
Windows + Cable 1: works
Windows + Cable 2: not tested