Search:
wiki:reftek2ew
Last modified 18 months ago Last modified on 03/19/12 18:04:12

# Earthworm Module: reftek2ew

Contributed by:

## Function

A Reftek data feeding program

## Details

Module reftek2ew was developed and provided by Refraction Technologies, Inc. The module translates data from the Reftek data server, RTP, into Earthworm trace data format and writes Earthworm trace messages to an Earthworm shared memory ring.

Refraction Technologies, Inc. has provided the source code for both the Solaris and Windows 2000 versions. Along with this module, there are several other programs provided by Reftek which are required to run reftek2ew. Those can be found in the utils subdirectory in the reftek2ew source directory:

utils/solaris:

- rtpd - rtp server daemon program used to boot up Reftek boxes and control communication with them
- rtpc - rtp client program used for Reftek control

utils/winnt: (among other things)

- rtpudpsvc.exe - rtp server
- fsc.exe - Field Setup Controller
- nci.exe - Network Control Interface

### INSTALLING AND CONFIGURING REFTEK DATA LOGGERS, CISCO ROUTERS, AND RTPD SERVERS

    Lucky Vidmar Fri Jan 29 11:49:21 MST 1999

    This file contains instructions for configuring RefTek data loggers
    (e.g. model 72A with serial card RT422) to deliver data into a Solaris
    or NT machine and convert it into Earthworm packets. The instructions
    contained here are the result of trial-and-error, complemented with a
    hefty dose of tech support from RefTek. Consulting ALL of the available
    RefTek documentation is strongly recommended.

    Communication between a RefTek data logger (Data Acquisition System -
    DAS) and the server machine is done via the RefTek Protocol (RTP).  RTP
    is designed to provide full-duplex, packet-oriented transport over UDP.
    RTP is implemented as a client-server process with a DAS with a RT422
    serial card as the client, and the RTPD application as the server. RTPD
    is available for NT and Solaris - see instructions below for installing
    RPTD on each platform.

    RefTek recommends that RTP is implemented through a router, for example
    a Cisco 2509, such that the set up will consist of two class C networks
    (one on each side of the router).  The client DAS is on one network and
    will connect to the router through an asynch serial interface using
    PPP. The server is on the other network and the router takes care of
    routing the traffic between the two networks.

            SERVER
             RTPD
         192.168.6.80
              |
              |
              |       192.168.6.0 network
          -------------------------------------------
                                          |
                                          |
                                          | 192.168.6.1
                                     --------------------------
                                     |                        |
                                     |    CISCO 2509          |
                                     |                        |
                                     --------------------------
                                       |                   |
                                     Async1             Async2
                                  192.168.7.1         192.168.7.2
                                       |                   |
                                       |      PPP          |
                                       |      LINK         |
                                       |                   |
                                  192.168.7.9         192.168.7.10
                                       |                   |
                                  ------------        ------------
                                  |          |        |          |
                                  | DAS#7853 |        | DAS#7854 |
                                  |          |        |          |
                                  ------------        ------------

    The Cisco router configuration for the setup shown above is as
    follows:

    hostname RefTekRouter
    !
    !
    username das#7853 password 0 das#7853
    username das#7854 password 0 das#7854
    !
    interface Ethernet0
     ip address 192.168.6.1 255.255.255.0
    !
    interface Serial0
     no ip address
     shutdown
    !
    interface Serial1
     no ip address
     shutdown
    !
    interface Async1
    interface Async1
     ip address 192.168.7.1 255.255.255.0
     ip helper-address 192.168.6.255
     encapsulation ppp
     async mode interactive
     peer default ip address 192.168.7.9
     no cdp enable
     ppp authentication pap callin
    !
    interface Async2
    interface Async2
     ip address 192.168.7.2 255.255.255.0
     ip helper-address 192.168.6.255
     encapsulation ppp
     async mode interactive
     peer default ip address 192.168.7.10
     no cdp enable
     ppp authentication pap callin
    !
    ip http server
    ip classless
    ip forward-protocol udp 2543
    ip route 192.168.6.0 255.255.255.0 Ethernet0
    ip route 192.168.7.9 255.255.255.255 Async1
    ip route 192.168.7.10 255.255.255.255 Async2
    no logging console
    access-list 101 permit ip any any
    access-list 101 deny   igrp any host 255.255.255.255
    dialer-list 1 protocol ip list 101
    !
    line con 0
     exec-timeout 0 0
    line 1 2
     autoselect ppp
     modem InOut
     transport input all
     flowcontrol hardware
    line 3 8
     transport input all
    line aux 0
     transport input all
    line vty 0 4
     exec-timeout 0 0
     password reftek
     login
    !
    end

    For more information about RTP consult the RefTek Protocol Manual.

