bangle.js 2 firmware install failure

Posted on
  • I'm having issues installing the firmware on my bangle.js2. I attempted to install the most recent firmware update via nRF Toolbox, which failed midway. I then attempted to install it via Web IDE, which fails and it shows 'ERROR' (pictured). Any help would be appreciated.


    1 Attachment

    • IMG_1311.JPG
  • Hi - please could you try re-downloading the firmware, and flashing it again from NRF toolbox? If the update fails halfway it's not the end of the world - the next time you connect it should just resume from where it left off.

    Also ensure that it is the firmware for Bangle.js 2 and not Bangle.js 1 :)

  • Hi, I'm having the same issue trying to use the Web IDE (macOS Chrome v96) to update to espruino_2v11_banglejs2. I also tried the NRF Toolbox for iOS - I had to hit retry about 100 times (it did about 1% each time) but then it still failed. Now it looks like my Bangle.js 2 is frozen. Rebooting just goes back to the same screen. Any suggestions?


    1 Attachment

    • IMG_4424.JPG
  • Unfortunately I've encountered the same problem trying to update my Bangle 2's firmware as well on iOS.
    Some additional info: The error message displayed in the nRF Toolbox app is "##### bytes were sent while 0 byte were reported as received" while every attempt to transmit the firmware shows "CONNECT" then "DISCONNECT" on the Bangle2 display. FWIW, I've attached a screenshot of the nRF Toolbox app log below. BTW, this is the first time I've tried to update the firmware of my Bangle 2, but I've updated the firmware of my Bangle 1 twice and did not encounter any problems (and I'm still using the same version of iOS). Many thanks in advance to whoever can help solve this!


    1 Attachment

    • nRFToolboxLog.jpg
  • Well Gordon was right--I kept hitting 'Retry' in the nRF Toolbox app and after 100 retries the firmware on my Bangle 2 did indeed successfully update to 2v11 despite all the errors.

  • I think this has happened to all of us on iOS using nRF Toolbox. You have to keep hitting Retry and it incrementally uploads the zip file. Once you get to 100% it should then reboot itself. No idea why it happens, but the upload does actually end up working.

    It'll be much easier when the Firmware Update app is out of beta and doing its job; but in the meantime, the nRF Toolbox DfuTarg option will get the job done.

  • I think this has happened to all of us on iOS using nRF Toolbox

    It looks like anyone with a newish version of iOS has the problem. I have an older iPad here with iOS 12.5.5 so I think it's something that's been broken in new versions of iOS.

    The IDE failing is odd though as in another thread on here right now, others are saying it works great for them :(

    The firmware update app on the App Loader would be ideal when it's working - I just need to ensure it's capable of reliably checking and updating the bootloader before the main firmware update.

  • Yep, and I can also confirm that using nRF Toolbox on iOS, and hitting retry 100 times seems to do the job. It looks like it's only transferring 4096 bytes at a time? Anyway, now I'm up to 2v11 as well.

  • I've just had a similar experience using both the nRF Toolbox on Android/Web IDE on Linux: updating to the 2.11 firmware failed to complete several times.
    I read this though:

    If the update fails halfway it's not the end of the world - the next time you connect it should just resume from where it left off.

    So I kept trying, and after about a dozen tries with both the toolbox/IDE, flashing did complete (with the IDE).

    I have flashed this Bangle.js 2 with a cutting edge firmware before, and it worked fine then, so maybe it was just a fluke/flaky Bluetooth connection?

  • It's a pretty strange issue - part of me wonders whether if the Bangle had a secure connection before DFU, that can cause the DFU to keep dropping out?

    Either way I hope we will have a better solution soon using the firmware updater in the App Loader.

  • @Gordon
    What's the fastest and easiest way to upgrade the firmware from Windows?
    The Web IDE says it can't perform upgrades at the moment, so I finally did it through nrfToolbox, not easy for me and my "fat fingers" to fiddle with my phone, and in addition I needed to do as mentioned above, press Reply 100 times to get it through, 1% at a time.
    Now, it's one thing to do it once, and for one watch only, but as I have 11 watches (for a workshop in February) I'm simple not going to do it this way for all of them, in worst case several times per year, so that's why I'm looking for a quicker and easier way.

  • The Firmware Updater app in the App Loader works really nice. I'm almost exclusively using that now and only changing to the nrtToolbox if there's a problem. Have seen a couple of hiccups, but not for a few weeks now.

  • Thx, I'll give it a try when I need to upgrade the other watches. Did not know about this app, but then I've not been following the app development that closely either.

  • Hi - yes, the firmware update app works well and is a bit faster BUT it requires that the bootloader on your Bangle is a certain version. The app can update that too but I haven't yet built in a one-click option for doing it (which I should do soon).

    If you're doing a lot another option is to use an 'nRF52DK' board and the SWD ports on the back of the watches. In that case it's only around 20 sec a watch.

  • Hi, bit of thread resurrection here. The option to use the nRF Toolbox is no longer available.

    https://devzone.nordicsemi.com/f/nordic-q-a/93897/nrf-toolbox-dfu-failed-when-i-selected-distribution-package

    The DFU app doesn't seem to work either

  • I used "nRF Device Firmware Update" on Android 11 a few weeks ago and it worked. I kind of remember it a bit buggy, like failing to continue after selecting the file or something like that, but it finally worked. The app was last updated on December 2022.

  • There is also nrfConnect https://apps.apple.com/us/app/nrf-connect-for-mobile/id1054362403

    On Android my first choice, mainly because it is so universal and can do so much more in addition to handling DFU too.

  • I don't own an Android device. nrf connect for mobile is failing with "Error: 3072 bytes were sent while 0 bytes were reported as received". Also getting a lot of timeouts.

    This is a shame because following the failed update, my watch is basically bricked in DFU state.

    Secure DFU Service found
    Discovering characteristics in DFU Service...
    DFU characteristics discovered
    MTU set to 131
    Enabling notifications for 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Notifications enabled for 8EC90001-F315-4F60-9FB8-838830DAEA50
    Secure DFU Control Point notifications enabled
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 6006010001000092000000686acd68
    Command object selected (Max size = 256, Offset = 146, CRC = 68CD6A68) received
    Received CRC match Init packet
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600401
    Command object executed
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600201
    Packet Receipt Notif enabled (Value = 12)
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600601001000000000000000000000
    Data object selected (Max size = 4096, Offset = 0, CRC = 00000000) received
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600101
    Data object 1/108 created
    Uploading firmware...
    Sending firmware to DFU Packet characteristic...
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600301000f000033224a34
    Checksum (Offset = 3840, CRC = 344A2233) received
    CRC does not match! Retrying...
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
    Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600101
    Data object 1/108 created
    Uploading firmware...
    Sending firmware to DFU Packet characteristic...
    Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Disconnected.
    Disconnected by the remote device
    DFU Failed with Error: 3072 bytes were sent while 0 bytes were reported as received
    
  • Hi - Thanks for letting us know!

    In the official instructions for firmware updates at http://www.espruino.com/Firmware+Update#nrf52 we recommend nRF Device Firmware Update from https://apps.apple.com/gb/app/device-firmware-update/id1624454660 - does that not work for you?

    Potentially you can still do a firmware update from a PC/Mac using espruino.com/ide but it's not always that stable so I don't recommend it - but if it's your only option...

  • The nRF Device Firmware Update (DFU) doesn't work unfortunately.

    The web IDE doesn't discover the device because the watch has a BANK0 INVALID error and I'm stuck in DfuTarg connect only.

    I think I'm just bricked now, unless I can find someone with an Android device.

  • The web IDE doesn't discover the device because the watch has a BANK0 INVALID error and I'm stuck in DfuTarg connect only.

    That's fine - it needs to be in DfuTarg mode for the Web IDE firmware update to work. From http://www.espruino.com/Firmware+Update#web-ide :

    It is also possible to use the Web IDE to update firmware. Click Settings (top right), then Flasher and follow the instructions.

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

bangle.js 2 firmware install failure

Posted by Avatar for pattyb @pattyb

Actions