-
• #2
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 :)
-
• #3
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
-
• #4
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
-
• #5
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.
-
• #6
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.
-
• #7
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.
-
• #8
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.
-
• #9
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?
-
• #10
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.
-
• #11
@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, pressReply
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. -
• #12
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.
-
• #13
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.
-
• #14
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.
-
• #15
Hi, bit of thread resurrection here. The option to use the nRF Toolbox is no longer available.
The DFU app doesn't seem to work either
-
• #16
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.
-
• #17
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.
-
• #18
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
-
• #19
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...
-
• #20
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.
-
• #21
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.
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