I have been fighting this problem for a while now. The OTA port doesn't show up in release 1.8.5 or 1.8.12 in linux on a 64bit system but works with version 1.8.2
My build environment Arduino IDE versions 1.8.5 and 1.8.12 Fedora 31 X86_64 Python 2.7.17 and python 3.7.6
I can see the mdns of the Wemos D1 R2 with avahi-browse
[brian@localhost ~]$ avahi-browse -a + wlp2s0 IPv6 RASPBERRYPI _device-info._tcp local + wlp2s0 IPv4 RASPBERRYPI _device-info._tcp local + wlp2s0 IPv6 RASPBERRYPI Microsoft Windows Network local + wlp2s0 IPv4 RASPBERRYPI Microsoft Windows Network local + wlp2s0 IPv4 ESP8266 _arduino._tcp local
In the latest Aduino IDE, the OTA port shows up and works fine on Windows 10. My linux machine has Arduino 1.8.5 installed via Fedora packaging system. I downloaded the binary package 1.8.12-linux64 from Arduino.cc and no OTA port will show. I downloaded binary package arduino-1.8.2-linux64 from Arduino.cc and OTA port shows and I can upload a sketch with no problems. Arduino 1.8.3 worked when tried
Does anyone know what changed in the IDE or if there is another dependency that needs to be installed to make OTA work in the later releases of Arduino IDE on Fedora 31?