Click for homepage
Crypto
Data
Telefunken
ETM-1810/M
  
ETM-1810/M
Control commands

This page describes how the ETM-1810/M ECHOTEL Modem can be controlled externally via the CONTROL port at the rear (X2). Note that this information is not obtained from original AEG Tele­funken sources or documentation, but rather via reverse engineering by an anonymous con­tri­bu­tor [1] — without any prior knowledge of the system — complemented by our own findings.

Reverse engineering is a laborious task which requires a lot of patience and a lot of trial and error. As a result, there may be errors or omissions in the information below. If you find any mistakes, omissions or anything else that may help us to improve this page, please let us know.


Firmware versions
There are many different versions of the ETM-1810/M firmware. In addition, there is an extension board with two additional DSPs, which can be fitted on top of the existing one. Such versions offer support for additional wave­forms like ISB. So far, we have recorded the following versions:

Ver.ExtraReported versionYearComment
4GI4GI?  
M9IQ 8010001/00517991999Single-board version
7JO7JO2002Extra DSP board with HDR, S4539 and ISB
JETJET2006  
12345
In this table, column 1 shows the version number that appears on the display on startup. Column 2 is ticked when the extra DSP board is present. Column 3 shows the version num­ber that is re­por­ted via the CONTROL interface, in reply to a '
?VER
' command. Column 4 shows the estimated year of manufacturing, based on the date codes on the components. So far, we have not found any logic in the rather obscure version numbering.

 Supported waveforms for each version


Control port
Connect the control port (X2) to the serial port of a PC with a straight DB25/M-to-DE9/F cable. A serial port is also known as COM-port or RS232 port. If your PC does not have a serial port with a DE9 connector, use an USB-to-RS232 dongle as well. Note that not all dongles are suitable, as they may not sup­port certain baudrates and/or control signals.  Pinout

Set the configuration of the PC's serial port to 19200 8N1, and ensure that the ETM-1810 is set accordingly. 19200 is the default baudrate of the ETM-1810. It means: 19200 bits per second. 8N1 is the data format. It means: 1 start-bit, 8 data-bits, no-parity and 1 stop-bit. Note that there are two different control protocols that can be used to remotely control the ETM-1810/M:

  • Standard protocol
    This protocol gives access to all features of the ETM-1810/M and ETM-1810/M-A in a way that can easily be implemented on a regular computer. This is the default protocol of the device, when any waveform other than MAHRS is selected. It gives access to all parts of the device and is described in detail below.  More

  • Arcotel protocol
    This is a more obscure protocol that is used when the MAHRS waveform is selected. It is backward compatible with the protocol used by the ETM-1810. In this mode, the device fully relies on support from the ARCOTEL ACT-1810 computer, and does not respond to any of the commands of the standard protocol.  More
Standard protocol
This is the default control protocol when any waveform other than MAHRS is selected. It allows selection of the waveform and gives full control over its parameters. Use the front panel display to verify that MAHRS is not selected, before trying commands from this protocol. Also ensure (via the display) that the control interface is set to 19200 8n1. Most of this protocol was discovered by mans of reverse engineering by an anonymous contributor [1], who started by observing the initialisation command(s) between an ACT-1810 computer and the ETM-1810/M-A. A Python script was then used to try arbitrary commands and check whether they yield a result.

Command syntax
All commands use this syntax:

   <LF><type><cmd><CR>


in which <LF> is a linefeed (ASCII 10, hex 0A) and <CR> is a carriage return (ASCII 13, hex 0D). Each command starts with a <LF>. The second parameter is the command type, which is always exactly one character long. It is followed by the command, which has an arbitrary length. The command string is terminated with a <CR>. Some commands may invoke a reply.

Timeout
Note that from firmware version
JET
onwards, there is a timeout of 1 seconds on the command string. All characters of the command (including the LF prefix and the CR suffix) must be sent be­fore the timeout occurs. As a result it is no longer possible to enter commands manually using a terminal emulator. Firmware versions
M9IQ
and
7JO
do not have a timeout.

Command type
The second parameter (following the initial LF) is the command type. It is always exactly one character long. The following command types are currently known:

TypeNameDescription
?QueryFrom computer to ETM (ETM replies with a '!' message)
*CommandRegular command from computer to ETM (no reply, or error message)
!ReplyReply from ETM on a '?' query
#MessageMessage from ETM to computer (may pop up at any moment)
%?Currently unknown
Query   ?
The '?' command can be used to request a specific parameter or status. After entering a valid command, the ETM-1810 will always reply with a '!' message, followed by the requested infor­mation. If a command is not recognised, the ETM-1810 replies with an '
#?
' status message.

