Skip to main content
Associate
Apr 28, 2026 11:47 AM UTC
Solved

ST-LINKV3 over VirtualHere (USB over IP)

Hello,

I am trying to share ST-LINKV3 over the network and use it from another PC (WSL Ubuntu distro running docker and connecting to ST-LINKV3 via OpenOCD) with VirtualHere program (client and server), but facing this issue:

Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1800 kHz
Info : STLINK V3J17M10B6S1 (API v3) VID:PID 0483:3753
Info : Target voltage: 3.141644
Info : [stm32h7x.cpu0] Cortex-M7 r1p1 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Info : starting gdb server for stm32h7x.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x0800bcb4 msp: 0x2001fff0
Info : Device: STM32H74x/75x
Info : flash size probed value 2048k
Info : STM32H7 flash has dual banks
Info : Bank (0) size is 1024 kb, base address is 0x08000000
Warn : Adding extra erase range, 0x08069dc0 .. 0x0807ffff
Error: jtag status contains invalid mode value - communication failure
Error: error waiting for target flash write algorithm
Error: error while writing to address 0x5200200c
Error: error during the lock of flash
Error: error writing to flash at address 0x08000000 at offset 0x00020000
auto erase enabled

 Is it doable at all?

Andrew Neil
Andrew NeilBest answer
Super User
Apr 28, 2026 11:57 AM UTC

This is the recommended way to do remote debugging:

AndrewNeil_0-1777377141700.png

 

https://www.youtube.com/watch?v=Xw5ojR2Ygcw

 

See also:

AndrewNeil_2-1777377425425.png

https://www.st.com/resource/en/user_manual/um2609-stm32cubeide-user-guide-stmicroelectronics.pdf#page=143

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.

3 replies

Andrew Neil
Andrew NeilBest answer
Super User
Apr 28, 2026 11:57 AM UTC
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
lakinsAuthor
Associate
Apr 28, 2026 1:15 PM UTC

What would be the proper way to do it with openocd?

GDB Server will be running on Windows machine, and client will be connecting to flash/debug from Ubuntu.

Just to note environment is VSCode/CMake.

 

Andrew Neil
Super User
Apr 28, 2026 1:31 PM UTC
A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.