The 90% firmware issue is due to Content Filtering.
When you upgrade a SonOff , the device has any connections to several servers (IP addr.)
e.g. 220.127.116.11:80, 18.104.22.168:443, 22.214.171.124:443, 126.96.36.199:443, 188.8.131.52:8088
Some of the client server sessions are blocked by content filtering because you , your router or ISP has the SonOff IPs classified in a 'Group' that should -optionally- be blocked.
My Meraki Firewall at home showed this during an upgrade attempt:
I had opted to block the highlighted category.
Once i removed that category from the Meraki Device, my devices upgraded in about 30sec.
from other posts:
-Port 8088 is needed but is probably not blocked unless you have taken the time to manually block it .
-App caches etc. ok to do but wont solve content filtering issues.
-Signal strength is important but anything from -45db to about -85db is more than ok and you dont have to move it closer. You might NOT have issues with a signal from -85dB to 110dB (but it WILL be a weak signal and cause for moving it closer to router).
Use a free app to measure you Wifi Signal strength of the 2.4Ghz SSID at the location of the Sonoff switch.
My 2 POW (1st version) is showing 2.6.1 as the latest firmware in the eWeLink app. I use these switches in a waterproof enclosure to control seasonal devices using Alexa. Alexa app will control them, the eWeLink will control them when on cell data, not on local network. Alexa verbal commands would also not work. I deleted the devices from my EweLink app and added them back in, using the local WAP function. Now Alexa works using verbal commands, but the app (which worked a couple of times), gives me a Failed, try again message like before. Is this a firmware issue, is 2.6.1 the latest or is this POW switch now obsolete?