Re-flashing a CMG-DCM to install Platinum Firmware

Platinum is Guralp Systems’ next-generation firmware for CMG-EAMs, CMG-NAMs and CMG-DCMs. Platinum firmware offers a number of advantages for CMG-DCM users over the previous DCM firmware and we recommend that all CMG-DCM units being redeployed to new installations are upgraded to Platinum.

This page describes the procedure for reflashing a CMG-DCM to use Platinum firmware where the CMG-DCM has corrupt flash memory and cannot boot. If the CMG-DCM is working properly, please use this procedure instead.

The Re-flashing Procedure

IMPORTANT: This procedure requires Internet access, as the firmware image is too large (around 40 to 50 Mb) to transfer over a serial port. Unfortunately, the minimal image does not have USB support. Guralp Systems recommends this procedure is carried out in a laboratory or workshop with stable power and networking. We advise against performing this procedure in the field on a working station.

Required Cables and Connections

The following cables and connections are required:

  • Power/data cable - Plug a standard 10-way power/data “Y”-cable into the DCM port labelled “DATA OUT”. The power lead should be connected to a stable power supply (10–28V DC) and the data lead should be connected to a computer that will be used to control the reflashing procedure.
  • Ethernet cable - Plug a standard 6-way Ethernet cable in to the DCM port labelled “NETWORK”. The 8P8C modular jack should be connected to a router or other device that will provide Internet access. Either DHCP or static addressing may be used.
  • Older units only: internal console cable - Some older CMG-DCM units use a bootloader which cannot communicate using the “DATA OUT” port. This can be quickly determined at the start of the procedure below. Such units will require a special cable to be used. This cable is connected internally in the DCM (contact This email address is being protected from spambots. You need JavaScript enabled to view it. for details) and to the serial port of the computer being used in the procedure. It is used instead of the standard power/data cable.

Required Files

The two files linked below must be saved onto the computer being used in the process. They will be uploaded to the CMG-DCM over the serial port. They are used to install a base image with enough functionality to allow the DCM to update itself over the Internet.

If you are using Linux, you can verify the integrity of the files after download with the md5sum utility:

File MD5 sum
boot.gz 76f345c2defb72c1c0f41a1e5b44318a
root.gz 3a8473b1c9cf6602d4c20380bb6c4b2c

Gaining Access to the Bootloader

The first step in the reflash procedure is to gain access to the bootloader.

  1. Using extraPuTTY (www.extraputty.com) or HyperTRM on Windows, or minicom (or another terminal emulator) on Linux, connect to the DATA OUT port of the DCM at 115200 baud, 8 data bits, no parity, 1 stop bit (8N1). Configure the emulator to use no flow control – neither hardware (RTS/CTS) nor software (XON/XOFF).
  2. Power cycle the DCM, and repeatedly type fishsoup followed by a space until you get a prompt:
        Bootloader fishsouped and ready
        boot>
  3. If the message “Enter the receive enable string now to enable this port” does not appear, and step 2 fails to achieve anything within 20 seconds, the unit may be using the old bootloader. In this case, disconnect the data cable from your serial port (leaving the power plugged in to the PC) and connect the internal console cable to the DCM and the PC’s serial port, then retry step 2.

Uploading the Minimal Image Files

Having gained access to the bootloader, the minimal image files (from the required files section) need to be uploaded and flashed. This part of the procedure takes approximately 15 minutes to complete.

