Copyright (c) Hyperion Entertainment and contributors.

Updating Nemo firmware

From AmigaOS Documentation Wiki
Jump to navigation Jump to search

Be aware of the risks

A brutal interruption of the update of the firmware may lead your computer to be as useful as a brick. To avoid this, you have to make sure to minimize the risks:

  • keep any animals away (cats, dogs, bugs, children, wife, grandma...),
  • make sure nobody's about to blow a fuse in the house (wife not drying her hair while the washing machine is on, while the electric fryer in on, while the oven is on, while the child's discovering electricity is fun by playing with the electric heater...),
  • make sure no storm is hereabout, ready to raise a power failure,
  • make sure no strike has been announced at your electricity supplier,
  • (add here any other good sense measure to ensure 10 minutes of power stability).


Firmware revisions

Currently, the way to identify firmware revision is a bit "unusual".

Original firmware (2011-07-05)

That's the revision delivered with Nemo to the Betatest team. This is the revision of the rescue BIOS.
In the serial debug log, it signs like that:

CFE version PAS-2.0.30 for NEMO (64bit,MP,BE,PPC)
Build Date: Tue Jul  5 16:09:15 BST 2011 (andrew@hercules)
Copyright (C) 2000,2001,2002,2003,2004,2005 Broadcom Corporation.
Portions Copyright (C) 2005-2008 PA Semi, Inc.
Portions Copyright (C) 2010 Hyperion Entertainment CVBA

Take note of the date.
An alternative way to identify it, is that it doesn't support the menu command:

CFE> menu
Invalid command: "menu"
Available commands: ...

Menu Firmware (2011-08-22)

This is the second revision, made available to the Betatest team to setup boot menus.
In the serial debug log, it signs like that:

CFE version PAS-2.0.30 for NEMO (64bit,MP,BE,PPC)
Build Date: Mon Aug 22 14:30:17 CEST 2011 (hfrieden@jumpgate)
Copyright (C) 2000,2001,2002,2003,2004,2005 Broadcom Corporation.
Portions Copyright (C) 2005-2008 PA Semi, Inc.
Portions Copyright (C) 2010 Hyperion Entertainment CVBA

Deja vu ? Take a closer look at the date.
An alternative way to identify it, is that it does support the menu command:

CFE> menu
Loader:elf Filesys:amigafs Dev:ide0.1 File:amigaboot.of Options:(null)

The size of the corresponding BIN file is 915248 bytes.

AEon Firmware (2012-06-08)

This is the third revision.
In the serial debug log, it signs like that:

CFE version PAS-2.0.30 for NEMO (64bit,MP,BE,PPC)
Build Date: Fri Jun  8 16:04:49 CEST 2012 (hfrieden@jumpgate)
Copyright (C) 2000,2001,2002,2003,2004,2005 Broadcom Corporation.
Portions Copyright (C) 2005-2008 PA Semi, Inc.
Portions Copyright (C) 2010 Hyperion Entertainment CVBA

Once again, you've got to check the date.
You can visually identify it as there is now the AEon logo on top of "X1000" on the boot screen.
The size of the corresponding BIN file is 939968 bytes.

Upgrade procedure

Get the firmware BIN file

Well if you're not a beta tester, you'll have to find a regular way to get it.

Put it on a media available to CFE

You can put in on a CD, on a USB stick, on a Compact Flash card or a TFTP server.
Make it simple, make it safe, just put it on a FAT32 formatted USB stick, no philosophical debate please.
Make sure your copy is correct, check it with md5sum or any other useful tool.

Flash

  • Power up Nemo,
  • if you have a menu configured, press 'F' to go to CFE prompt,
  • plug your USB stick, CFE should detect it
CFE> port 0:1/3 released (full speed)
USB: New device connected to bus 2 hub 1 port 1 (full speed)
USB bus 2 device 2: vendor 0951 product 1625 class 08: Mass-Storage Device
USBMASS: Unit 0 connected
CFE>
  • check availability of your file
CFE> dir -fatfs usbdisk0:/
CFE.BIN                  915248
X1000_Menu.pdf           122391
X1000_Menu.pdf.info      13168
X1000_Reflash.pdf        670531
X1000_Reflash.pdf.info   13168
*** command status = 0
CFE>
  • load the BIN file
CFE> load -raw -fatfs -max=0x8000000 usbdisk0:cfe.bin
Loader:raw Filesys:fat Dev:usbdisk0 File:cfe.bin Options:(null)
Loading: .. 915248 bytes read
Entry at 0x0000000020000000
*** command status = 0
CFE> 
  • take note of these two values, they may differ:
    • bytes read: that's the size of your bin, it may change for each revision, in our example it's 915248
    • entry: that's the address where the file is loaded, it may change too, 0x20000000 in our example
  • starting from here, you won't be able to go back, so make sure you're ready and take a deep breath
  • erase the current content of the flash
CFE> spi erase
*** command status = 0
CFE>

copy your loaded image with the previouly noted entry and size values

CFE> spi copy 0xf00000 0x20000000 915248
                       <  entry > <size>
*** command status = 0
CFE>


NOTE: The copy can take several seconds, almost one minute in fact. Be patient, DO NOT SHUTDOWN OR RESET your machine while it is copying: it is NOT DEAD OR CRASHED!! Doing so would put you in an awkward position where you'll have bricked your X-1000. The solution would to follow the rescue procedure below.

  • when you get back to the prompt, you can check the ROM signature (55AA55AA)
CFE> spi read 0xf00000 32
00F00000% 55AA55AA 43464531 436F6D6D 6F6E2046
00F00010% 69726D77 61726520 456E7669 726F6E6D
00F00020% 656E742C 20286329 20323030 34204272
00F00030% 6F616463 6F6D2043
*** command status = 0
CFE>
  • now you can cold boot Nemo and check the revision.

In case Murphy was right once again

Nemo has a dual flash EPROM chips to offer you a safety belt. In case you broke your BIOS, you are able to activate the rescue BIOS which will allow you to try a new update. The choice between normal and rescue BIOS is activated with a jumper located between the DIMM4 slot and the rear USB connector (here in the Normal position):BIOS Jumper
If you want to join the BIOS club, don't forget the three rules:

  • you don't put a jumper on the RESCUE WrEn pins,
  • you DON'T put a jumper on the RESCUE WrEn pins,
  • YOU DON'T PUT A JUMPER ON THE RESCUE WrEn PINS !

Rescue guide

To use the Rescue BIOS and recover your Normal BIOS, here is how to do it:

  • power down Nemo,
  • put the BIOS jumper in Rescue mode,
  • power up Nemo,
  • once you get CFE prompt, move carefully your BIOS jumper from Rescue to Normal (carefully means here: avoid any shortcut, I'm obviously talking about electricity),
  • follow the standard BIOS update procedure,
  • if you get to the end, then you've rescued your BIOS, Champagne !