### CONFIGURING RTPD SERVER

    More information about installing and troubleshooting RTPD can be
    found in the RTPD Installation and Users Guide Manual.

    1.  Windows NT 4.0

    To configure the RTPD server as a Windows NT 4.0 service, copy the
    service executable rtpudpsvc.exe and the startup file rtpd.ini from the
    utils/winnt directory to, for example, c:\reftek. Edit the rtpd.ini
    file to reflect local customizations (for example, directory names,
    etc) then execute the following commands to install this program as a
    service:

     c:
     cd \reftek
     svcins rptd_service "RefTek Data Server" c:\reftek\rtpudpsvc.exe

    The RTPD service can now be controlled like any other NT service,
    using the Services icon within the Control Panel.

    2.  Solaris 2.6

    o Copy the rtpd binary from the utils/solaris directory to whatever
      directory you find convenient, and make sure it is setuid as the user
      you want it to run as.

    This example assumes user "root", with executables in /usr/local/bin.
    In that case you would copy rtpd to /usr/local/bin and execute the
    following commands:

       chown root /usr/local/bin/rtpd
       chmod 4555 /usr/local/bin/rtpd

    o Copy the rtpd.ini file from solaris/winnt to, for example,
      /usr/local/etc directory and make any local customizations to it.

    The Solaris version of the file is identical to the NT version, with
    the exception that path names are different.  You also have the choice
    of using the syslog logging facility.  Suppose you want to use syslog.
    Then select a facility and give it in the ini file like:

    Facility   LOCAL6

    Then, edit /etc/syslog.conf and include the following line:

    local6.debug	/var/log/local6

    Note that it should be a TAB between the two tokens.  Create
    /var/log/local6 and HUP syslogd (as root, kill -HUP ),
    once to get it to reread the conf file.  See syslog.conf(4) and
    syslogd(1M) for additional information.

    o Copy the startup script utils/solaris/rtpd_init to /etc/init.d
      and make sure that it is executable (mode 544) and owned by root.
      Change directory names and make any other local customizations.

      Make the following soft links::

    # ln -s /etc/init.d/rtpd_init /etc/rc3.d/S75rtpd_init
    # ln -s /etc/init.d/rtpd_init /etc/rc2.d/K10rtpd_init
    # ln -s /etc/init.d/rtpd_init /etc/rc0.d/K10rtpd_init

    This will cause RTPD to be started automatically at boot time, and to
    go down gracefully at system shutdown.

    The following command will manually stop the RTPD server:

    reftek% /etc/init.d/rtpd_init stop

    The following command will manually start the RTPD server:

    reftek% /etc/init.d/rtpd_init start

### How to Compile Reftek2ew

    In order to build this program, you need to define the following in
    your earthworm.d file:

    RAW_RING       - transport ring for raw packets from the RTP server
    MOD_IMPORT_RTP - module id for this process
    TYPE_REFTEK    - message type for raw RTP server packets

    If you want to assign pin numbers, you will need to define them in a
    parameter file.  See import_rtp.d for the specification syntax, and
    see reftek.scn for an example.

    All dialog with the RTP server is done via the Refraction Technology
    API and libraries.  You can get a copy of this toolkit from

                        ftp://ftp.reftek.com:/pub/rtp

    Install the libraries and include files as per the instructions provided
    with the toolkit.  You will need to specify the installation location in
    your makefile.  See the comments in the makefile appropriate for your
    system.

### Example Configuration File

    # @(#)import_rtp.d	1.3 07/01/98
    # reftek2ew parameter file

    #  Basic Earthworm setup:

    MyModuleId         MOD_REFTEK2EW  # module id for this process
    WaveRing           WAVE_RING      # output ring for TRACEBUF messages
    RawRing            RAW_RING       # output ring for REFTEK messages
    HeartBeatInterval  30             # seconds between heartbeats

    # At least one of WaveRing and RtpRing must be defined.
    #
    # If you have selected a WaveRing to output TRACEBUF messages, then it
    # is necessary to define a mapping between the digitizer, stream, channel
    # information that is contained in each packet to the station, channel,
    # net, and pin number that is required by the TRACEBUF messages.  There
    # is no standard way to do this in vanilla Earthworm, therefore import_rtp
    # defines yet another parameter file.  If you don't specify this file,
    # then import_rtp issues a warning message on start up and then generates
    # its own names.  Station name is the unit id, channel name is built up
    # from the stream and channel values in the DT header (stream:chan), the
    # networm name is set to "RTP", and the pin number is set to -1.

    SCNLFile            reftek.scnl

    # Give the fully qualified host name, or the IP address of the server in
    # the usual decimal dot notation, followed by the port number for the RTP
    # service.  If you are running this on the same computer as the RTP server,
    # then specify "localhost" as the host name.

    Server             localhost    7000

    # The API allows you to request data from a single, specific, DAS or from
    # all DAS(es).  There is no provision in the API for requesting data from
    # a subset of the available digitizers.  If you want data from a single DAS,
    # give its unit id here, otherwise enter 0 to select all digitizers.

    DASid              0

    # You may filter the input based on packet type.  The following types are
    # supported: AD CD DS DT EH ET OM SC SH.  List the ones you want, or enter
    # ALL for all available.

    PktMask            ET DT SC

    # You may filter the DT packets based on stream.  List the stream id's you
    # want to see.  The stream codes here are the one-based values that are
    # used by people, not the zero-based values that are in the headers.

    StrMask            1 2 3 4 5 6 7 8

### EXAMPLE REFTEK2EW DESCRIPTOR FILE

    modName  reftek2ew
    modId    MOD_REFTEK2EW
    instId   INST_MENLO
    #
    tsec: 60  page: 0  mail: 10
    #
    # Uncomment the "restartMe" line to enable automatic restart of this
    # process by statmgr/startstop.  statmgr will issue a TYPE_RESTART
    # message for this process_id if it declares the patient dead.
    #
    restartMe
    #
    err: 1  nerr: 1  tsec: 0  page: 0  mail: 20
    text: "RTP server OK."
    #
    err: 2  nerr: 1  tsec: 0  page: 0  mail: 20
    text: "RTP server not responding."
    #
    err: 3  nerr: 1  tsec: 0  page: 0  mail: 20
    text: "no data from RTP server."

## Helpful Hints

### Download in other formats:

- Plain Text