Problem:
While trying to program your STM32 board using stlink and PlatformIO (most programmers integrated onto a development board are STLink programmers), you see this error message:
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.11.0-00155-ge392e485e (2021-03-15-16:43) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html debug_level: 1 hla_swd Error: libusb_open() failed with LIBUSB_ERROR_ACCESS Error: open failed in procedure 'program' ** OpenOCD init failed ** shutdown command invoked
Solution:
You need to setup the correct permissions for the STLink usb devices – in other words, install the correct stlink
udev rules files. On Ubuntu, install stlink-tools
using
sudo apt -y install stlink-tools sudo systemctl restart udev
After that, unplug your stlink (or development board) for 5 seconds and plugin it in again. This will cause the new device permissions to take effect.
Now you can retry uploading the firmware from PlatformIO.