cancel
Showing results for 
Search instead for 
Did you mean: 

No ST-LINK detected on STM32F4-Discovery on Arch Linux

AndrewEmbedded
Associate II

I'm trying to work with a STM32F4-Discovery board, and previously it connected perfectly okay, but a couple weeks ago something, seemingly out of nowhere, broke and CubeIDE stopped detecting the board and writing programs to it showing this message:

AndrewEmbedded_0-1759736112145.png

I tried reinstalling the IDE, downgraging the toolchain, upgrading the IDE, creating a fresh project and so on.

I'm running version 1.19.0 CubeIDE, using EndeavourOS (Arch-based).

Here are my udev rules for a relevant device:

# stm32 nucleo boards, with onboard st/linkv2-1
# ie, STM32F0, STM32F4.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", \
    MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
    SYMLINK+="stlinkv2-1_%n"

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", \
    MODE="660", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1", \
    SYMLINK+="stlinkv2-1_%n"

My user is a member of the plugdev group.

 But the important detail is that if I run stm32cubeide_wayland as root through sudo it is able to detect the board. (Still doesn't run the project, but that's because I don't have it setup for root either way.)

Edit:
Here's how it looks when I run stm32cubeide_wayland as root user:

AndrewEmbedded_0-1760379943185.pngAndrewEmbedded_1-1760379980689.png

While not root STLinkUpdate gives this:

AndrewEmbedded_2-1760380043638.png

And trying to run it gives the aforementioned ST-LINK firmware verification.

17 REPLIES 17

I would say, dialout.

As said, perhaps dialout is missing.

I use to use the groups command for that purpose, by the way.

Added dialout and then myself to it, didn't help either.

If you needed to create the group in the first place, it is understandable.
With the Debian/Mint systems I use, this falls into the dialout category. ttyACM is a modem port AFAIK.

But to be honest, I have no eperience with Arch Linux.
Perhaps do a "cat /etc/group", and try if any of the listed groups does the trick.

The groups that work for me (Mint 22.1)
adm dialout cdrom sudo dip plugdev users lpadmin sambashare

Doesn't seem to help, sadly, from what I've tried.

jowakar122
Senior

One of the possibility is that the board is not powered properly. So check the jumpers on the board make sure it gets power from the cable. The jumper should be on ST-LINK.

IMG20251006150254.jpg

Assuming this is the jumper you mean, it seems in order.

I checked multiple cables, none worked on the main system, and the debug pins are free too. As everything works on my work laptop, that's where I continued my work for now, and the exact same cable works on the laptop too.

Hitting reset button didn't help either.