Main Site Documentation

Reverting Firmware - how?


#1

I have a Cerberus I updated to firmware 4.3.1.0 that I need to downgrade to 4.2.6.2.

I tried using FEZ Config (installed with 2014 R1), it ran a firmware update, then failed at the very end. I can no longer connect to the device. Grrr. Specifically, MFDeploy can sometimes see the device, but when I try to show “Device Capabilities” it just says “Error: Can not connect to device”.

Worse, the links and resources here are gone:
https://www.ghielectronics.com/docs/55/loader-tinybooter-update-fez-cerberus

Double grr, grrr.

The instructions on how to use STDFU are also gone. Man, I leave for a few months, and everything is upside down. I don’t really [em]want[/em] to downgrade, but I can’t for the life of me get my old 4.2 project working on 4.3 (especially challenging when no VS2013 support, and VS2012 refuses to show devices in the toolbox using the latest 2014 R4, etc)

Any help on how to recover a ‘bricked’ cerb?

Thanks.


#2

Did you try removing 4.3 and reinstalling 4.2?

As in: https://www.ghielectronics.com/community/forum/topic?id=9970


#3

@ dapug - You need to put 4.2 TinyBooter on the board first. Instructions to do that are found here: https://www.ghielectronics.com/docs/46/fez-cerb-family-developers-guide#3253


#4

Yes, I have 4.2 QFE2 installed

FezConfig has never worked for me, and part of my whole issue is that there are now several dead links to the resource for legacy ways to do this (the page you suggested is alive, but nearly all the resources it mentions are 404).


#5

@ dapug - None of the links on the page I linked are invalid, I just tested them all. Which do you see that aren’t working?

FEZ Config cannot currently update TinyBooter on the Cerb family.


#6

@ John - considering how many times per year per device we need to update both tinybooter and firmware it might be relevant to add Cerb to fezconfig support.


#7

@ njbuch - That is one of our things to do for FEZ Config.


#8

oops, nevermind about my mention of dead links, I was looking at a different article. Still, it would be nice to have those old legacy pages up (I linked in earlier post)

Where is STDFU Tester? I don’t see it. I also don’t see a …\Firmwares\Cerb Family\Loader.dfu file in the SDK folder. I do remember STDFU being installed with 2013 R3, but not seeing it in 2012 R1.

Also fyi, my cerb has whatever TinyBooter was current in 2013 R3 which is the last time I updated it. I thought this was 4.2.

Currently, here is what I see:

  • Run MFDeploy and select USB for device
  • Plug in the device - I hear the drivers load, device name appears, green LED is solid
  • Run “Device Capabilities”, and I get “Not Supported
  • Wait for about 10 seconds, and without doing anything, the cerb reboots on its own, green LED now flashing
  • Run “Device Capabilities” again, now I get the full details as expected (seems to be working)
  • Run “Show Device Info” and I get “Error: Object reference not set to an instance of an object.

Q. Why does it load in a bad state when first plugged in, then reboot on its own after about 10 sec and start working only then? My other known good cerb devices running 4.2.6.0 are not doing this.

FezConfig cannot detect firmware version on the Firmware Updater tab, just says “The Device is not ready for update”

BTW, Device Capabilities lists the following (when I do get it to work):
ClrInfo.clrVersion: 4.2.0.0
ClrInfo.clrVendorInfo: Copyright GHI Electronics, LLC
ClrInfo.targetFrameworkVersion: 4.2.0.0
SolutionReleaseInfo.solutionVersion: 4.2.6.2
SolutionReleaseInfo.solutionVendorInfo: Copyright © GHI Electronics, LLC
SoftwareVersion.BuildDate: Jan 22 2014


#9

@ dapug - The documentation is for the new SDK structure starting in 2014 R2. The latest SDK still includes the 4.2 firmware if it is needed.

Your device likely starts in a bad state because it has the bootloader flag set which tells it to enter TinyBooter mode first. Only after it times out does it load properly.

I would install 2014 R4 first. Then follow the document I gave you. The STDFU tool will be installed along with it so long as you leave the install options at their default.


#10

ok, that helps to know. I’ll keep poking at this.

Just a note: 2014 R4 would not let me deploy the app due to a mismatch in clr (it tried to require 4.3 even though my device and my project were targeting 4.2). This is why I gave up on R4 and went back to R1.


#11

@ dapug - It is possible some 4.3 assemblies got on your device and it was throwing it off. I would completely reflash your device and try again. If it fails again we can try and take a look at it.


#12

Quick update for anyone looking up this topic in the future.

I was able to revert my firmware (from 4.3.1.0 to 4.2.6.1) using FezConfig. However, it was a bit confusing because FezConfig would FAIL at the very end after it says “finishing” (or claim to fail anyway), but the reality is, the firmware did load.

In my case, I had to revert back to the GHI SDK for gadgeteer that was “last known good”, which was 2013 R3, in order to get anything working (including MFDeploy - simply would not work right if it was a different version than what the firmware was packaged with). I will upgrade to latest later when I have time to waste getting things working (it’s such a chore, not sure why).

Now I just have to resolve this lame problem where, even though VS can deploy the app, the debugger fails to hook up:
https://www.ghielectronics.com/community/forum/topic?id=13969