Upgrading a Platinum system via an Internet-connected PC

It is sometimes awkward to connect a Platinum system, such as an EAM or 40TDE instrument, to the Internet for firmware upgrades. For example: in some cases, the only available Internet access is via WiFi so, if the Platinum system does not have a WiFi interface, direct connection becomes impossible. In these cases, a PC or laptop can be used as a gateway, allowing the Platinum system to contact the Güralp firmware upgrade server indirectly, via the PC.

This article describes one way to set up a PC for this purpose. For windows users, we will use the (free) PuTTY terminal emulation software to make a local network connection to the Platinum system while providing a port-forwarding facility which the Platinum system can use to contact the firmware upgrade server. Linux users can do the same or use a much simpler command-line technique.

This technique does not open any additional ports to the outside world. The only connections from the PC and the Platinum system are outgoing.

Theory

The PC is configured to make an SSH connection to the Platinum system, shown in blue in the picture below. This connection is configured with a port-forwarding rule which causes the PC to listen for incoming connections on port 873. If it receives any such connections, it will transparently forward them to port 873 on the firmware upgrade server, as shown by the dotted green line.

Next, the firmware upgrade subsystem on the Platinum device is reconfigured to connect to port 873 on the PC rather than directly to the firmware upgrade server. This connection is transparently forwarded (by the PC) to the real firmware upgrade server.

At this point, an upgrade can be performed in the normal manner.

Configuration for Windows users

To configure an indirect connection:

  1. If you do not already have PuTTY installed on your PC, download it from this link and install it, accepting the defaults at each stage of the installation process

    If you cannot or do not want to install third-party software on your PC, you can use the Linux command-line instructions below in conjunction with the command-line ssh client shipped with Windows 10. (This feature may need to be enabled before use, in which case please see this article for instructions.)
  2. Open PuTTY – the following dialogue is displayed:

  3. Enter the I.P. address of the Platinum system in the "Host Name (or IP address) field, as shown:

  4. Select Connection→Data from the left-hand menu and enter root as the "Auto-login username":

  5. Select SSH → Tunnels from the left-hand menu. In this screen (shown below):

    and then click the Add button

    we have used an IP address - 46.43.14.141 - rather than a DNS name here in order to to remove a potential source of problems. If you are confident that your PC has a functioning name-resolution system, you can use rsync.guralp.com:873 in place of 46.43.14.141:873 This provides a degree of future-proofing, guarding against a change in the address of the Güralp firmware upgrade server.
  6. Check that a new entry beginning L873 appears in the central list area exactly as shown:

  7. Select Sessions from the top of the left hand menu and enter a name for your Platinum system in the Saved Sessions box above the list of saved sessions. In the example below, we have used the name EAMxxxx but you are free to choose your own.

  8. Click the Save button. Your new saved session should appear in the list below Default Settings:

  9. Click the Open button. The first time you do this, a security dialogue is displayed:

    Simply click Yes (or, in some versions, Accept) to clear this.

  10. An emulator window then opens, prompting you for the root password of the Platinum system:

    Enter the password and check that you reach the command line.

  11. Make a note of the I.P. address of the PC. If you do not know this, please follow this procedure to discover it.

  12. In the emulator window (i.e. at the command line of the Platinum system), enter

    echo 'RSYNC_HOST="ip.addr.of.pc"' > /etc/conf.d/upgrade.local

    replacing ip.addr.of.pc with the actual I.P. address of your PC, as obtained in the previous step. A typical example would look like this:

    echo 'RSYNC_HOST="203.0.113.13"' > /etc/conf.d/upgrade.local

It should now be possible to upgrade the firmware of your Platinum system in the usual fashion: the firmware upgrade subsystem will use the laptop or PC as a port-forwarding gateway.

Configuration for Linux users

PuTTY is available for Linux so you can, if you choose, follow the above instructions exactly. Linux systems are, however, almost always shipped with a command-line ssh client program and, if you are comfortable working on the command line, you may find the approach below to be simpler.

To configure a Linux PC to act as an intermediary for a firmware upgrade:

  1. Key ctrl + alt + t to open a terminal window.

  2. In the terminal window, type

    ssh -L*:873:46.43.14.141:873 root@ip.address.of.Platinum-system

    replacing ip.address.of.Platinum-system with the actual I.P. address of the Platinum system.

    in the first argument to the ssh command here, we have used an IP address - 46.43.14.141 - rather than a DNS name. This is in order to to remove a potential source of problems. If you are confident that your PC has a functioning name-resolution system, you can use
    -L*:873:rsync.guralp.com:873
    in place of
    -L*:873:46.43.14.141:873.
    This provides a degree of future-proofing, guarding against a change in the address of the Güralp firmware upgrade server.
  3. If you have not used ssh to connect to this Platinum system before, you will see a message like:

    The authenticity of host 'suprt-eam (10.10.0.2)' can't be established. ECDSA key fingerprint is SHA256:lhh5mklJV+ZjIwpqdhtPqSU/Gf9V8D3upfNdT8z2FtU. Are you sure you want to continue connecting (yes/no)?

    Type the word yes to continue.

  4. You are now prompted for the root password of the Platinum system.

  5. Make a note of the I.P. address of the PC. If you do not know this, please follow this procedure to discover it.

  6. At the command line of the Platinum system, enter

    echo 'RSYNC_HOST="ip.addr.of.pc"' > /etc/conf.d/upgrade.local

    replacing ip.addr.of.pc with the actual I.P. address of your PC, as obtained in the previous step. A typical example would look like this:

    echo 'RSYNC_HOST="203.0.113.13"' > /etc/conf.d/upgrade.local

It should now be possible to upgrade the firmware of your Platinum system in the usual fashion: the firmware upgrade subsystem will use the laptop or PC as a port-forwarding gateway.