PlatformIO Community

Error: libusb_open() failed when trying to debug

I am using a ESP-WROVER-KIT-VB and the docs say that it " has on-board debug probe and IS READY for debugging. You don’t need to use/buy external debug probe", which is why I bought it.

The docs also say “You will need to install debug tool drivers depending on your system”, so I followed the ESP-WROVER-KIT V4.1 Getting Started Guide and Installation Step by Step.

I saw no error messages during install, but when I build and try to debug, I get

Reading symbols from g:_PlatformIo\ESP-WROVER-KIT-VB\NTP_demo.pio\build\esp-wrover-kit\firmware.elf…
PlatformIO Unified Debugger ->
PlatformIO: debug_tool = ftdi
PlatformIO: Initializing remote target…
Open On-Chip Debugger v0.10.0-esp32-20190708 (2019-07-08-11:04)
Licensed under GNU GPL v2
For bug reports, read
none separate
adapter speed: 20000 kHz
Info : Configured 2 cores
esp32 interrupt mask on
Info : tcl server disabled
Info : telnet server disabled
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6010, description ‘’, serial '’ at bus location ‘*’

Warn : Flash driver of esp32.flash does not support free_driver_priv()
Warn : Flash driver of irom does not support free_driver_priv()
Warn : Flash driver of drom does not support free_driver_priv()
.pioinit:11: Error in sourced command file:
Remote communication error. Target disconnected.: No error.

Does anyone know how I can get debuggin working? Thanks in advance

Just to make sure you

1 Like

Thanks for the quick and informative answer.

I had not run Zadiq, so hopefully that will help.

I think I must have had a brainfart with the jumpering. I probably thought somehting like “onbaord debugger, so no JTAG prob, so leave jumpers at Enable UART communication, rather than Enable JTAG functionality”.

I have now jumpered it to Enable JTAG functionality, and - Yay !! - it hits my breakpoint!

Thank you so very, very much!

Btw, does this mean that I can’t use Serial.print() any more (I don’t need to, if I can breakpoint), or can I also jumper for Enable UART communication too?

As can be seen in the PIO forum topic which I have linked above, the on-board debugger is a 2-channel FT2232 chip. Channel 1 can be jumpered to the JTAG and channel 2 can be jumpered to the UART (which it is by default), and they both work at the same time independently. So keep the ‘Enable UART’ jumpers in place for RXD and TXD. That’s why the post also says to only change the ‘Interface 0’ USB device and not the ‘Interface 1’ one, because that’s the UART you’re using to upload the firmware.

1 Like

Thankx a 1,000,000 ! In case you hadn’t guessed, I am new to this :slight_smile:

1 Like

Can you please take a look at and ?

Thanx a 1,000,000