emsesp / EMS-ESP32

ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
https://emsesp.github.io/docs
GNU Lesser General Public License v3.0
612 stars 104 forks source link

Web update from 3.6.5 to 3.7.0 on E32 V2 defaults to S32 board profile #2151

Open bbqkees opened 4 hours ago

bbqkees commented 4 hours ago

I got several emails already from users with an E32 V2 who updated from 3.6.5 to 3.7.0 release. After upload and the reboot, the Ethernet port does not work anymore, so they think they bricked the device. I checked it and can reproduce it: when you try to update from 3.6.5 to 3.7.0 via the web interface, it points to the ESP32.bin instead of the ESP32-16MB+.bin. At reboot the board profile is incorrectly set to S32.

This will disabled Ethernet and also f.i. the reset button does not work anymore.

proddy commented 3 hours ago

damn, I thought we tested this all. I'll take a look. Maybe its a simple fix by including different named files in the 3.7.0 GH assets

proddy commented 3 hours ago

as a quick fix I made the EMS-ESP-3_7_0-ESP32.bin the same as the 16MB+ (with PSRAM) so that will help E32 users automatically upgrade.

But it will crash any older S32 4MB users. Need to look into what is causing that.

(the change was part of https://github.com/emsesp/EMS-ESP32/pull/1941 )

proddy commented 37 minutes ago

I can't find an easy way to fix this. I'll remove the binaries and people will need to manually upgrade using the table on the BBQKees wiki.

bbqkees commented 25 minutes ago

Maybe for future updates have EMS-ESP check a special page like updates.emsesp.org. There you could run a check or a table and load the correct bin file for each device. So a relay-page.

proddy commented 18 minutes ago

I'll think of another way to detect an upgrade from 3.6.5 to 3.7.0, which bypasses the hardware detection. Maybe that will fix it. I spent 3 hours trying to get around the problem, it isn't trivial. The problem is that E32V2 came out after v3.6.5 and before we had the newer variations (like PSRAM) with different partition tables. The Firmware download check in 3.6.5 is quite simple and doesn't take into account chip-sets for example.

The logic in 3.7.0 is better. No need for a relay-page anymore.