cancel
Showing results for 
Search instead for 
Did you mean: 

[BUG] ST-Link firmware verification - No ST-LINK detected message since 1.4.x update.

gcrisa
Associate III

On Windows 10, I just updated (again) to the 1.4.2 version, hoping to solve this issue, yet nothing changed.

Already tried a clean install (again) and re-installed the latest STM32CubeProgrammer: nothing changed.

Will ST handle this sooner or later please? Or at least give some help in diagnosing the problem? Thanks

64 REPLIES 64

A few days passed, I double-checked my drivers and they are fine. Any progress on this, or it will just be dropped?​

Hello, Is the Shared ST-Link mode working fine in Cube Programmer ?

Hello, thank you for answering.

I just tried that and it doesn't work, here is the log output:

16:43:40:938 : ST-LINK error (DEV_NO_STLINK)
16:43:40:938 : ST-LINK error (DEV_NO_STLINK)

It doesn't even list the ST-LINK Serial numbers, but if i disable the shared mode everything works.

Here is the log with Shared mode off, if it may help...

16:43:40:938 : ST-LINK error (DEV_NO_STLINK)
16:43:40:938 : ST-LINK error (DEV_NO_STLINK)
16:46:37:806 : STLinkUSBDriver.dll loaded
16:46:37:806 : ST-LINK error (DEV_CONNECT_ERR)
16:46:40:243 : STLinkUSBDriver.dll loaded
16:46:40:244 : STLinkUSBDriver.dll loaded
16:46:40:244 : ST-LINK SN : 066EFF494951785087062254
16:46:40:244 : ST-LINK FW : V2J37M26
16:46:40:244 : Board : --
16:46:40:247 : Voltage : 3.26V
16:46:40:251 : SWD freq : 4000 KHz
16:46:40:251 : Connect mode: Normal
16:46:40:252 : Reset mode : Software reset
16:46:40:255 : Device ID : 0x433
16:46:40:256 : Revision ID : Rev A
16:46:40:269 : Reading data...
16:46:40:271 : r ap 0 @0x40023C14 0x00000004 bytes Data 0x000000ED
16:46:40:271 : Database: Config 0 is active.
16:46:40:275 : flash loader C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin/FlashLoader/0x433.stldr is loaded
16:46:40:277 : Reading data...
16:46:40:280 : r ap 0 @0x1FFF7A22 0x00000004 bytes Data 0x00000000
16:46:40:789 : UPLOADING OPTION BYTES DATA ...
16:46:40:790 : Bank : 0x00
16:46:40:790 : Address : 0x40023c14
16:46:40:790 : Size : 8 Bytes
16:46:40:790 : Reading data...
16:46:40:791 : r ap 0 @0x40023C14 0x00000008 bytes Data 0x000000ED
16:46:40:792 : UPLOADING OPTION BYTES DATA ...
16:46:40:793 : Bank : 0x00
16:46:40:793 : Address : 0x40023c14
16:46:40:793 : Size : 8 Bytes
16:46:40:794 : Reading data...
16:46:40:794 : r ap 0 @0x40023C14 0x00000008 bytes Data 0x000000ED
16:46:40:800 : UPLOADING ...
16:46:40:800 : Size : 1024 Bytes
16:46:40:800 : Address : 0x8000000
16:46:40:800 : Read progress:
16:46:40:800 : Reading data...
16:46:40:801 : r ap 0 @0x08000000 0x00000400 bytes Data 0x000000FF
16:46:40:801 : Data read successfully
16:46:40:802 : Time elapsed during the read operation is: 00:00:00.007

Did you reboot the PC after installing the software ? Might worth a try if not already done.

Yes, this PC has been switched on/off and/or rebooted many times since my last reinstall attempt three days ago.

I am just guessing now. I think the ST-LINK drivers should be the same, no matter if I try to connect to the board in a shared mode through the ST-Link Server or "directly", that is with shared mode off, correct?

It seems I get the "ST-Link enumeration failed" only when I try to connect in shared mode so, is there a way to increase the verbosity of the ST-LINK driver itsef, in order to discover why does the enumeration fails in that particular case?

The usb drivers are the same, the difference is that the STLink server uses libusb and cube programmer uses winusb for enumeration.

Can you kill stlinkserver process and start it in a cmd prompt window and see if you can have an error code or share the log.

Start it with an stlink connected on usb port, with verbose option -d3.

stlinkserver.exe -d3

Hello, thanks again for your help. What you suggested was precisely what I wanted to try indeed 🙂

First I started the CubeIDE; double-checked there were no istances of stlinkserver.exe running; started the stlinkserver.exe manually with the -d3 option; then launched a debug from the CubeIDE. Had a NUCLEO board attached all the time.

I didn't had any error codes though, from what I understood reading the log (which I'm attaching) it's just the libusb enumeration that returns zero connected devices...

Did you try to debug with openocd instead of stlink gdb server ?

Do you have the same error message or do you have an error around libusb with no stlink detected ?

Without using the shared mode of course.

You can also activate verbose mode putting -d in openocd options.