PlatformIO Community

Not able to connect to esp32 (Serial and upload)

Hi, I haven’t been able to connect to my esp32 on my linux machine, platformio doesn’t seem to be able to see the board (works fine with a nano or on windows).
It’s equiped with a ch9102x so I installed this drivers:

I get this from dmesg:
[ 6496.609147] usb 1-1.2: new full-speed USB device number 10 using xhci_hcd
[ 6496.717948] usb 1-1.2: New USB device found, idVendor=1a86, idProduct=55d4, bcdDevice= 4.43
[ 6496.717970] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[ 6496.717977] usb 1-1.2: Product: USB Single Serial
[ 6496.717983] usb 1-1.2: SerialNumber: 531E003533
[ 6496.722708] usb_ch343 1-1.2:1.0: ttyCH343USB0: usb to uart device

If I’m correct it’s mounted to /dev/ttyCH343USB0 but why isn’t platformio able to see it ?
Is there a way to correct this, or force it to mount to /dev/ttyUSB0 ?
Really sorry to ask this, I know it’s probably trivial I tried some solutions I found online but none of then did work so I must be doing something wrong, thanks in advance.

The standard linux kernel can’t handle this chip?

Just try setting upload_port = /dev/ttyCH343USB0 in your platfomio.ini instead.

Before installing the drivers it wasn’t appearing when doing “ls -l /dev/tty*”
I tried adding upload_port to the .ini but it didn’t change anything.

Well there’s definitely some discussion on this chip in TTGO T3 with WCH CH9102F USB Modem won't flash in Mac OS! and Mac upload fails to /dev/tty.usbmodem52D60049421 in regards to it not working with either the OS or some tools.

Does it also not work in the Arduino IDE when selecthing this port? Then it might be a bug in either the driver (e.g., missing DTR/RTS control needed for reset) or esptool.py.

Sorry for being slow to respond (kind of busy today) can’t open serial monitor with arduino IDE, I get an error message but it might be unrelated, I’ll look into it before coming back

Getting permission refused when doing “/dev/ttyCH343USB0” (i’m in the dialout group and I also tried adding myself to root and tty just in case).
Can’t get the arduino IDE to work either, it returns some permission error when trying to use the serial monitor.
What’s weird is that I can see the port with arduino IDE but not through platformio → devices, might it be looking only for ttyUSBX ?

After doing a you have to at least log out and log in again, or reboot the computer. See the lower part of Frequently Asked Questions — PlatformIO latest documentation.

PlatformIO uses pyserial to identify the serial ports, which may have some filtering (?), Arduino IDE is Java based and may use different logic. In any case setting upload_port = .. explicitly should work around that problem.

I did reboot afterwards, so there’s probably something wrong with the drivers, I’ll try to acces it via putty (or something else) when I get back home

I’m deeply sorry, added the monitor_port line and it worked, there must be some kind of filter because it’s still not showing in the devices tab. Thanks a lot.

Please report that to https://github.com/platformio/platformio-core/.

1 Like