Note that there have been several revisions of the bootloader, so the messages that you encounter may differ slightly from the ones reproduced in these instructions. However, in all cases, you can simply follow the same procedure.

  1. Press ENTER a few times to make sure you are sucessfully talking to the boot loader, then type the text shown in emphasis:
    boot> nand 0 erasechip
    Scanning for nand chip ...
    nand_maf_id = 0x000000EC
    nand_dev_id = 0x00000076
    nand device name: Samsung K9D1208V0M
    nand erasechip: Erasing entire chip
    nand erasechip: passed
    boot> nand 1 erasechip
    Scanning for nand chip ...
    nand_maf_id = 0x000000EC
    nand_dev_id = 0x00000076
    nand device name: Samsung K9D1208V0M
    nand erasechip: Erasing entire chip
    nand erasechip: passed
    boot>
    boot> nand 2 erasechip
    Scanning for nand chip ...
    nand_maf_id = 0x000000EC
    nand_dev_id = 0x00000076
    nand device name: Samsung K9D1208V0M
    nand erasechip: Erasing entire chip
    nand erasechip: passed
    boot> load boot
     After receiving file, will automatically uncompress .gz images
    loading flash region boot
    using ymodem
    ready for YMODEM transfer...
  2. extraPuTTY: Send the “boot” file you downloaded earlier by selecting "Files Transfer" from the menu bar, then "Ymodem" and then "Send". Enter the filename of the downloaded boot image and click on "Open".
    Hyperterminal: Send the “boot” file you downloaded earlier by selecting "Transfer" from the menu bar and then "Send File". Enter the filename of the downloaded boot image, select "Ymodem" and click on "Send".
    Minicom: Send a file (Ctrl-A then S, then select Y-modem from the list). Select the boot file you downloaded earlier. Note: Minicom implements file transfer protocols using external utilities which are not always present by default in some distributions; use your distribution’s package manager to ensure that the lrzsz package is installed.
    It is possible that, in the time you take to do this, the DCM will time out and give up (often printing an “RXstat timeout” error message). If this happens, press enter to get the bootloader prompt, then repeat this step.
  3. Once the image is uploaded you should see:
        02CF170D454B000464C86C989C3FC2D0
        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx boot-xxxxxxxxxxx
        xxxxxxxx bytes loaded to C0000400
        img_size is not a multiple of 4 -- are we sure that's OK?
        Scanning for nand chip ...
        nand_maf_id = 0x000000EC
        nand_dev_id = 0x00000076
        nand device name: Samsung K9D1208V0M
        Looks like a gzipped image, let's verify it...
        Looks like a gzipped image, let's verify it...
        Verifying gzipped image
        .........................
        verifyGZipImage: calculated CRC = 0xXXXXXXXX
        verifyGZipImage: read       CRC = 0xXXXXXXXX
    
        programming flash...erasing ...
        Erasing NAND region
        Erasing from 0x00000000
        Erasing bytes 0x00100000
        writing flash..
    
        Programming NAND region
        YAFFS image: Programming/Verifying 0x000C0750
        Block ok at page 0x00000020
        ....
        YAFFS partition programming Success
        verifying ... 
    
        Verifying NAND device
        nand: verified ok
        done.
        boot>

    Errors about bad blocks can be ignored (this is normal NAND flash behaviour) but the procedure must verify and end with the success message as shown above.

  4. Load the root image with:
        boot> load root
        After receiving file, will automatically uncompress .gz images
        loading flash region root
        using ymodem
        ready for YMODEM transfer...

    Send the “root” file in the same way, and wait for the boot> prompt.

Completing the Firmware Reflash

  1. Now power cycle the DCM. As this is the first boot with the new firmware, the DCM will need to generate new keypairs for the ssh program. This takes 2–3 minutes. During this time, the DCM will appear unresponsive. Once it has completed, the DCM will present a login prompt:
    localhost login:
  2. Log in as root with the default password, which is rootme.
  3. If your network is configured to use DHCP, the DCM is now ready to be upgraded and you can continue to the next step (you can verify the address of the DCM by running the command ip addr show dev eth0). If you need to set a static address, this is done with the following command (changing the highlighted values):
    ip addr add xxx.yyy.zzz.aaa/NN dev eth0
    ip route add default via gatewayIP
    echo "namesever 8.8.8.8" >> /etc/resolv.conf

    The NN at the end of the IP address you wish to assign is the CIDR notation for the netmask; it is usually 24 (which corresponds to the netmask value of 255.255.255.0) or 16 (which corresponds to a netmask of 255.255.0.0). If you know the address of a local DNS server, you can substitute it in place of 8.8.8.8 in the last line above.

  4. Run the command upgrade and wait for the process to complete.
  5. Then run the command hash -r
  6. Finally, run upgrade once more.
  7. After rebooting the DCM, it is ready to be configured and used with the latest Platinum firmware.
Note : 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 This password is being protected from web crawlers. You need JavaScript enabled to view it. . 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 for more information.

For more information, first contact your local distributor or email This email address is being protected from spambots. You need JavaScript enabled to view it. .

  Submit Enquiry Contact Us Contact Local Distributor
 

You can view our case studies to find out more about how our instrumentation is used around the world.

Address

 

Guralp Systems Limited
Midas House
Calleva Park
Aldermaston
Reading
RG7 8EA, UK

Tel: +44 118 981 9056
Fax: +44 118 981 9943
E-Mail: sales@guralp.com

JoomShaper