CmdNameDescription
?BModeRequest working mode (Betriebsart) with full details
?BITBITEStart built-in test equipment (BITE, self-test)
?DDataData type (
!DS
=synchronous,
!DA
=asynchronous)
?DPPolarityFSK polarity (
!DPN
=Normal,
!DPI
=Inverted)
?FHFreq. HoppingFrequency hopping state (
!FH0
=off,
!FH1
=on)
?SSignalSignal level
?SBI??
?SCM?  
?PEPTTPTT delay in [ms]
?TQ?Reports some kind of quality report (6 hex digits)
?VERVersionSystem and software version
?WWaveformReports current waveform (e.g. '
!WSC'
for STANAG 4285-C)
 
Commands   *
In the description below, 'x' indicates a fixed numeric or alphanumeric character position. These commands have a fixed format, whilst '...' indicates a command with an arbitrary length.

*B... Mode Set waveform and parameters (see below)
*DxData typeSet serial data type (
S
= synchronous,
A
= asynchronous)
*DPxPolaritySet FSK polarity (
N
= Normal,
I
= Inverted)
*FHxFreq. Hopping0 = off, 1 = off
*FSET...?Frequency Hopping Set?
*PExxxxxPTTSet PTT delay in [ms], e.g.
*PE00003
= 3ms
*TESTxTestTEST1-TEST4 returns a result
*Wx Waveform Set waveform (see below)
 
