cancel
Showing results for 
Search instead for 
Did you mean: 

How to make the STM32WB55 USB dongle show up in linux?

CGood.1
Associate

I have a Nucleo Pack with two STM32WB55 discovery boards. One of the boards has a 64 pin micro controller, while the other board is USB dongle with a 48 pin microcontroller.

I flashed the binary file from an example project called "BLE_p2pServer" found here onto the 64 pin micro controller using "STM32CubeProgrammer" and the board communicated just fine with an app called "ST BLE Sensor" as suggested in this tutorial.

Now I would like to flash the 48 pin USB dongle in order to make it communicate with the 64 pin board that is already working.

Unfortunately the USB dongle doesn't show up in "STM32CubeProgrammer" and flashing an example project from TrueStudio also results in an error:

ST-Link enumeration failed
Error in initializing ST-LINK device.
Reason: ST-LINK DLL error.

The boards have different names:

chandran@chandran-OptiPlex-9020:~$ lsusb
Bus 001 Device 038: ID 0483:5740 STMicroelectronics STM32F407
Bus 001 Device 039: ID 0483:374b STMicroelectronics ST-LINK/V2.1 (Nucleo-F103RB)

Both boards have the same microcontroller, but maybe the USB dongle requires different udev rules?

The st-related drivers are missing in my "/dev" folder when I unplug the 64 pin discovery board and leave the 48 pin dongle connected.

When boards are connected:

chandran@chandran-OptiPlex-9020:~$ ll /dev/stlinkv2-1_*
lrwxrwxrwx 1 root root  3 Dec 30 18:32 /dev/stlinkv2-1_ -> sdb
lrwxrwxrwx 1 root root 11 Dec 30 18:32 /dev/stlinkv2-1_0 -> bsg/6:0:0:0
lrwxrwxrwx 1 root root  7 Dec 30 18:32 /dev/stlinkv2-1_1 -> ttyACM1
lrwxrwxrwx 1 root root  3 Dec 30 18:32 /dev/stlinkv2-1_2 -> sg2
lrwxrwxrwx 1 root root 15 Dec 30 18:32 /dev/stlinkv2-1_5 -> bus/usb/001/040

When only the 48 pin dongle is connected:

chandran@chandran-OptiPlex-9020:~$ ll /dev/stlinkv2-1_*
ls: cannot access '/dev/stlinkv2-1_*': No such file or directory

The dongle shows up as `/dev/ttyACM0` on my machine.

How can I proceed to make the USB dongle work as well? Do I need additional drivers or udev rules?

Thanks in advance,

Chandran

1 REPLY 1
KnarfB
Principal III

The dongle does not contain a STLINK debugger chip, only the target MCU, see UM2435 user manual and https://www.st.com/content/dam/AME/2019/stm32wb-workshops-2019/STM32WB_Workshop_Presentation.pdf. The STM32CubeMonRF monitor software can communicate with the dongle over /dev/ttyACM0. You may re-program the dongle by using the boot switch or attach an external STLINK, see the docs.