[MacOS] usb port available but not useable for upload (no such file) [BUG?, workaround provided]


i can’t upload to my nodemcuv2 board even though the usb device is there:

misws-iMac:testapp02 misw$ pio device list
Hardware ID: USB VID:PID=1A86:7523 LOCATION=20-3.4
Description: USB2.0-Serial

even the serial monitor works.

the platformio.ini is:

platform = espressif8266
board = nodemcuv2
framework = arduino
upload_port = /dev/cu.wchusbserial14320

when i do an upload, the usb device is not available:


File “/Users/misw/.platformio/penv/lib/python2.7/site-packages/serial/serialposix.py”, line 268, in open

raise SerialException(msg.errno, “could not open port {}: {}”.format(self._port, msg))

serial.serialutil.SerialException: [Errno 2] could not open port /dev/cu.wchusbserial14320: [Errno 2] No>such file or directory: ‘/dev/cu.wchusbserial14320’

The port works for the Arduino IDE.

Any suggestions?


i can upload via this port to an arduino nano with platformio (same chip), so it seems the it is an issue with the nodemcu.

it seems that there is a pio bug:
when i’m creating a sym link from /dev/cu.wchusbserial14320 to /dev/usb01, everything works!
the problem seems to be the dot in cu.wchusbserial14320.
do only i hav ethis issue? i’m on macos mojave.

Can you check what version of the platformio espressif8266 platform package you’re using - you can run pio update -c to run a check only. If it’s not version 2.2.2, can you run pio update so that it gets updated, and try again?

Hi pfeerick,

> Platform Espressif 8266
> --------
> Checking espressif8266                   @ 2.2.2          [Up-to-date]
> Checking tool-esptoolpy                  @ 1.20600.0      [Up-to-date]
> Checking tool-mkspiffs                   @ 1.200.0        [Up-to-date]
> Checking tool-esptool                    @ 1.413.0        [Up-to-date]
> Checking framework-arduinoespressif8266  @ 2.20502.0      [Up-to-date]
> Checking toolchain-xtensa                @ 2.40802.190218 [Up-to-date]

so everything seems to be ok.

Yes, that’s all good. Thanks :slight_smile:

Just double check that path… the pio device list output ends 40, but you’ve got 20 in your platformio.ini

Ehm, that’s embarrassing :smile:
Will change my nickname.

Thanks pfeerick!

(but i still wonder where that 20 came from, it was all c&p :thinking:)

1 Like

lol… no need… I’d be changing mine every second day if that was the case! :stuck_out_tongue: :laughing:

Just glad we figured it out… I was thinking that major / annoying a bug couldn’t have been in the pyserial library all this time and not found! :open_mouth: