Guralp Systems Limited

Chapter 3. Usage

The DCM can be integrated with any system where seismic data needs to be collected, or converted from one form into another. It is designed to operate as transparently as possible, and once connected and configured for a particular role in a system it should not require further maintenance.

The rest of this chapter gives detailed installation and usage notes for several common DCM installations. Between them, they highlight many important features of the DCM. For full configuration information, please refer to the next chapter.

3.1 General notes

Stand-alone DCM modules can be supplied with a touch-screen and minibrowser as an option. This allows you to perform configuration tasks on-site. However, the touch-screen imposes some environmental restrictions on the unit.

For all other DCM units, you will need console or network access to the DCM to configure it for your installation. This is especially important if the DCM is not to be part of a TCP/IP network whilst in use.

As supplied, the DATA OUT port runs the getty service, which you can use to access the console of the DCM over a serial link. Alternatively, you can temporarily connect a computer to the NETWORK port. It is recommended that you keep a serial or modem connection to the DCM available for maintenance and troubleshooting, even if the link is too slow for general use.

3.2 The DCM as a data store

The simplest way to use a DCM is as a storage medium for digital data.

3.3 The DCM as a GCF data source

With a sufficiently fast serial link, you can instruct the DCM to send incoming data directly to a GCF-compatible client. For example, Güralp Systems' Scream! software allows you to display and record incoming data, as well as change the settings of attached digitizers. You can do this in addition to recording data on a local hard disk, or you can leave the hard disk uninstalled and operate the DCM entirely over the network link.

This example shows a module communicating with a local PC over a dedicated radio link. You could also use a simple serial cable to connect the DCM to the PC.

For more information on how to use Scream! to display and manage data streams, please see Scream!'s own documentation or the extensive on-line help.

Accessing the DCM command line through gcf_out

The gcf_out service provides a command-line terminal designed to be compatible with Güralp Systems' SAM serial storage device. To access this terminal from Scream!, right-click on the DCM's icon and select Terminal.... You will see a banner like

DCM DCM CRSM Command Mode

0 blocks in buffer | 16360 blocks free

The SAM commands you can use are described in the SAM Operator's Manual.

You can also log in to the DCM's Linux operating system through the terminal. Enter the command

GETTY

and press ENTER. You will be presented with the login: prompt.

If you are not using Scream!, and cannot make the unit enter SAM compatibility mode, you can interrupt the GCF data stream and drop straight to the login: prompt by connecting direct to the serial port and typing

forcegetty

It may take several attempts for this to succeed.

Sensor arrays

Another possible reason for setting the DATA OUT port's service to gcf_out is to allow several DCM units to work together and aggregate the inputs from an array of sensors.

Here, DATA OUT ports with gcf_out as the service output data to the serial inputs of another DCM or AM module, which aggregates them all and sends them out over a network connection.

The DCM can handle multiple data sources with ease using the gcf_out service. In practice, however, it is almost always preferable to set up a local area network and use PPP over any serial links, so that GCF, Web and SSH traffic can share the same connection. Setting up a fully networked array is slightly more difficult than using gcf_in and gcf_out services, but provides much more flexibility.

3.4 The DCM as a network data hub

The most flexible way to operate the DCM is as a fully independent machine on your local area network. To do this:

https://192.168.0.2/

By default you can use either http: or https: URLs to access the DCM's Web site. HTTPS is a secure variant of HTTP, which we recommend you use in preference to avoid passwords being sent over the network in clear text. Scream! and similar software applications should also be configured to use this IP address to communicate with the module. If the DCM is using a static IP address, you may assign it a name on your network (although you will still need to use the numeric IP address in Scream!.)

The DCM also runs a SSH (secure shell) server, which you can use to access its Linux command line over the network, just as if you had connected to it over a direct serial link. The standard Linux program ssh and the freeware Windows program putty are popular SSH clients.

If you do not wish to use the DCM's Web site, you can continue using the gcfgdbset command to set other configuration options by name. For the option names, you should refer to Chapter 4, “Configuration options” in the DCM manual, where each name is given in italics with a description of its action.

The command syntax to use is

gcfgdbset option-name new-value

The options will take effect immediately whenever possible. Some changes may take some time to complete, since services may need to be restarted. The gcfgdbset command performs only simple checks on the new value, so you should check the syntax of the option carefully.

Communicating with digitizers

You can configure attached digitizers from the DCM Web interface by clicking on the Configure – Digitizer link in the serial port table (see Section 2.6, page 22.)

You can also connect to the console of attached digitizers with the terminal command

minicom -n port-number

Alternatively, you can send individual commands to a digitizer with the command

gcli port-number command

In these commands, port-number is the port number and port-name the port device name to send the command to. To find out these, issue the command serialmap:

Library version: libserialmap Version 1.0.5 with LIBGCONFIGDB

3 serial ports

Port 0, Key 7000, name Data out port, device /dev/ttySA0, baud 115200

Port 1, Key 7001, name Port B, device /dev/ttySA1, baud 9600

Port 2, Key 7002, name Port A, device /dev/ttySA2, baud 19200

Each port will be listed, with its number (e.g. 0), name (e.g. Data out port), and device (e.g. /dev/ttySA0).

Data storage and retrieval

All data received by the DCM is periodically written from Flash memory to the on-board hard disk. The time period used can be configured from the Configuration – Disk page of the DCM's Web site.

You can list the files on the hard disk

If you are using the Web page interface, each file appears as a link: click its name to download the file.

Alternatively, you can physically remove the internal hard disk, and attach it to any computer supporting either Firewire or the USB Mass Storage Protocol. It will appear on the computer as an extra hard drive. The DCM uses a journalling file system compatible with Windows' FAT32, so you cannot lose or corrupt data by removing the hard disk, even if the DCM is in the middle of writing to it.

Using miniSEED format

You can instruct the DCM to record data to Flash (and, later, its hard disk) in miniSEED format by browsing to the Configuration – Disk page and selecting yes for the disk.recordas.miniseed option.

The DCM allows you to record in several formats simultaneously, if you wish; you should make sure that you have the capacity to store, or the bandwidth to transfer, all the data the DCM will produce in each format you have enabled.

Using SAC format

You can instruct the DCM to record data to Flash (and, later, its hard disk) in SAC format by setting disk.recordas.sac to yes.

Compiling SEED volumes

The DCM can also compile full SEED volumes in real time. To enable this:

Real-time data transmission

You can use the DATA OUT port (or any of the DCM's serial ports) in several ways, depending on the service you have chosen to run on the port.

To change the service running on a port, click the Configure – Port link in the serial port table, and set the serial.x.service option to the required value. Alternatively, issue the command

gcfgdbset serial.x.service service

Scream! server

In a straightforward vault installation, we recommend that you leave the DATA OUT port running the getty service for emergency console access, and instruct the DCM to act as a server for incoming data on your network. This can be done from the Data transfer – Scream server page on the Web site:

CD1.0 and CD1.1

The DCM can be configured to transmit incoming data to a specified client using the CD1.0 or CD1.1 protocols. If you intend to send CD1.0 or CD1.1 data to a National Data Centre (NDC), the installation will need to be assigned a unique code by the International Seismic Centre or with the US's National Earthquake Information Center.

To enable CD1.0 or CD1.1 transmitters, browse to the Data transfer – CD1 (CD1.0) Sender or Data transfer – CD1.1 Sender page. Fill in the required data fields and click Save settings.

Using an Authentication Module (AM), you can cryptographically sign all outgoing CD1.0 or CD1.1 subframes as they pass through. This is particularly powerful where the module is physically part of the sensor casing, as it allows you to generate authenticated data at source, even within a borehole.

AutoDRM

AutoDRM (Automatic Data Request Manager) is an optional service which allows you to request data over e-mail. In response to a request, the AutoDRM can either send an e-mail in return, or establish an FTP connection to you.

Not all DCMs have these packages installed. If you are unsure, or wish to upgrade, contact Güralp Systems.

In order for the AutoDRM system to work, the module must be able to send and receive e-mail messages. To set the system up, you will need to fill in the details of your network's SMTP server under Configuration – Outgoing mail, and of your POP or IMAP server under Configuration – Incoming mail. Remember to click Save changes after you have filled in each screen.

Switch to the Data transfer – AutoDRM page, and enable datatransfer.autodrm. Click Save changes on this page to start the service.

To test the AutoDRM system, send the following e-mail to the DCM:

From: your@e-mail.address

To: autodrm@your.DCM

BEGIN GSE2.0

MSG_TYPE request

MSG_ID unique-identifier

HELP

EMAIL your@e-mail.address

STOP

where your@e-mail.address is the e-mail address to send the return message and unique-identifier is a string which you can use to identify your request. autodrm@your.DCM should be replaced with an e-mail address which will be delivered to the autodrm mailbox on the DCM.

The DCM should send a mail back to you containing help on the commands you can give the AutoDRM system.

3.5 Troubleshooting DCM installations

I cannot connect to the DCM's DATA OUT port using a terminal program.

Press ENTER a few times to initiate communication.

If the DATA OUT port gives a login prompt, you should log in with your username and password. If you have not been given a different username and password, try logging in as root with the password rootme. You should change this password as soon as you can with the command passwd

If the DATA OUT port gives an ok prompt, the DCM is running the gcf_out service on that port and has provided you with a FORTH compatibility interface. Type

GETTY

and press ENTER to gain access to the login prompt.

If the DATA OUT port does not respond when you press ENTER, or produces garbage, check that your terminal program is using the same baud rate as the DCM. By default, the DCM uses a baud rate of 115200, with 8 data bits, no parity bit and 1 stop bit, and no flow control.

If the DATA OUT port produces a large quantity of characters, it may be sending GCF data. Try typing

forcegetty

repeatedly. If the DCM is running the gcf_out service on this port, it will stop transmitting and give you access to the login prompt.

If the DATA OUT port is not responding at all, check the power supply to the DCM.

I cannot see the DCM's Web site over HTTP or HTTPS.

There is a problem with the network setup. Connect to the DCM's DATA OUT port using a terminal program and change the network settings to suit your network. In particular:

I cannot connect to the DCM's Scream! server.

Make sure you are using UDP to connect to the DCM. Scream! servers between computers (including the DCM) always use UDP. The Add TCP server... option in Scream! is intended for hardware serial-to-IP converters only.

I cannot GCFPING the DCM's Scream! server.

I can GCFPING the DCM's Scream! server, but no data appears.

Check the DCM is receiving data by selecting Actions → Data Viewer on its Web site. This is a Java applet which provides some of the functionality of Scream!, allowing you to check that data is being received correctly.

The streams being received at the DCM are listed in the bottom section of the applet. Click on a checkbox to add that stream to the main viewer window.

If you do not want to use the DCM's Web site, you can find out the number of GCF blocks the DCM has received with the command gnblocks. Each serial port will be listed, with its name, number, key number and device name (as for serialmap) but including the number of blocks received on that port:

Key 0x007005: Blocks 3287 (Port 5, name Port A (COM6),

device /dev/ttyS2, baud 9600)

The DCM is not receiving any data streams.

The DCM is receiving streams, but they do not contain any data.

If the data you see is zero:

If you cannot see the data in the stream, remove any constant offsets by clicking on the Zero streams icon in Scream!'s Waveview window or the DCM's Data Viewer.

The DCM receives streams, but gaps appear in the data some minutes after boot-up.

Check that the baud rate between the digitizer and the DCM is sufficient for all the data streams you want to transmit. If it is not, the digitizer's output buffer will gradually fill up until no more data can be stored. Increase the baud rate of the digitizer through the DCM (or using Scream!), then set the baud rate of the DCM's input port to the same value.

If you are using triggered output streams, be especially careful to allow a high enough baud rate to transmit data from all possible output streams simultaneously, or you will observe gaps when an event triggers the digitizer.

The DCM receives streams, but 2-minute gaps appear in the data at 4-hour intervals.

After a reboot, the DCM takes around 2 minutes to begin transmitting. The DCM runs a guardian process which monitors the health of the system. In some circumstances guardian will need to reboot the DCM to attempt to resolve a problem. If the reboot does not help, the DCM will soon find itself in the same position, and guardian will reboot it again.

You can check the time since the last reboot with the command uptime, which will respond with a line like

14:30:32 up 34 min, load average: 1.24, 1.32, 1.10

In this example, the DCM last rebooted 34 minutes ago.

The most common circumstance where guardian will reboot a DCM is when the operator has instructed it to record data, but it cannot do so. This may be because

3.6 CMG-AM Authentication Modules

The CMG-AM is a variant of the CMG-DCM which includes strong cryptographic capabilities, including an on-boad Spyrus crypto-token.

This token can be used to sign all outgoing data at source. The signature matches the data as produced, so if anyone alters the data, the signature will no longer be correct.

Before your DCM can start sending authenticated data, it must

These steps can be executed remotely, but must be carried out separately for each installation.

Hardware authentication

Where a Spyrus crypto-token is installed, the program spyrus should be used to set it up.

Software authentication

Some AM units are not supplied with hardware crypto-tokens. These units can still perform authentication using the openssl package. To set up an AM using openssl: