-
-
Notifications
You must be signed in to change notification settings - Fork 953
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
Bootloop after a manual reset while wearing the watch #317
Comments
This sounds like the exact same issue I mentioned on the discord chat a couple of days ago... I did a manual reset, and it went into an infinite bootloop. I don't believe motion was involved in this case, as it was lying flat on the floor. I happened whilst I was getting ready to video it for #316. I manually reset the watch so that uptime wasn't a factor... and it went spastic... In fact, because of that, I actually have it on video... ... which ended a couple hours later (probably about 4 hours, as the battery wasn't fully charged...) with this near the end... What makes it even weirder, is I'd just been watchdog and hard resetting the watch several times, in order to validate that the issue was repeatable... Trying to revert to the prior firmware (blue pinecone), and use the recovery firmware (red pinecone) did nothing other than act as if it is if it were copying the firmwares across, but nothing more... it would just boot loop. I verified afterwards that I did indeed have the recovery firmware, so it just did not trigger at all. It started up again fine when I put it in the charge cradle, and has behaved fine since then. And, even with this failure mode, it was entirely recoverable on a factory sealed pinetime, so whilst the desired end user experience, is at least not fatal. |
Mine is looping right now. It was sitting on the table doing nothing for at least 12h. I tried to reconnect it with the phone but GB and nRF Connect were not able to detect it, even with the scan option and even if I woke up the watch with the button multiple times. nRF Connect can now detect it before the watch finishes loading but it is stuck in a loop. |
I encountered the exact same boot loop two days ago. I managed since then to reproduce twice the problem, but had to restart the watch 100+ times to do it. However, I didn't find any reliable way to repeat this issue:
I'm not familiar with nRF52, but I see in the bootloader code that all peripherals get created and initialized. Could this create some kind of deadlock when InfiniTime tries to re-initialize the same peripherals (SPI for instance)? Would it be possible to "un-initialize" these peripheral before jumping from the bootloader to the PineTime firmware? Maybe some unneeded peripherals running are also the cause for the increased power consumption reported in InfiniTimeOrg/pinetime-mcuboot-bootloader#8? But as said above, I've never worked with nRF52 so these are probably some wild uneducated guesses. |
Nothing to add here except that the bug is still there on the latest release, (Infinitime 1.1, bootloader 1.0, recovery 0.14.1) but I assume you already knew that. I fully charged my Pinetime over the night, noticed my phone wouldn't connect to it so I restarted it only to be met with a bootloop. |
We know it still exists but never hurts to add more confirmation I guess? |
I was able to reproduce a freeze as follows:
Only thing which i could do in that state was turning it off but now it won't turn on again. I guess i will have to wait until the battery is drained. |
I wasn't able to reproduce this, unfortunately |
I just got a bootloop after messing with twiMaster. I was working on #492 and tried to make twiMaster wake up only just before reading and sleep right after. If twiMaster is causing the problem, maybe we should remove all
Can the bus somehow be reinitialized on each reset? Can the firmware be made to boot even if i2c doesn't work to reflash the firmware? Or is the motion sensor causing the problem, and only resetting it fixes it? |
Actually this sounds very likely to be caused by the bus being frozen. Manual/watchdog reset can happen at any point, so maybe sometimes it will reset while the bus is being used, causing the devices to get confused. This would explain the inconsistency. |
I don't have much to add but I'm on 1.3.0 and without me doing anything today it rebooted and is now stuck in a bootloop with the pinecone and 1.0.0. |
Just my 2cents, when I pressed the back cover on my new unsealed PineTime I've noticed that pressing the button doesn't turn on the screen on. When I released the pressure on the back cover the watch LCD turned on. It was like the watch sensed the button pressed, but continued to work after releasing the pressure. I also had a few reboot cycles when I was pressing hard on the back of watches. UPDATE: This was solved by adding kapton tape between lcd touch flex and the PT PCB. I've noticed tha metal stiffener on that touch flex was grinding PCB signal trace on the PineTime PCB. |
I appear to have run into the same issue. Pinetime is on 1.3.0. After noticing it had lost its Bluetooth connection to GadgetBridge, I manually rebooted, and am now admiring a white-to-green pinecone transition, a bit of a wait, a blink, and then it'll reboot again. Tried blue-coning with no visible effect. Tried redconing but the PineTime reboots before GadgetBridge can get a firmware transfer going, it seems. I can re-pair, and after the boot (or at least when the cone is green), GadgetBridge is able to connect for a short while. I'll leave it to drain and I'll try again... Update: after leaving it to shut down by itself and putting it back on the cradle, things are peachy again. |
My unit does this since a few days:
Pressing the button seems not to change anything. Gadgetbridge and nrfConnect App are not able to see the device at any time during the boot loop it seems. |
Sounds like the button is broken and the watch thinks its constantly pressed down, because the color should only change when the button is held as far as I know. |
Has this happened to anyone after version 1.4.0, or can this be closed now? |
I have not encountered this again. I would like to leave it open for a while longer in case any stragglers/unlucky souls stumble across it, I think your cleanups have helped this however. |
Unfortunatly just happened to me on 1.4.0. Sealed unit arrived last night and after running it through a work day, I was looking through Gadgetbridge settings and found the companion app setting. On flipping that on it said that the connection had to be re-paired to work so I deleted the watch entry and tried to make a new one. It would not connect to the watch, so I held the button to reboot the watch. It is now boot looping and has a entry in Gadget bridge that cycles connectivity with each loop so any attempt at using the firmware recovery tools fail. Update: 6 hours later acording to this post time stamp and the watch bootlooped until the battery drained out and now it booted into the os just fine once I placed it on the charger |
Unfortunately the plague has claimed another victim. I tried to boot the pinetime into recovery mode to flash new firmware I got an infinitime screen on the watch and flashed new firmware using nRF connect on iOS. I flashed it and it booted into the safe infinitime logo state. Rinse and repeat |
Which firmware, why was recovery necessary? Crucial details really. |
This is a bit different because you got the issue when flashing, whereas others got this when manually resetting. Could this be a separate issue? Also sounds like you have an older bootloader. The new bootloader should look like this. Does the older bootloader have known issues? |
I'm closing this one as it doesn't seem to reproduce on newer version of the bootloader and InfiniTime. Feel free to re-open if necessary. |
I just wanted to add that my pinetime just started bootlooping recently after the battery reached 0. |
Have same issue. Watch was working well for months. now stuck in boot loop. using boot 1.0.0 and and InfiniTime 1.13. I noticed that the heart sensor had not been working for a few weeks and the green "light" on the back stays on. Has there been a fix for this? |
I just powered on my pinetime for the first time in a while. Booted ok, then I restarted it because Bluetooth wasn't working. Now it's stuck at the infini time logo. Nothing I do will make it boot... |
The screen with the InfiniTime logo is the recovery firmware. To get out of it, you need to connect to the device over bluetooth, and flash a firmware update. You might need to unpair and re-pair for that to work. |
Hmm strange, does the watch show anything? |
no, just the green load pine screen |
Yesterday evening, the battery was completely empty. I put the watch on the charging cradle (it rebooted correctly) and went to sleep.
This morning I took the watch out of the cradle (it was still running fine) and manually reset it (long press on the button). Instead of rebooting into InfiniTime, it entered into an infinite bootloop : Green pine cone, display glitch, pinecone again. I tried to revert to previous firmware and to load the recovery firmware using the bootloader but none would load correctly.
It looks like the bootloader does its work but that InfiniTime cannot freezes during its initialisation and that the watchdog resets the watch. As none of the firmware would run, even the recovery one, it looks like something was preventing the firmware to init. It could be caused by the I²C bus that is frozen (it happened when we were working on integrating the motion sensor, but we thought we fixed that issue...).
I bootloop'd during more than 7h (8h -> 15h/3PM) and the battery finally drained. I restarted correctly once I charged it again.
I managed to reproduce this issue only once by resetting the watch while wearing it on my wrist. If motion/step sensor involved?
The text was updated successfully, but these errors were encountered: