Upload_port is a device path, but PIO tries OTA upload

Yes, nslookup of COM5 is successful (and I think we’d expected that based on the behavior and that bad commit). I think you had the right idea that there should be a new parameter upload_tool or something that allows you to specify esptool (should be default) or espota.

I’ll look into manually fixing main.py, but for now, I can work around by ensuring my target is the first serial port and commenting out the upload_port in platformio.ini

Thank you again for all of your help!!!

1 Like

Can you please post that output and censor IP addresses if neccessary. I have a hard time believing this. For me it’s throwing

C:\Users\Maxi\Desktop\esp_test>nslookup COM7
Server:  UnKnown
Address:  fe80::eade:27ff:XXXX:XXXX

*** COM7 was not found by UnKnown: Non-existent domain.

Thank you @dalbert for … having the same problem?

It would seem that the problem rears it’s head dependent on the DNS setup of the user!

Here’s my output:

MacBook-Pro:WifiLEDController-Master lcotton$ dig "/dev/cu.usbserial-14413430"

; <<>> DiG 9.10.6 <<>> /dev/cu.usbserial-14413430
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32913
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;/dev/cu.usbserial-14413430.    IN      A

/dev/cu.usbserial-14413430. 10  IN      A
/dev/cu.usbserial-14413430. 10  IN      A

;; Query time: 92 msec
;; WHEN: Fri Mar 01 12:46:28 CST 2019
;; MSG SIZE  rcvd: 76

I can see from the found IPs that my ISP has provided to my router the DNS servers that always returns a “found” response for any query, resulting in those ridiculous ad-filled “search” results page. Time to ignore DHCP-provided DNS servers…

A USB-serial adapter that has an IP address. Nice, that’s first one. I’ve opened OTA port detection falsely triggers for serial ports · Issue #134 · platformio/platform-espressif8266 · GitHub to address this issue.

What’s the proper way to submit a defect report on this? (or are you a pio dev and it’s already addressed?)

Depending on whether the problem is in the core or for one of the platforms (espressif8266, avr, …) you’d submit an issue on the core (Issues · platformio/platformio-core · GitHub) or the platform, e.g. Issues · platformio/platform-espressif8266 · GitHub. I’ve opened an issue, see

1 Like

Officially resolved via this commit. You can now write upload_protocol = esptool or upload_protocol = espota, also the detection logic for hostnames has changed. Will be included in the next release.


This is a bug and was fixed in Release 2.0.2 · platformio/platform-espressif8266 · GitHub

Please update dev/platform via PlatformIO IDE > PIO Home > Platforms > Updates or using CLI $ pio update.

See also updated docs Espressif 8266 — PlatformIO latest documentation