lolwheel / Owie

MIT License
145 stars 43 forks source link

After platformio.ini changes the OTA binary flash does not work anymore. #42

Closed mretich closed 2 years ago

mretich commented 2 years ago

Hi, after your changes in the platformio.ini file, the OTA Update returns with an 400 HTTP Error containing following response: "OTA could not begin".

I was tracking this issue down to the change where you switched a lib_dep from "https://github.com/me-no-dev/ESPAsyncWebServer@^1.2.3" to "me-no-dev/ESP Async WebServer@1.2.3"

After the change the lib loaded "ESPAsyncTCP@1.2.2" AND "AsyncTCP@1.1.1" while the old dependency only fetches "AsyncTCP@1.1.1" and omitting the "ESPAsyncTCP" library...

Here is a trace using "me-no-dev/ESP Async WebServer@1.2.3" Library Manager: ESP Async WebServer@1.2.3 has been installed! Library Manager: Resolving dependencies... Library Manager: Installing ESPAsyncTCP Unpacking [####################################] 100% Library Manager: ESPAsyncTCP@1.2.2 has been installed! Library Manager: Installing AsyncTCP Library Manager: Warning! More than one package has been found by AsyncTCP requirements: Library Manager: - me-no-dev/AsyncTCP@1.1.1 Library Manager: - kubafilinger/AsyncTCP@1.1.1 Library Manager: Please specify detailed REQUIREMENTS using package owner and version (shown above) to avoid name conflicts Unpacking [####################################] 100% Library Manager: AsyncTCP@1.1.1 has been installed!

and here the trace using "https://github.com/me-no-dev/ESPAsyncWebServer@^1.2.3" Library Manager: ESP Async WebServer@1.2.3+sha.f71e3d4 has been installed! Library Manager: Resolving dependencies... Library Manager: Installing me-no-dev/AsyncTCP @ ^1.1.1 Unpacking [####################################] 100% Library Manager: AsyncTCP@1.1.1 has been installed!

I know the ESPAsyncTCP IS used in the code, and NOT the AsyncTCP (since the later one is not used in esp8266 afaik) and I really have NO clue why it still works even when the ESPAsyncTCP is NOT loaded as dependency... I guess it is included in the GIT (dev) version, but NOT in the Release ?

Nevertheless, this change causes a file size change of the resulting firmware binary from ~447k to ~645k.

I have no clue if I´m correct here, but I think this is the issue why ElegantOTA is not able to flash the binary file...

lolwheel commented 2 years ago

Hey appreciate you doing all the digging. I'm fighting the same issue myself right now though I found some other ways to reduce the binary bloat. I'm on it, cheers!

lolwheel commented 2 years ago

Fixed.