How to do a full reset and reload of firmware

I have been in email contact with one of Arcam’s field engineers about an issue I have with DIRAC.

Within these email conversations I mentioned how I was always reluctant to upgrade or download firmware more than necessary due to my fear of a power outage or something else going wrong and ‘bricking’ the amp (I lost a PC motherboard years ago doing a BIOS update). He gave me some instructions on how to perform a full reset and then re load the firmware.

‘If the installation is interrupted, it should still be able to detect that and re-load the previous software from a recovery partition. If for whatever reason this fails, you can still force a software re-flash by inserting a memory stick with the software into the back of the unit and power it up while holding in the recovery button on the back of the unit for around 1 minute.

The re-installation takes around 10 minutes after this point.’

I haven’t tried it myself as of yet though.

6 Likes

Thanks for sharing. I hope I won’t have to use this option.

Yep, also thanks from me. Good to know they thought of that, as such devices rarely have recovery partition. It’s almost just as with enterprise devices (2 firmware images).
Guess that recovery button is that one marked as “service”? Funny thing, I never noticed it until now, when you told such button exists :slight_smile:
I’m actually wondering what they do with bootloader. Now if that would fail, recovery button would not work and device is a brick. Are they not updating bootloader, or is it split into 2 pieces - one that is never touched, and one that resides on both partitions just in case?
In any other case (bootloader upgradable and just in one copy in MCU flash) it would still be possible to brick it, although if course risk would be lower.

Actually there are 4 partitions which can be updated. If you have a look at the SA30 firmware update file (image.swu) there are 4 files with a significant file size. The image.swu is a compressed archive file, which can be viewed with e.g. 7zip.
image

The contents of the sw-description file reveals the mapping of those 4 files onto the different mount points on the SA30 host file system.

Contents of the sw-description file for people who are interested
software =
{
	version = "0.100.867.0xf857b31-3de0939a";
	hardware-compatibility: [ "Generic","a113dArcam" ];
	images: (
		{
			name = "uboot";
			version = "0.100.131114.0-3de0939a";
			install-if-different = true;
			filename = "u-boot.tar.gz";
			device = "/dev/mtd0";
			type = "uboot-a113";
			sha256 = "070cce9d6a962f7b0cea8376f787a2e0b7b6ca6a89fd001d971cb91411373c1f";
			filesize = "1406737";
		},
		{
			name = "rootfs";
			version = "0.100.867.0xf857b31-3de0939a";
			install-if-different = true;
			filename = "yocto-nsdk-ip-image-swu-a113dArcam.ubifs";
			volume = "nsdk-rootfs";
			type = "ubivol";
			sha256 = "67e448e58a215b3a51690f7d9d722e8881d0cdcc473a2d841cd66036b91a1fff";
			filesize = "147419136";
			compressed = true;
		},
		{
			name = "fit";
			version = "0.100.131115.0-3de0939a";
			install-if-different = true;
			filename = "fitImage-a113dArcam-signed";
			device = "/dev/mtd4";
			type = "flash";
			sha256 = "6d6d08126dc0585fe7aa4729c356a529bf9a9163eb36180fc01e7f3616e459d8";
			filesize = "9452946";
		},
		{
			name = "swu-fit";
			version = "0.100.32.0-3de0939a";
			install-if-different = true;
			filename = "fitImage-swu-a113dArcam-signed";
			device = "/dev/mtd3";
			type = "flash";
			sha256 = "5648fb7d7601ad63082462547878f0a53d1d22467895d0093274ccc769a7e28f";
			filesize = "19714954";
		}
	);
	scripts: (
		{
			filename = "swupdate_preinstall.sh";
			data = "";
			type = "preinstall";
			sha256 = "7cb2ff7b8d5bae3f35bbc26651f33e396c23afa20121bc11f1ee39ae2f0c3da3";
			filesize = "1972";
		},
		{
			filename = "swupdate_postinstall.sh";
			data = "uboot_vers=0.100.131114.0 rootfs_vers=0.100.867.0xf857b31 fit_vers=0.100.131115.0 swu-fit_vers=0.100.32.0";
			type = "postinstall";
			sha256 = "133649a92fafb717131f14b2f79a1583b2c5290a76851f59b0b65ea6af18a305";
			filesize = "164";
		}
	);
 }

Yes, I’ve seen that a while ago, but never checked really carefully.
I assumed those are just different parts of firmware, meant for different controllers - MCU, NET and DSP. Each of those has own code (and probably own flash seen as different mount point by MCU, so not partition as such, but more of a separate storage devices).
Also uboot seems to be bootloader and resides on own partition (most probably in MCU flash).
Never thought there’s some recovery partition.

After being told about this. I asked if it may be worth doing it anyway and putting the device on a clean sheet so to speak. He said it could be worth it.

So the question is when a firmware upgrade is done does it update the existing version by patching it or does it wipe and start again. If it is patching then doing the reset might resolve various issues.

”Recovery Button” is it the one called ”Service” on the back?

I assume it’s overwriting old firmware.
But rest might help anyway. It helps in case of many devices :wink:

Well, it’s the only button in the back, so I (again) assume it’s the one.

I have to admit I am still reluctant to do it in case something goes wrong.

You mean your reluctant to upgrade or reset?
Reset will not do any harm for sure.
Upgrade only if you’re really bad luck. But in that case (worst case scenario) you can just take it to the dealers or service center.
I have done many, many (really many) upgrades of different devices. I work in IT infra :wink:
I had one BIOS upgrade failure during last 20 years (recovered with external programmer). One. And I’ve done literally thousands of different flashing/upgrades.
I would say just go for it. Unless you have many power outages in your area. Than would be good to use some UPS just for upgrade time.

I am confident to do firmware updates having had the answer from Arcam. I am reluctant to do the reset just for the sake of it until I see a report from someone who has actually done it. The main reason for that is it clearly isn’t intended as an end user process or it would be documented in the manual and as such if something were to go wrong it would likely invalidate the warranty.

It’s handy to know there is a process and gives more confidence when doing a regular firmware update which is a user process.

Sorry, but I don’t fully understand.
Reset option is meant for user, and is actually required by Arcam after each software upgrade.
Reset just means factory defaults. You can do it from the menu or web interface.
You just need to configure everything from scratch and reload Dirac filters from PC.
I think we have some misunderstanding here :slight_smile:
If you haven’t performed a reset after automatic upgrades, it might explain some issues.

You may be getting confused. The thread is about a reset using the service button on the back of the unit.

Yes, I am getting confused :slight_smile:
I’m getting confused, cause as far as I understand that button has NOTHING to do with any kind of reset. Or maybe it does, but we don’t know. The procedure you got from support is for recovering from failed firmware upgrade. And I guess no one is willing to test that, unless it will be really, really needed and after failed flash only chance to recover will be either “the button”, or sending device to service centre.
So maybe the naming is confusing here.
For me reset is reset to factory defaults, and recovery is in this case recovering from failed flash.
Hope now we are on the same page :slight_smile:
To “put device on a blank sheet” all you need to do is upgrade the firmware and after it’s done perform reset to factory defaults from menu (“system reset”). No need to use recovery option for this.
Actually upgrade is just to be sure, as ideally reset from menu should be enough. But by upgrading you kind of make sure firmware is also reflashed and “clean”.

But it is very helpful, really glad and thankful you shared this.
It’s just that we seemingly have a small misunderstanding about the naming (reset vs recovery). Just tried to explain this and help in a calm way.
Peace mate.

@paulguk, thanks a lot. This info saved me from sending my SA30 to the service as nothing else helped. My SA30 was bricked maybe due to an interrupted OTA Update.

During powering on, I pressed the “Service” button on the back of the device for about 60s with inserted USB stick with current SWU firmware image. The SA30 then took a long time to boot (different slower animation pattern in the display) and then after a few minutes came “Update completed Restarting”.**

Then everything worked fine again.

1 Like

I have never done it so I think you’re the first person in this forum to announce they’ve done it which obviously gives us all confidence it actually works.

I asked Arcam some time ago as I have had first hand experience of something similar many years ago updating the BIOS on a motherboard when I lost power and the motherboard.

1 Like

Hi everyone.

I have had a lot of issues with my SA30 ever since I bought it a year and half ago. I don’t know if I need to get into details really, but the past 6 months or so, the sound has been very erratic. Sometimes it is the way it is how it was when I bought it, sometimes it just sounds plain awful, as if I bought a $300 amplifier and not a $3,000 amp. It seems to have good days, and bad days. I have no idea why. I have been in touch with Arcam about it, and they want me to send it in. They however said that I could try doing a “fresh start” reset to the factory firmware by using the system button, which I’ve been reluctant to do for months in fear of bricking it. Last night, it turned the volume up from 28 to somewhere around double that without me even being in the room (fortunately). I felt that I had had enough (it has other issues too), so today I decided to revert to the factory firmware and update using the system button and a USB stick with the current software on it inserted. I feared for the worst and… nothing happened. It boots up just as if the button is not pressed and/or there is no USB stick inserted. No difference in how it boots up when looking at the display. Am I missing something here? It has the latest software on it. I have held the system button in for way past 60 seconds. What might I be doing wrong?

[Edit: Service button, not System button]

I’ve not actually done it myself but re reading the instructions I was given:

  1. Turn amp off.
  2. Insert a USB pen with the latest firmware copied onto it (as per firmware instructions).
  3. Press and hold in the reset button.
  4. Keeping the reset button pressed, turn the amp back on.
  5. Wait about 30 seconds for reset to begin.

I saw in the thread that someone has actually succeeded in doing it.

Yes, I think we mean the same thing here (my post should have read Service button, not System button - sorry about that). For me absolutely nothing happens when I do this. I have a freshly formatted USB inserted with only the latest firmware on it.