Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty battery shutdown resets to pre-initialization state #70

Open
craigraw opened this issue Nov 12, 2021 · 3 comments
Open

Empty battery shutdown resets to pre-initialization state #70

craigraw opened this issue Nov 12, 2021 · 3 comments

Comments

@craigraw
Copy link

After doing a lot of QR scanning testing recently, my batteries ran empty causing the Passport to shut down. It tried to reboot, but ended up in a cycle of red light/blue light at the top as the boot sequence was drawing too much power from the exhausted batteries. Upon replacing the batteries, the device booted fine but reverted to the pre-initialization state, asking to scan the initialization QR etc.

It turns out I just needed to skip those parts to get back to normal operation, but this was somewhat disconcerting - I thought the seed had been lost.

Firmware v1.0.7

@FoundationKen
Copy link
Contributor

Hi Craig.

Sometimes when Passport's battery is low, it can result in corruption of the user settings flash, which is where we remember if you have gone through accepting terms and other initialization among other things.

When the MCU detects such corruption (a bad read from the user settings flash memory region), it throws a hard fault. If we did nothing about this, then the Passport would not be able to continue operating and would basically be a brick.

So instead, we added a handler for this hard fault and we erase and reinitialize the user settings flash and allow boot to continue. The secure element is completely separate from this, and the seed is not affected.

If you have other settings that were lost like multisig configs, you would need to re-import them or restore from a microSD backup.

@craigraw
Copy link
Author

Makes sense - I suspected this might be the case.

I'm not sure if it's possible to prevent the corruption by shutting down immediately if the battery becomes too low, and preventing booting in this state as well.

@FoundationKen
Copy link
Contributor

FoundationKen commented Nov 12, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants