Go Down

Topic: OTA_Mode - No Network port is shown ! (Read 3318 times) previous topic - next topic

rado

Found this discussion after attempting to perform an OTA upload after a LONG break. I am also affected by the issue where the network port doesn't appear in the menu. To make this short, here's what I found out:
  • Arduino IDE versions 1.8.6, 1.8.7, 1.8.8 and 1.8.9 will NOT show my ESP8266 node in the network port list
  • Arduino IDE versions 1.8.3 as well as 1.8.5 work correctly and instantly show the network port and are able to successfully perform an OTA upgrade

I spent a lot of time troubleshooting this until I recalled I originally used 1.8.3 and then I tried to find the newest working version, which turned out to be 1.8.5. Does anybody have any idea why this is happening and whether this is a known issue (or whether it should be submitted)? I am on Windows 10 and version 1.8.5 works OK with both Python 2.7 as well as 3.7. Thanks for any pointers!

vince31

I also have/had the same problem.  Im on Arduino 1.8.5 on one PC and 1.8.9 on another.  After an OTA upload to my ESP devices today neither PC showed a complete Network list of all my ESP8266 devices and connectivity to the devices was very hit and miss. But I've just managed to get them all back and perform another OTA update on them all to hopefully sort it out.
Firstly a Router (BT hub) reboot sorted out getting the network list back visible in Arduino, but Im pretty sure the main problem was the update I did earlier on today to all my ESP devices, this update contained an improvement (or so I thought) to include ESP8266WiFiMulti.h; this was meant to allow me to upgrade my Router to a new "improved" one I just got from BT.  I upgraded the Arduino sketch for the ESP devices to set up WiFiMulti to include both the old and the new Router SSID & Password combinations so all my devices would automatically connect to either AP and work as normal when I swapped the router over to the new one.  It was after this update, and before Id even swapped over the router, that all the problems started with intermittent access to all my devices and I was unable to reconnect to any of them in the Arduino IDE to do another OTA (some of my devices are in the walls/ceilings so FTDI was not going to be an easy option).
All my devices have had a rock solid connection up until today with the old firmware sketch so it had to be this change I did in the sketch to include ESP8266WiFiMulti.h functionality. 
After rebooting the router I managed to get the devices to show up again and managed to revert them all back to the old sketch with just a single WiFi connection identified.  It all seem stable now.
Personally I think its a problem with ESP8266WiFiMulti.h functionality.

rado

Interesting findings Vince... In my case it doesn't seem to be ESP8266WiFiMulti or router related. I'm not using this library in my pretty simple sketch, and the problems were reproducible with the old firmware/sketch that worked reliably in Arduino IDE versions 1.8.5 and earlier. Rebooting the TP-Link WR841N didn't have any effect in my case.

rtek1000

Please avoid private messages, your question may be someone's answer in the future!

rado

Hi

Installing / reinstalling Python might make it work:

[SETUP] ESP8266 Over The Air (OTA) Programming In Arduino IDE
Actually, Python was my first suspect, as I have recently upgraded from 3.5.0 to 3.7.2 but testing with different python versions made no difference in my case. I did this before trying the different Arduino IDE versions.

litechniks

I tried many things to get it work and finally this is what helped me at first try: https://superuser.com/questions/1330027/how-to-enable-mdns-on-windows-10-build-17134

leifnel

I suspect it is some bug in arduinoUI OTA detection. I have "Bonjour browser" and "mDNS browser" running on the same machine as the ArduinoUI.

All my 6 OTA-devices show as _arduino._tcp.local in both browsers.

But sometimes the ports show in arduinoUI, sometimes not.

I wish there was a way to force the arduinoUI to try sending updates to an ip/port, even if it is not detected.
On my previous laptop I had the same issue with the ports randomly showing up or disappearing, but uploading over CLI always worked.

I think whatever different users have tried and it suddenly worked is just random chance.


rado

#22
May 13, 2019, 08:38 pm Last Edit: May 13, 2019, 08:39 pm by rado
Thank you both for your responses.

litechniks - I really don't feel like messing with extra Apple software on my Windows 10 machine right now, at least while the workaround of using the older Arduino 1.8.5 works OK :)

leifnel - well, in my case the ports do not show in Arduino IDE "randomly", starting from 1.8.6 they just never show (including 1.9.0 beta). Just like you said - using other mdns browsers will always show the nodes just fine (I have tried some Chrome app and Bonjour Browser from hobbyistsoftware).

I think the issue really boils down to the use of jmdns library (http://www.jmdns.org) that Arduino seems to be using now for service discovery? At least that's what the issue report on github seems to indicate (https://github.com/arduino/Arduino/issues/8408). I have tried to run the sample discovery java code provided with the jmdns library on my Windows 10 machine (setting it to search for _arduino._tcp.local) and it doesn't discover anything. Running the same java code on a Xubuntu 18.04 VM will found the ESP8266 node just fine. Unsurprisingly running Arduino IDE 1.8.9 on the same Xubuntu VM will also find the ESP8266 just fine...

I agree with the idea of forcing an IP/port even if not detected - would be a nice workaround.

Go Up