EAM Platinum firmware recovery
This recovery procedure can be useful if the firmware has become damaged by a
partial upgrade. If this procedure is not able to recover your unit, then the
unit must be returned to Guralp Systems for reflash. If this is the case,
for details and to
arrange an RMA.
The instructions for resetting the
root password have been moved to here
Physical access to the unit will be required.
- Console cable (either a 12-way mil-spec to DE9 for digital sensors
and metal cylindrical units, or a standard 9-pin serial modem cable (wired
"straight-through" or pin-to-pin) for Peli-case variants).
- Laptop or PC with serial port or USB to RS232 adapter.
- Terminal emulator (e.g.
minicom under Linux).
A suitable rsync/upgrade server is required. You therefore need either:
- Internet access (to
rsync.guralp.com TCP port 873/rsync); or
- a local rsync server with a copy of the firmware on (refer to the
instructions for instructions to set up a local mirror)
- Connect the console cable to the EAM and to the laptop/PC (the "recovery machine").
- Open the terminal emulator on the recovery machine and set it to 38400 Baud, 8N1.
- Apply power to the EAM.
- Almost immediately, there should be some output. Approximately two screens (2×25 lines)
of output will be displayed (more if there is any significant filesystem corruption).
- There will be a series of yes or no questions. Answer no (by
to each question. Very old bootloaders have some minor differences, but the questions
should be as below. If any question is accidentally answered yes, it is safe to simply
remove and re-apply power, restarting the process from the beginning.
Do not key
that will accept the default answer to the next question.
Boot-up procedure questions (answer
Attempt rsync update ? (y/N) n
Boot main via kexec ? (Y/n) n
Boot main via switch_root ? (y/N) n
Mount successful but no boot options available
Attempt scripted NAND device reinstall ? (y/N) n
At this point, you are now at a shell
and can continue the process as below.
Reflashing the firmware
Because the firmware is damaged to the point that it is no longer possible to
boot the unit, we must erase everything and load a new firmware image directly
into the flash memory. This procedure is involved and you may prefer to return
the unit to Guralp support. Instructions are presented below for users willing
to attempt the procedure.
Set up networking
you are using DHCP to configure your network, run:
ifconfig lo 127.0.0.1
route add -net 127.0.0.0 netmask 255.0.0.0 lo
udhcpc --script /etc/udhcpc.sh --now --interface eth0
If you are not
using DHCP and need to assign your networking
parameters statically, find the correct values and then run:
ifconfig eth0 192.0.2.2 netmask 255.255.255.0
route add default gw 192.0.2.1
echo "nameserver 188.8.131.52"> /etc/resolv.conf
In the command above, replace:
- with the desired IP address;
- with the desired netmask; and
- with the IP address of your default router.
You can replace 184.108.40.206
with the IP address of a
preferred nameserver if you wish but this is not necessary:
is a reasonable choice.
This terminal does not support
line disciplines so, for example,
will not interrupt a running command. If you wish to test the networking using
command, you should use the
argument to intruct ping
to terminate after N
ping -c5 220.127.116.11
Set system date
The date must be set to something sensible because, otherwise, files will have
incorrect modification times, which will cause various malfunctions. In the
command below, replace:
- with the Month (01 to 12);
- with the Day (01 to 31);
- with the Hour (00 to 23);
- with the Minute (00 to 59); and
- with the Year (2011 upwards)
The command should be entered as
The data and time should be entered in
regardless of your current time zone.
Erase NAND flash
Note: This will destroy all your
settings and all data in the buffer (it won't affect data recorded on any mass
storage device). There is no way to retrieve anything from
the unit after running these commands.
mount -t yaffs /dev/mtdblock3 /mnt
command will probably complain about multiple
bad blocks and failures. This is normal for NAND flash. However, the progress
indicator should tick all the way up to 100%. If it aborts early then there is
potentially a hardware problem. The last
succeed, or there is a problem somewhere and the unit will probably need to be
returned to GSL support.
Copy files on
In the example below it may be necessary to replace rsync.guralp.com
with its IP address (currently 18.104.22.168) or with the name of your local
rsync server. This step will download about 50Mb of image data.
rsync --super --verbose --stats --human-readable --progress \
--itemize-changes --recursive --times --links --perms \
--chmod=ugo+r,+X --force \
If this step fails at start-up (temporary failure in name resolution, no route
to host, etc.) then something is wrong with the networking configuration. If it
fails part way through, or at the end, something is probably wrong with the unit
and it will need to be returned to the factory.
If the rsync
command completes successfully, create some necessary files:
cp -a /dev/null /mnt/dev
cp -a /dev/zero /mnt/dev
cp -a /dev/console /mnt/dev
mkdir -p /mnt/etc/conf.local
echo set_hwclock `date +%s` > /mnt/.magic_upgrade
Each of these commands is critical and must not fail.
Now it is safe to power cycle the unit. You can also boot the new system without power cycling by running:
kexec -l /mnt/boot/zImage
You can watch its boot progress on the console port. The first boot can take
several minutes as the system will have to run through some basic
initialisation procedures. However, you should eventually have a
prompt, at which point you can log in as root using the
default password (see note below) and refer to the
reconfigure the device.
: The previous default root password is now
routinely tried by hackers during brute-force atacks. As a result, this
procedure now changes the root password to
. We strongly recommend that you
change this to something secure if the unit is to be connected to the Internet.
Please see our Platinum security guide
: There is a lot of console output both
before and after the login
prompt appears, so you may
not see the prompt. In this case, merely key
once or twice until you see the login
prompt and then log
in as normal.