seaky / nspanel_pro_tools_apk

361 stars 7 forks source link

Is my device bricked? #87

Closed Klemen1337 closed 5 months ago

Klemen1337 commented 5 months ago

I have no idea where else to ask this so I will ask here.

My device was working fine, but then there was an automatic update I guess. Now my device is stuck in an infinite boot loop. I've tried the factory resert and Get out from rabbit hole but it doesn't work. The screen just keeps turning on and off

There is a very short glimps of "Installing system update" screen. image

Video https://github.com/seaky/nspanel_pro_tools_apk/assets/6691011/bd57d239-b508-4d81-b259-ffbdfed4c43d

Thanks, K

clfberlin commented 5 months ago

Have you tried turning it off and on again? No, seriously: Try this https://blakadder.com/nspanel-pro-secrets/

Emergency Recovery Sonoff NSPanel Pro has a protection mechanism that will boot the firmware from a recovery partition in case of a firmware update failure. If you messed up something big time you can trigger this emergency recovery and factory reset everything with the following procedure:

Power on the device and wait until the Sonoff logo boot animation starts playing then power it off. Power it on again and repeat the process 5 times. After that the panel will boot into “Update Firmware Protect Mechanism” and factory reset everything to the version stored in the recovery partition.​

Klemen1337 commented 5 months ago

Hi @clfberlin, I have tried that, but there is no Sonoff logo boot animation to time the power cycle too. It goes from the house icon to black screen. I tried different random times in order to trigger it but it didn't work.

clfberlin commented 5 months ago

Ok, strange... I've come to the point a few times where I had to use that emergency recovery. What exactly do you see when you cut off power and plug the panel back in? It should show "SONOFF" within a few seconds.

seaky commented 5 months ago

As I see in the video it is still in recovery mode loop. In recovery there is no boot logo and no emergency mode. But theoretically a mini adb is enabled in this mode so you should be able to kick it back to normal boot via adb shell.

Try the following:

This should freeze your device at a certain point and you have an option to delete the update.zip

and the adb reboot command should convince the device to go back to normal life

Klemen1337 commented 5 months ago

No luck there. I've tried it both on a macOS and Windows. The command adb wait-for-device keeps waiting for the device and never completes.

If i try to execute stop command I get

~ ❯ adb -d shell stop
/system/bin/sh: stop: not found

I do see that the device is in recovery mode

~ ❯ adb devices -l
List of devices attached
rockchipplatform       recovery 2-1 product:px30_evb model:px30_evb device:px30_evb transport_id:8

Here is another video from power up

https://github.com/seaky/nspanel_pro_tools_apk/assets/6691011/30579f81-9dc9-418d-997f-0957fca11f56

seaky commented 5 months ago
~ ❯ adb -d shell stop
/system/bin/sh: stop: not found

Hey is it not a genuine Sonoff device? Am I right? T6E?

Did you try to update a Sonoff OTA to T6E?

Btw It looks like the adb is connected, thats fine.

1

can you run the adb -d shell ls ? or can you keep the adb -d shell connection without drop ?

2

Alternatively just simply try to run the adb -d reboot if it's stuck in recovery and there is not update.zip present; it should kick it out of the loop.

but if you somehow managed to update a Sonoff OTA and it has been updated, hmm, maybe the only way to revive it is through direct flashing.

But before that could you check the shell command.

Klemen1337 commented 5 months ago

This is a genuine Sonoff device (NSPanel Pro 86 PW)

No command i tried was found

~ ❯ adb -d shell ls
/system/bin/sh: ls: not found

I managed to get it unstuck! 😄

I managed to get into sideload state and got stuck there. So to get out of this state I sideloaded nspanel-pro-tools-2.1.0 again. And it got unstuck!

~ ❯ adb reboot sideload
~ ❯ adb sideload nspanel-pro-tools-2.1.0-release.apk

Thank you @clfberlin and @seaky for the help! I hope this helps anyone else.

Cheers 🍻 Klemen

IMG_5262