arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
22.27k stars 4.81k forks source link

Cannot get past 12.5 on "Shelly Plus PlugS" whatsoever #21945

Closed zeus86 closed 3 months ago

zeus86 commented 3 months ago

First of: by now I spent at least 3-4 hours crawling github issues and discussions as well as the docs and reflashed the device countless times by now. i tried e.g. tasmota32solo1.bin and tasmota32.bin of 12.5 as well as the safeboot-versions and some others, manually and via OTA.

My PlusPlugS is still on 12.5, because i did not upgraded for a while, but just today (I know, a bit late) i realized, that i cannot upgrade beyond v12.5 (on a regular-sized image). As i mentioned, I read everything relevant to this topic (I think), so to me the problem is clearly the partition layout.

However, I tried all the suggested ways of recent as well as older versions of partition manager and wizard just are not working for me. Either Partition Wizard does not start (and therefore has no menu entry) and fails with bry: failed to run compiled code 'io_error' - inconsistent number of builtin objects. (current build, sha256sum 6e242a38c99641d8780063b16dc2cafbc9925fa3f3d78113816a3f4d7b81c284 Partition_Wizard.tapp) or the app does not show meaningful things at all (see screenshots). Unfortunately the docs are very limited regadring this. They describe what the new safeboot-layout looks like and that there is a safeboot image, but thats it, no tutorial how to archieve this at all. On top of that, there aren't good screenshots on how the upgrade process is supposed to look like at all, so i'm totally stuck here.

I also resetted the config and just did an autoconf+wifi-join for the device and tried to start over from there. I can flash 13.0.0-safeboot, but you cannot really do anything meaningful from there without any helpful docs. Heck, i did not even find good documentation on how to explicitly flash (and then boot to) the second partition, because i suppose, you have to boot from there to wipe out or change the first one...

my hw and current partition layout:

Screenshot_20240811_011921

in the screenshot above i am on partition app_0 (at least I suppose that's what the asterisk is for). However, regardless if I am on app_0 or app_1, when I use an older version of partition_wizard, that at least works (sha256sum 77dea377f2726c4a715adacc4f4d3209aecc97709a5185358626978e3f93cf99 Partition_Wizard.tapp), it does not show anything helpful: Screenshot_20240811_012346 (yes, this is the whole content of the page)

In this window nothing is clickable at all.
Not so much better does the partition manager look like: Screenshot_20240811_012458 (yes, this is also the whole content of this page)

The relevant log-messages i've seen regarding this are this one:

BRY: Exception> 'attribute_error' - the 'Partition_info' object has no attribute 'size'
stack traceback:
<unknown source>: in function `page_show_partition`
<unknown source>: in function `page_show_partitions`
<unknown source>: in function `page_part_mgr`
<unknown source>: in function `<lambda>`

The manager "sometimes" says no need to click, this is already the active partition or something like that in the tooltip. However, nothing is clickable at all anyways. As far as i have observed, this also shows always app_0 as active, regardless of what the info-tab says. I think this happens when app_1 is active, and it looks like this: Screenshot_20240811_032229 (the screenshot above shows the partition manager, however, the partition wizard definitively shows app_0 as the active one, even if the info tab says otherwise. If so, the errors in the log are slightly different:

BRY: Exception> 'type_error' - unsupported operand type(s) for +: 'int' and 'nil'
stack traceback:
<unknown source>: in function `page_show_spiffs`
<unknown source>: in function `page_show_partitions`
<unknown source>: in function `page_part_mgr`
<unknown source>: in function `<lambda>`

So please, any brave soul out there, please enlighten me how the heck to proceed from here, what I have done wrong, and how to avoid this situation at all. I suppose, what I'm seeing is not normal behaviour, otherwise i think i would have already seen issues regarding this. I am really not frustrated easily with such things, but man, this one made my hair grey...

thanks in advance.

zeus86 commented 3 months ago

PS.: no, i won't rip apart a plastic-welded plug to flash the plug via serial if someone comes up with that. I know that this will most probably work very easy, but no way......