Unable to debug using Raspberry Pi Debug Probe

I want to debug a pico using the Debug Probe. I can upload fine but can’t debug using the platform settings I want to use.

If I create a project with these settings I can debug fine:

[env]
platform = raspberrypi
framework = arduino
[env:pico]
board = pico

With these settings I can’t:

[env]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
framework = arduino
[env:rpipicow]
board = rpipicow
debug_port = /dev/ttyACM0
debug_tool = cmsis-dap

I get these errors:

undefined/home/david/.platformio/packages/tool-openocd-rp2040-earlephilhower/bin/openocd: error while loading shared libraries: libhidapi-hidraw.so.0: cannot open shared object file: No such file or directory

/home/david/.platformio/packages/toolchain-rp2040-earlephilhower/bin/arm-none-eabi-gdb: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

I’ve search and found the missing files so not sure what to do.

david@david-iMac:~$ sudo find /lib /usr/lib -name ‘libhidapi-hidraw*’
/usr/lib/x86_64-linux-gnu/libhidapi-hidraw.so.0
/usr/lib/x86_64-linux-gnu/libhidapi-hidraw.so.0.0.0

david@david-iMac:~$ sudo find /lib /usr/lib -name ‘libtinfo*’
/usr/lib/x86_64-linux-gnu/libtinfo.so.6
/usr/lib/x86_64-linux-gnu/libtinfo.so.6.3
/usr/lib/x86_64-linux-gnu/libtinfo.so.5
/usr/lib/x86_64-linux-gnu/libtinfo.so.5.9

I’m using Linux Mint 21.2 Cinnamon (on an old iMac) and I’ve followed the guidelines for 99-platformio-udev.rules

Any help appreciated.

Thanks for the report. Indeed some needed dependencies for OpenOCD and GDB are not are statically compiled into the binary and should be better documented.

I’ll check on Linux Mint 21.2 myself to see which packages are needed or why it doesn’t startup.

On Mint this really only required me to do sudo apt install libtinfo5.

$ ldd ~/.platformio/packages/toolchain-rp2040-earlephilhower/bin/arm-none-eabi-gdb
	linux-vdso.so.1 (0x00007fff07d6b000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f554df85000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f554df80000)
	libmpfr.so.6 => /lib/x86_64-linux-gnu/libmpfr.so.6 (0x00007f554d151000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f554cf25000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f554ce3e000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f554df5e000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f554df59000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f554cc16000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f554cb94000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f554dfc9000)

What is the output for you?

Edit: For OpenOCD,

 sudo apt-get install -y libhidapi-hidraw0 

is additionally needed.

I’ve run the commands:

david@david-iMac:~$ sudo apt install libtinfo5
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libtinfo5 is already the newest version (6.3-2ubuntu0.1).
libtinfo5 set to manually installed.
The following package was automatically installed and is no longer required:
  libwmf0.2-7
Use 'sudo apt autoremove' to remove it.
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.


david@david-iMac:~$ ldd ~/.platformio/packages/toolchain-rp2040-earlephilhower/bin/arm-none-eabi-gdb
	linux-vdso.so.1 (0x00007fff92df3000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f1e98e94000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1e98e8f000)
	libmpfr.so.6 => /lib/x86_64-linux-gnu/libmpfr.so.6 (0x00007f1e97f51000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1e97d25000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1e98da8000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1e98d86000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1e98d81000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1e97afd000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f1e97a7b000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f1e98ed9000


david@david-iMac:~$ sudo apt-get install -y libhidapi-hidraw0 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libhidapi-hidraw0 is already the newest version (0.11.2-1).
The following package was automatically installed and is no longer required:
  libwmf0.2-7
Use 'sudo apt autoremove' to remove it.
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.


david@david-iMac:~$ sudo ldd ~/.platformio/packages/tool-openocd-rp2040-earlephilhower/bin/openocd
	linux-vdso.so.1 (0x00007ffe7e5d8000)
	libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f57136db000)
	libhidapi-hidraw.so.0 => /lib/x86_64-linux-gnu/libhidapi-hidraw.so.0 (0x00007f57136d3000)
	libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f57136ce000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57136c9000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5712dd8000)
	libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f571369d000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f571370e000)

So when you just execute this, this should start up now, right?

Correct:

avid@david-iMac:~$ ~/.platformio/packages/toolchain-rp2040-earlephilhower/bin/arm-none-eabi-gdb
GNU gdb (GDB) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) Quit
(gdb)

