Hi Forum,
I'm using Arduino OTA to update the firmware on an ESP8266 microcontroller.
Therefor I use the espota.py script in this way on a 2019 macbook pro with latest macOS Big Sur 11.1 (20C69)
python espota.py -d -r -i 192.168.5.157 -p 8266 -P 9099 --auth="my-own-ota-password" -f path/to/compiled/binary.bin
and it gives me:
09:22:55 [DEBUG]: Options: {'esp_ip': '192.168.5.157', 'host_port': 9099,
'image': 'binary.bin', 'host_ip': '0.0.0.0',
'auth': 'my-own-ota-password', 'esp_port': 8266, 'spiffs': False,
'debug': True, 'progress': True}
09:22:55 [INFO]: Starting on 0.0.0.0:9099
09:22:55 [INFO]: Upload size: 3876
09:22:55 [INFO]: Sending invitation to: 192.168.5.157
Authenticating...OK
09:22:55 [INFO]: Waiting for device...
09:23:05 [ERROR]: No response from device
So basically it starts negotiating the upload but then the ESP8266 can not connect back to (static) port 9099 on the host. I already checked the macOS Firewall. It does not work when disabled, nor does it work when enabled (when enabled the firewall adds a rule for Python.app to "Allow any incoming connections".
My macOS uses python 2.7.16.
I tried the same python script with the same binary on my linux-box on the same network and it worked instantly. That is why I expect it to be a macOS problem and not a network-firewall and/or arduinoOTA source problem. Last time I tried the same procedure on the same macBook was about half a year ago, of course then with the predecessor of Big Sur.
Anyone have some hints about how to solve the problem?