-
Notifications
You must be signed in to change notification settings - Fork 537
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
firmware update bricks devices #1682
Comments
|
:dead: it's the boot loader issue - not omi's firmware issue adafruit/Adafruit_nRF52_Bootloader#259 |
|
The issue here is that if the firmware doesn't load, there's no way for the app to switch the device to bootloader OTA mode. This seems to be solvable, as the bootloader issue @beastoin linked has a workaround to automatically switch to bootloader OTA in case of firmware issues. however, this would work only for new firmware versions and will require changes to the app as well. The device is not permanently bricked, firmware update through disk mode/UF2 should still work. But that requires manual intervention from the user, unfortunately. That said, my guess is that the core issue is indeed with the firmware. There seems to be a race condition in the code which causes the firmware to crash. It appears that firmware 2.0.2 is unstable. I have noticed similar issues with 2.0.8, albeit lot less frequent. A device reset potentially could get the device out of this state, if the race condition doesn't trigger. At least with 2.0.8 this workaround works better. We should continue investigating this, but it seems the best advice right now would be to tell users that hit this to do manual upgrade to 2.0.8 using the UF2 file. |
yes sir, actually the brick mean *the device can not boot after performing the ota updates. i also try with/without the usb connected. the result is: without the usb connected, the ota updates work fine. the device can boot with any versions, e.g. ota updates from 2.0.2 to 2.0.8 or 2.0.4 to 2.0.7 and so on. so i guess there're something confusing the bootloader's state between the ota updates and serial updates when the usb is connected. ofc we can also try disabling all usb interrupts while performing the ota updates. but i dont think it's a smart move. i'm a nerd, as you know, i love deep-diving into issues. but the time is not super generous right now haha. anw, i'm super happy when you're here and diving into this with me. looking fwd sir. |
Could you detect usb and ask user to disconnect? |
@beastoin I noticed that you are running with logging enabled. I've noticed with my experiments with 2.0.8 that logging over UART/USB actually makes the race condition I am chasing worse and more likely to occur. Since the logging is active only if USB is connected, that might explain why you see the issue more when USB is connected. |
Nik Shevchenko, [1/12/2025 4:07 PM]
Firmware update on 2.0.2 stil bricks every device
Nik Shevchenko, [1/12/2025 4:07 PM]
This is very bad that is not fixed yet
Nik Shevchenko, [1/12/2025 4:07 PM]
If it doesn’t work for 2.0.2 then Pls disable auto update from app for older versions and redirect to firmware update guide like it was before
The text was updated successfully, but these errors were encountered: