Firmware update failed (reason = No value for bootloader)

Hi,

TLDR:
Go to DIAGNOSTIC.
Top right corner choose "DFU from Version"
Try one (I used 1.3.4)
Good Luck.

I bought a metatracker (mtr) just recently (Nov 2020). I downloaded the app from the playstore.
https://play.google.com/store/apps/details?id=com.mbientlab.metawear.metabase&hl=en

The app currently has two stars and a lot of people complaining about issues.
The one i use has the latest update from February 6, 2020

I was trying to use the barometer but the barometer needed a minimum firmware version.
I downloaded the app on the playstore, both on my Samsung S9 as well as on my older
Xiaomi Phone, both on Android 10.

Trying to update resulted in the message
Firmware update failed (reason = No value for bootloader)

I searched here at the forum, there's the thread
https://mbientlab.com/community/discussion/3216/firmware-update-1-4-5-error
where @Laura most helpfully suggests to use the iphone version, which is great if you
have an iphone, otherwise not so much.

I read the documentation https://mbientlab.com/androiddocs/latest/advanced_features.html
Here's some sample code that should allow you to install the firmware.

After some tinkering i made it to some working code but looking at the files downloaded
i had only ONE zip file (and a json file for that matter). I never made it to an error message
but that's probably because the sample code is pretty rudimentary and I'm not an expert
at this.

There's a test in the sdk at
MetaWear-SDK-Android/library/src/test/java/com/mbientlab/metawear/TestMetaWearBoard.java

// Firmware prior to v1.4.0 will need to upload 3 files with the Nordic DFU lib
            final String[] expected = new String[] {
                    "0.1_5_bootloader_0.2.2_bl.zip",
                    "0.1_5_bootloader_0.3.1_sd_bl.zip",
                    "0.1_5_vanilla_1.4.0_firmware.zip",
            };

So I guess there's a problem with the sample code, and if it was taken from the actual
app code the problem could be there too.

After having spent multiple hours i looked at the app again.
There's a menu in the top right corner that allows you to specify a version number.
I picked 1.3.4 which is the minimum number needed for the barometer to work.

Update..... and YES. I can FINALLY use the barometer.

Some remarks.
In general the sample code feels very well written but a bit odd.
It uses https://github.com/BoltsFramework/Bolts-Java
which is kinda like Promises in Javascript and is not under active development anymore.
I still love the idea of the mbientlab tracker but i guess we got off to a rough start.
Let's hope it will get better from here on.

hth
bernhard

Sign In or Register to comment.