Open ejbp opened 7 years ago
While performing OTA update, ESP8266 needs to erase flash sectors before writing new data to them. Erasing flash takes a lot of time, and during that time LwIP stack can not handle any incoming packets, because flash cache is disabled.
Can you explain the use case a bit, why should the ESP8266 remain responsive to pings during OTA update?
The ping is not for the esp8266 but for the router. What I'm describing is that it congests all the network. So, during the OTA process, all devices(computers/mobiles/etc) connected to that router, starts to loose packets, that's why the title is network congestion. I would understand if the esp8266 stops responding to pings, but I don't understand why the OTA process affects the entire network (at the least the ones connected through wifi, I didn't tested with wired connections).
I'm doing OTA via Arduino IDE 1.8.4.
Okay, got it. In this case, suggest performing capture of the WiFi network activity using Wireshark. That would help determine if the ESP8266 is generating some extra traffic while doing the OTA. FWIW, i don't see such behaviour on my local network, so this may be dependent on the wireless router. In any case, wireshark capture will likely provide extra information.
That's a good idea. I'll try that and give feedback.
Hello, ejbp. Did you try to capture WiFi network activity? It looks like I have a similar issue after upgrading to the latest git version. Sometimes OTA update or SPIFFS OTA upload fails with random ERROR Uploading........................................................................................................................................................................................... 19:48:37 [ERROR]: K SPIFFS Upload failed!
Iggr, on the nightly build v2.4.0 I didn't have the issue. But, it was another issue with long downloading static data from SPIFFS.
Sorry, I didn't try it. I've changed ESP to update itself by connecting to a http server, download the image and self-install. Though, if you figure out the answer, please post it here. It will be very helpful.
Hardware: Olimex ESP8266-dev ArduinoOta: v5.11.1
I'm experience network problems during OTA updating process. Basically when I'm uploading the sketch to my esp8266 the local network (on all devices) immediately goes from pinging 2ms/3ms to 300ms/1000ms with packets loss.
Settings in IDE
Module: Olimex Mod-Wifi-ESP8266(-dev) [..]core_esp8266_esp8266_modwifi_CpuFrequency_80,UploadSpeed_460800_2f159fcebb45fcbf58350f9e858330c3.a Sketch uses 285735 bytes (27%) of program storage space. Maximum is 1044464 bytes. Global variables use 35632 bytes (43%) of dynamic memory, leaving 46288 bytes for local variables. Maximum is 81920 bytes. Uploading via ArduinoOTA
Sketch
main.ino
OtaHandler.cpp
Note:I always receive Upload Complete message but sometimes/randomly the firmware is not updated.
Thanks