Not sure if this is useful:

(gdb) show configuration
This GDB was configured as follows:
   configure --host=x86_64-linux-gnu --target=arm-none-eabi
	     --with-auto-load-dir=$debugdir:$datadir/auto-load
	     --with-auto-load-safe-path=$debugdir:$datadir/auto-load
	     --with-expat
	     --with-gdb-datadir=/workdir/arm-none-eabi.x86_64/share/gdb (relocatable)
	     --with-jit-reader-dir=/workdir/arm-none-eabi.x86_64/lib/gdb (relocatable)
	     --without-libunwind-ia64
	     --without-lzma
	     --without-babeltrace
	     --without-intel-pt
	     --with-mpfr
	     --without-xxhash
	     --without-python
	     --without-python-libdir
	     --without-debuginfod
	     --without-guile
	     --disable-source-highlight
	     --enable-threading
	     --with-separate-debug-dir=/workdir/arm-none-eabi.x86_64/lib/debug (relocatable)

Okay. So, in the project directory / PIO CLI, what does

pio debug --interface=gdb -- -x .pioinit

output now?

sh-5.1$ pio debug --interface=gdb -- -x .pioinit
[333 preload-host-spawn-strategy] Warning: waitpid override ignores groups
Warning! Please install `99-platformio-udev.rules`. 
More details: https://docs.platformio.org/en/latest/core/installation/udev-rules.html
/home/david/.platformio/packages/tool-openocd-rp2040-earlephilhower/bin/openocd: error while loading shared libraries: libhidapi-hidraw.so.0: cannot open shared object file: No such file or directory
/home/david/.platformio/packages/toolchain-rp2040-earlephilhower/bin/arm-none-eabi-gdb: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
[333 preload-host-spawn-strategy] Warning: waitpid override ignores groups
sh-5.1$

I have installed the ‘99-platformio-udev.rules’ but not sure how to check.

Udev instructions are here.

But that’s very weird. ldd finds all libraries but in VSCOde it can’t find it? And VSCode is not running in a containerized environment like a flatpak?

Can you try executing sudo ldconfig and reboot the system and retry?

Can you try executing sudo ldconfig and reboot the system and retry?

I tried this but it made no difference.

I used the Linux Mint software manger to install VSCode:

Oh no, flatpak.

Can you “Remove” that again and install it via the .deb file instead? https://code.visualstudio.com/download

OK, that has helped a lot but not quite there yet (so much quicker!). When debugging I get:

Downloading...
Unpacking...
Tool Manager: tool-openocd-rp2040-earlephilhower@5.120300.230911 has been installed!
undefinedOpen On-Chip Debugger 0.12.0-g4d87f6dca (2023-09-11-23:12)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : Hardware thread awareness created
Info : Hardware thread awareness created
adapter speed: 1000 kHz

Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : Using CMSIS-DAPv2 interface with VID:PID=0x2e8a:0x000c, serial=E66164084331B832
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 1000 kHz
Info : SWD DPIDR 0x0bc12477, DLPIDR 0x00000001
Info : SWD DPIDR 0x0bc12477, DLPIDR 0x10000001
Info : [rp2040.core0] Cortex-M0+ r0p1 processor detected
Info : [rp2040.core0] target has 4 breakpoints, 2 watchpoints
Info : [rp2040.core1] Cortex-M0+ r0p1 processor detected
Info : [rp2040.core1] target has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 3333
Info : Listening on port 3333 for gdb connections
Reading symbols from /home/david/Documents/PlatformIO/Projects/Greenhouse_Heater_2/.pio/build/pico/firmware.elf...
Warning: 'set target-async', an alias for the command 'set mi-async', is deprecated.
Use 'set mi-async'.
PlatformIO Unified Debugger -> https://bit.ly/pio-debug
PlatformIO: debug_tool = cmsis-dap
PlatformIO: Initializing remote target...
Ignoring packet error, continuing...
warning: unrecognized item "timeout" in "qSupported" response
Ignoring packet error, continuing...
.pioinit:13: Error in sourced command file:
Remote replied unexpectedly to 'vMustReplyEmpty': timeout

That’s in general looking good, both Cortex-M0+ CPUs were detected, so the SWD connection is alright. I am not sure why it throws that error. Does uploading via upload_protocol = cmsis-dap work? Have you tried replugging the USB cables for a power cycle of the boards?