Waveform selection   *
*WBS4539STANAG 4539
*WF MAHRS Select MAHRS mode (different control protocol, '
*WT
' to return)
*WHHDR  
*WIISBIndependent Side Band
*WKFSKFrequency Shift Keying
*WLMSK-LF  
*WMMILSTD  
*WNNARROWSTANAG 4529 WN=WN0=WN1
*WS4285-CSTANAG 4285-C
*WTSTANAGSTANAG 4538 (with ALE)
 
Additional waveforms in version JET
The following commands work in firmware version 'JET' but not in 7JO.
*WCHRS  
*WS04285-CCoded
*WS14285-UUncoded
*WSC4285-CSame as *WS0 (coded)
*WSU4285-USame as *WS1 (uncoded)
*WWMULTI?
 
Messages   #
Arbitrary messages can be sent by the ETM-1810 whenever the system deems it necessary. They are not sent as a reply to a specific request, and may therefore come unexpectedly. The compu­ter soft­ware should be able to handle this.

#TBITEStartup or self-test (BITE) running
#DAU?  
#DEBUG?  
#E:...ValueValue returned by some commands
#EDSP1?  
#EDSP2?  
#EDSP3?  
#EDSP4-1?  
#EDSP4-2?  
#ERROR?  
#OD?  
#RARx ActiveReveiver active
#RERx EndReceiver stopped
#RBxxxxxRx BearerModem bearer type (auto-select)
#TATx ActiveTransmitter active
#TAD?  
#TETx EndTransmitter stopped
#TRD?  
#TRE?  
#TTE?  
#TTS?  
#?ErrorUnknown command or not supported in this mode or version
#UNB?  
#W?  
Mode setting with the *B command
The *B-command can be used to select a waveform, along with its parameters, such as baudrate and tone frequencies. The exact syntax of the command depends on the selected waveform. To find the correct syntax, select the desired waveform and options via the front panel, and then issue a '
?B
' command. The returned string (e.g. '
!BN0L0600C1600
') can be used as a guideline for creating a '
*B
' command. Below are some examples. For clarity, numbers are shown in red.

WaveformExampleMeaning
FSK*BK0N0050M21250S22950O+000K = Mode FSK
0 = no meaning (must be 0)
N = Normal polarity
0050 = 50 baud
M21250 = MARK 2125.0 Hz
S22950 = SPACE 2295.0 Hz
O+000 = Offset +0 Hz
MSK-LF*BLL = MSK-LF
NARROW*BN0L0600C1600N = Narrow S4529
0 = no meaning (must be 0)
L = Large 1
0600 = 600 baud
C1600 = Center freq. 1600 Hz
HDR*BH1L9600H = HDR
1 = no meaning (must be 1)
L = Large 2
9600 = 9600 baud
4285-C*BS1L0600S = STANAG 4285
1 = Coded
L = Large buffer 1
0600 = 600 baud
4285-U*BS0NS = STANAG 4285
0 = Uncoded
N = No buffer 3
1200 = 1200 baud
ISB*BI1l19k2I = ISB
1 = no meaning (must be 1)
l = Very large buffer 2
19k2 = 19200 baud
  1. S = small, L = large.
  2. u = ultra small, v = very small, S = small, m = medium, L = large, l = very large.
  3. Fixed (cannot be changed).
Examples
Power on
When the device is first powered on, it performs a self-test (BITE), which is indicated by a
#T
message. As the test progresses, more status messages will be reported. On a proper startup, you should see the following status messages:

  • #T
    BITE started
  • #TA
    Transmitter Active
  • #RA
    Receiver Active
  • #TE
    Transmission End
  • #RE
    Reception End
Unfortunately there is no 'ready' message at the end of the sequence, so it is difficult to deter­mine when the device is ready to accept commands. In practice it is best to wait until the
#RE
message has been seen. Alternatively, it is possible to repeatedly send an empty command (i.e. <LF><CR>) and check whether the system replies with a
#?
message.

Version
To request the system version number, send a version query:

  • ?VER
The system replies with a '!' message, for example:

  • !VER7JO ETM 1810/M-A
This means that the firmware version is 7JO and the hardware version is ETM 1810/M-A. The format of the version string appears to be arbitrary, as different versions return a competely different string.

Built-in self-test (BITE)
The device has a so-called Built-In Test Equipment (BITE), which means that its hardware can fully be tested by the device itself. On power up, it performs a limited BITE that tests the transmission and reception cir­cuits. A more elaborate test can be started by pressing the TEST-button on the front panel or by sending the command '
?BIT
'. During the test, someting like this is displayed:

   ETM 1810/M-A
   Version 7JO
   
   Built-In-Test
   RAM       :00000
   EPROM     :    0
   FLASH     :    0
   WATCHDOG  :    0
   ADDR-ERR  :    0
   SIO-LOOP  :  000
   TIMER     :  000
   EEPROM    :    0
   DSP1..3   :  000
   DSP4..5   : 0000
   A/D-D/A   :    0
   TOTAL LOOP:    0

The zeros at the end of each line, indicate that there are no errors. Any number or text other than zero indicates a fault. The command replies with a '
!BIT
' message followed by a 16-bit binary number, in which each '1' indicates an error. Note that the self-test takes quite some time to complete, which means that it takes a while before the '
!BIT
' reply is received. During this time, it may report a number of status messages (#).

  • #T
  • #TA
  • #RA
  • #TE
  • #RE
  • !BIT0000000000000000
Arcotel protocol   MAHRS mode
The Arcotel protocol relies on support from the ARCOTEL ACT-1810 computer. It is active (only) when the MAHRS waveform is selected, in which case the device is backward compatible with its predecessor ETM-1810. When the MAHRS waveform is selected, all characters sent to the control port will be echoed. Furthermore, the device does not respond to any of the regular commands of the standard protocol, except for the one that is used to select the STANAG waveform '
*WT'
. This requires sending the sequence:
<LF>*WT<CR>
. It re-enables the standard protocol.

At present, no further information about the Arcotel protocol is available. It is doubtful whether it would make any sense to use it, as it delegates many tasks — including Forward Error Correction (FEC) and Automatic Repeat Request (ARQ) — to the ACT-1810 computer.


Waveforms per version
Below is an overview of the various waveforms found in devices with different firmware version numbers. Differences with the default set of waveforms are shown in green and blue.

M9IQ   (1999, main PCB only)
  • 4285-C
  • FSK
  • MAHRS
  • MSK-LF
  • NARROW
  • MILSTD
  • 4285-U
7JO   (2002, with additional DSP card)
  • 4285-C
  • FSK
  • MAHRS
  • MSK-LF
  • NARROW
  • HDR
  • S4539
  • ISB
  • MILSTD
  • 4285-U
JET   (2006, with additional DSP card)
  • 4285-C
  • FSK
  • MAHRS
  • MSK-LF
  • NARROW
  • HDR
  • S4539
  • ISB
  • HRS
  • MULTI
  • MILSTD
  • 4285-U
Command line interpreter
The software (firmware) of the ETM-1810/M-A (i.e. the version with the additional DSP board) runs on a currently unknown operating system (OS) that is stored in the ROMs on the extension board. The ROM also holds a number of programs that can be used to perform memory and DSP operations, and for updating the onboard Flash ROM (EEPROM) with new waveforms. The pro­grams can be started from the command line interpreter (CLI) of the internal OS.

Enter CLI
Connect a PC with a terminal emulator to the CONTROL port and select a standard terminal (e.g. VT102). Ensure the terminal inserts a LF after every CR. Set the baudrate to 19200 8N1. On the front panel: hold the MODE and ESC buttons when switching the device on. The display will now show a different startup message, for example:

   RACOMS Loader f.
   *ETM Version 2JR

The device is now in 'loader' mode and the CLI of the internal OS can be accessed via the CONTROL port. At this point, the terminal should show the command line prompt:

   >>

Type
?
and press enter (CR). This returns a list of possible commands:

   <DSP>     for testing the DSPs
   <PROGRAM> for program management
   <MEMORY>  for testing the memory
   <SYSTEM>  for system utilities
   <TEST>    for misc. tests
   <VERSION> for showing the link date
   <item.HELP> for displaying topic help

We are currently investiging the possibilities with these commands. Note that the above is only possible when the extra DSP board is present (i.e. version ETM-1810/M-A only).


References
  1. Anonymous contributor, Connector pinouts and reverse-engineered command set
    Crypto Museum, January-April 2025.
Further information
Any links shown in red are currently unavailable. If you like the information on this website, why not make a donation?
© Crypto Museum. Created: Wednesday 05 March 2025. Last changed: Thursday, 08 May 2025 - 15:36 CET.
Click for homepage