• Hi,
    Just tried to update the Bangle.js 2's firmware through the Web IDE.
    And well, it got stuck and failed. It went wrong somewhere in a Promise during the update/transfer.

    So the problem now is, how do I restore the Bangle? It's stuck on the "SW Reset" screen (white screen of death). Rebooting doesn't do anything, except for reloading the bangle to the same screen. (Rebooting by holding the BTN1)

    I don't have access to the cable for the moment, but if there are ideas/fixes with, I'm all ears

    Any ideas?

    P.s. I don't have an Android device

    2 Attachments

    • bangle screen.jpg
    • Screenshot 2021-12-21 at 21.02.45.png
  • Have you tried nRF Toolbox - and the update instructions here: https://www.espruino.com/Bangle.js#firmw­are-updates

  • That fixed it! Well, kind of.

    The firmware update to v11 still fails and results in the same infinite DFV screen state. But trying to downgrade to the initial version v10 219 (which also failed to be sent), allowed the Bangle to boot normally again.

    Unable to update, but at least it's usable again ;)

  • (sorry, didnt see the "dont have android" at first. Keep it here for reference in case others have same problem)

    There was some discussion on kickstarter forum about that.
    Try using WebIDE via chrome on an android phone. that seems to be most stable and reliable.
    Worked for at least 3 people (that had the same issue on PC)

  • @Mi Did I get you right that you have issues in flashing the latest 2v11 version?
    I have the same problem. The upload gets stuck every time between 8 and 25%. The Bangle just says "ERROR".
    Interestingly, now the update starts immediately at 23%. But it still gets stuck at about 46%.

  • @avanc: I had using Chrome on ubuntu. Using Chrome on Android 11 it worked flawlessly then.

  • Thanks for the clarification. I'm using the nRF Toolbox without any success.
    And it seems that the WebIDE approach cannot be used if the watch does not start up properly anymore.

  • No luck

    1 Attachment

    • Screenshot_20211224-132210-406.png
  • Thanks for the clarification. I'm using the nRF Toolbox without any success.

    This was the stablest solution for me so far. Can you tell me what went wrong for you?

    if the watch does not start up properly anymore.

    As long as you can boot into the DFU mode, it shouldn't matter what happened before, from my understanding anyway.

  • And it seems that the WebIDE approach cannot be used if the watch does not start up properly anymore

    Yes it can. :-) I was also in the situation shown in first picture above.
    You need to release the button while the "=" move.
    Have the WEBIDE prepared (navigate to update button via settings already (gear symbol upper right) and start update (dont take too long, there seems to be a timeout)
    (Make sure that no other bluetooth device like your computer does interfere. Also make sure there is no coupling from android itself)

  • No success with either nRF Toolbox nor WebIDE. It stopps after several percents.

  • With nRF Toolbox, every time it stops, click on Retry. It will incrementally upload the FW. Keep clicking on Retry and you'll eventually get to 100% and be able to reboot into the updated FW.

  • The update process already starts at 23%. But I never reached the end. And I don't have a Retry button. I have to select the file once again and also have to search for the device before I can restart the upload.

  • Finally, I got my watch updated :-)

    I started the upload process via the nRF Toolbox over and over again (approx. 20 times) as mentioned by @ajkm and slowly progressed towards 100%.
    The trick was to touch the watch (do not not reboot to enter DFUTarg mode with waiting for "==="). It is automatically in DFUTarg mode when the emergency screen is there.

    Thanks for the support. Now I have to test al the new apps added in the meantime :-)

  • @avanc just to check - the issues you had were NRF Toolbox on iOS? Which iOS version?

    This definitely seems to be an issue with new iOS devices that I've seen a few times now. The older iOS device I have here works fine.

  • @Gordon No it's on Moto G8 with Android 11 and nRF Toolbox 2.9.0

  • Ok, that is an odd one. Just a thought - but is it possible that the Bangle was 'paired' with the phone beforehand? I'm wondering whether the bootloader loads the pairing info but then because the MAC addresses don't match the phone auto-disconnects.

    It's possible that the long-press reload (which boots without loading any clock app) will clear out any saved pairing info, and that might make things better

  • I'm now stuck at the same position as the one described at the top.

    My Bangle.js 2 got very slow after the last firmware update, which is why I tried to compact the storage. Afterwards half of the apps were gone. Therefore I've reinstalled all the default applications and then did a factory reset. After the factory reset I got stuck at the DFU screen.

    Pressing the button only takes me back to the DFU screen.

    I've tried to do a firmware update on my Mac (macOS v12.1) with the WebIDE in Google Chrome, but it just fails with the "Uncaught (in promise) Error: The state of the DFU process does not allow this operation" error message.

    I've also tried to do a firmware update with the nRF Connect app on my iPhone (iOS 15.1), but I just got a "XYZ bytes were sent while 0 bytes were reported as received" error message followed by a "Disconnected by the remote device" log message.

    Now I'm just watching how the DFU screen slowly drains the battery as I don't know how to turn off the watch.

    1 Attachment

    • IMG_9890.jpg
  • Here are the snapshots from the nRF Connect app.

    3 Attachments

    • IMG_9889.jpg
    • IMG_9888.jpg
    • IMG_9892.jpg
  • Hi, sorry you've hit this. Did you try the instructions on https://www.espruino.com/Bangle.js2#firm­ware-updates ?

    Note: It has been reported that some users with modern iPhones find that the NRF Toolbox app disconnects from the Bangle after performing only part of the update process. If this happens to you, you'll have to manually click to start the update multiple times (it will start from where it left off) in order to complete the update.

    So you just have to keep retrying the firmware update from the iPhone. I know it's frustrating but it should work fine (or if you have an older iOS or any Android device it should 'just work'). I am working on a better solution for this.

  • I tried many times with the iOS app. After some time the log message will change and say

    Checksum (Offset = 3712, CRC = C0890C67) received
    CRC does not match!

    The watch will still be stuck at the DFU screen.

    I've now borrowed my company's Android phone. Initially, I tried to flash the firmware with the Web IDE in Chrome. It looked promising at first and the progress bar kept progressing, but at the end it got stuck.

    I've then installed the NRF Toolbox for Android and with it I could finally flash the firmware and restore the watch.

  • Thanks for letting us know - glad you got it sorted!

    For subsequent firmware updates I have now got an app in the app loader: https://banglejs.com/apps/#fwupdate

    For the first run it'll probably need you to update your bootloader, but that and firmware updates can be done without a reboot into DFU mode from the comfort of the App Loader - so if you have a computer where the app loader works, firmware updates should be fine too

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Stuck on firmware update screen (Failed to update firmware)

Posted by Avatar for user138001 @user138001