upload_protocol = cmsis-dap

This works fine. Also tried replugging the USB cables but makes no difference.

 *  Executing task: platformio run --target upload 

Processing rpipicow (board: rpipicow; platform: https://github.com/maxgerhardt/platform-raspberrypi.git; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/raspberrypi/rpipicow.html
PLATFORM: Raspberry Pi RP2040 (1.10.0+sha.20d9d19) > Pico W
HARDWARE: RP2040 133MHz, 264KB RAM, 2MB Flash
DEBUG: Current (cmsis-dap) External (blackmagic, cmsis-dap, jlink, pico-debug, picoprobe, raspberrypi-swd)
PACKAGES: 
 - framework-arduinopico @ 1.30601.0+sha.d2461a1 
 - tool-mklittlefs-rp2040-earlephilhower @ 5.100300.230216 (10.3.0) 
 - tool-openocd-rp2040-earlephilhower @ 5.120300.230911 (12.3.0) 
 - tool-rp2040tools @ 1.0.2 
 - toolchain-rp2040-earlephilhower @ 5.120300.230911 (12.3.0)
Flash size: 2.00MB
Sketch size: 2.00MB
Filesystem size: 0.00MB
Maximium Sketch size: 2093056 EEPROM start: 0x101ff000 Filesystem start: 0x101ff000 Filesystem end: 0x101ff000
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 51 compatible libraries
Scanning dependencies...
Dependency Graph
|-- WiFi @ 1.0.0
Building in release mode
Compiling .pio/build/rpipicow/FrameworkArduinoVariant/picow_digital.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduinoVariant/picow_init.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduinoBootloader/boot2_w25q080_2_padded_checksum.S.o
Compiling .pio/build/rpipicow/src/main.cpp.o
Generating linkerscript /home/david/Documents/PlatformIO/Projects/arduino-wifi-scan/.pio/build/rpipicow/memmap_default.ld
Compiling .pio/build/rpipicow/lib475/SPI/SPI.cpp.o
Compiling .pio/build/rpipicow/lib9eb/lwIP_Ethernet/LwipEthernet.cpp.o
Compiling .pio/build/rpipicow/lib9eb/lwIP_Ethernet/LwipIntf.cpp.o
Archiving .pio/build/rpipicow/lib475/libSPI.a
Compiling .pio/build/rpipicow/lib9eb/lwIP_Ethernet/LwipIntfCB.cpp.o
Indexing .pio/build/rpipicow/lib475/libSPI.a
Compiling .pio/build/rpipicow/lib545/lwIP_CYW43/utility/CYW43shim.cpp.o
Compiling .pio/build/rpipicow/lib817/MD5Builder/MD5Builder.cpp.o
Compiling .pio/build/rpipicow/libf6e/LittleFS/LittleFS.cpp.o
Archiving .pio/build/rpipicow/lib9eb/liblwIP_Ethernet.a
Indexing .pio/build/rpipicow/lib9eb/liblwIP_Ethernet.a
Compiling .pio/build/rpipicow/libf6e/LittleFS/lfs.c.o
Archiving .pio/build/rpipicow/lib817/libMD5Builder.a
Archiving .pio/build/rpipicow/lib545/liblwIP_CYW43.a
Indexing .pio/build/rpipicow/lib817/libMD5Builder.a
Indexing .pio/build/rpipicow/lib545/liblwIP_CYW43.a
Compiling .pio/build/rpipicow/libf6e/LittleFS/lfs_util.c.o
Compiling .pio/build/rpipicow/lib4fe/PicoOTA/PicoOTA.cpp.o
Compiling .pio/build/rpipicow/libbad/Updater/Updater.cpp.o
Archiving .pio/build/rpipicow/lib4fe/libPicoOTA.a
Indexing .pio/build/rpipicow/lib4fe/libPicoOTA.a
Compiling .pio/build/rpipicow/lib937/WiFi/BearSSLHelpers.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/CertStoreBearSSL.cpp.o
Archiving .pio/build/rpipicow/libbad/libUpdater.a
Indexing .pio/build/rpipicow/libbad/libUpdater.a
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiClass.cpp.o
Archiving .pio/build/rpipicow/libf6e/libLittleFS.a
Indexing .pio/build/rpipicow/libf6e/libLittleFS.a
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiClient.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiClientSecureBearSSL.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiMulti.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiNTP.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiServer.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiServerSecureBearSSL.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/WiFiUdp.cpp.o
Compiling .pio/build/rpipicow/lib937/WiFi/dhcpserver/dhcpserver.c.o
Compiling .pio/build/rpipicow/FrameworkArduino/BluetoothDebug.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/Bootsel.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/CoreMutex.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/FS.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/PIOProgram.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/RP2040Support.cpp.o
Archiving .pio/build/rpipicow/lib937/libWiFi.a
Indexing .pio/build/rpipicow/lib937/libWiFi.a
Compiling .pio/build/rpipicow/FrameworkArduino/RP2040USB.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/SerialPIO.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/SerialUART.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/SerialUSB.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/StackThunk.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/_freertos.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/api/Common.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/api/IPAddress.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/api/PluggableUSB.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/api/Print.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/api/Stream.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/api/String.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/cyw43_wrappers.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/delay.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/libb64/cdecode.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/libb64/cencode.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/lock.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/lwip_wrap.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/main.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/malloc-lock.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/posix.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/sdkoverride/att_db.c.o
Compiling .pio/build/rpipicow/FrameworkArduino/sdkoverride/btstack_flash_bank.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/sdkoverride/hids_device.c.o
Compiling .pio/build/rpipicow/FrameworkArduino/sdkoverride/pico_bootsel_via_double_reset.c.o
Compiling .pio/build/rpipicow/FrameworkArduino/stdlib_noniso.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/wiring_analog.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/wiring_digital.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/wiring_private.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/wiring_pulse.cpp.o
Compiling .pio/build/rpipicow/FrameworkArduino/wiring_shift.cpp.o
Archiving .pio/build/rpipicow/libFrameworkArduino.a
Indexing .pio/build/rpipicow/libFrameworkArduino.a
Linking .pio/build/rpipicow/firmware.elf
Generating UF2 image
elf2uf2 ".pio/build/rpipicow/firmware.elf" ".pio/build/rpipicow/firmware.uf2"
Retrieving maximum program size .pio/build/rpipicow/firmware.elf
Flash size: 2.00MB
Sketch size: 2.00MB
Filesystem size: 0.00MB
Maximium Sketch size: 2093056 EEPROM start: 0x101ff000 Filesystem start: 0x101ff000 Filesystem end: 0x101ff000
Checking size .pio/build/rpipicow/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [===       ]  27.2% (used 71280 bytes from 262144 bytes)
Flash: [==        ]  15.5% (used 325200 bytes from 2093056 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, jlink, pico-debug, picoprobe, picotool, raspberrypi-swd
CURRENT: upload_protocol = cmsis-dap
Uploading .pio/build/rpipicow/firmware.elf
Open On-Chip Debugger 0.12.0-g4d87f6dca (2023-09-11-23:12)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
debug_level: 1

adapter speed: 1000 kHz

[rp2040.core0] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ea msp: 0x20041f00
[rp2040.core1] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ea msp: 0x20041f00
** Programming Started **
Warn : Adding extra erase range, 0x10052600 .. 0x1005ffff
** Programming Finished **
** Verify Started **
** Verified OK **
[rp2040.core0] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ea msp: 0x20041f00
[rp2040.core1] halted due to debug-request, current mode: Thread 
xPSR: 0xf1000000 pc: 0x000000ea msp: 0x20041f00
shutdown command invoked
============================================================== [SUCCESS] Took 23.81 seconds ==============================================================
 *  Terminal will be reused by tasks, press any key to close it.

That makes no sense. As src/main.cpp, are you using the minimal blinky code?

#include <Arduino.h>
#define LED LED_BUILTIN
void setup() {
   pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, LOW);
  delay(1000);
  digitalWrite(LED, HIGH);
  delay(1000);
}

Making the chip deepsleep or using the SWD pins yourself will break debugging.

Also you can try and disable the USB stack so that output is going via hardware UART instead with

build_flags = -DNO_USB

maybe this affects stuff.

I’ve tried both of your suggestions but no luck. Nothing has changed.

It waits a while at this line (about a minute) before giving the first error. Both the yellow and green leds come on and stay on on the debug probe (D):

PlatformIO: Initializing remote target...

I have tried another computer (old Mac running same Linux Mint) and get the same error when debugging.

I’ve tried another Pico, made no difference.

I will look at buying another Debug Probe. Not sure what else to try! Any suggestions welcome.

BTW, thanks for your help so far.