1.126 Comstream-CM701-MC

This page describes the device driver and the device window for the Comstream CM701 Satellite Modem for configurations using a single 5MBit / 512kBit Modem card and - optionally - a framer/buffer card and a Reed-Solomon card. This driver does not work with the old type of the lo-speed modem card.

Although this driver is capable to handle a CM701 equipped with a single modem card in a SCPC configuration, it is optimized for applications which make use of the framer option board or the Reed-Solomon codec. The driver does not allow to have an additional modem card, modulator or demodulator installed beside the primary card as it does not use slot addressing with the commands sent to the modem.

The driver automatically recognizes the presence of a framer/buffer or a Reed-Solomon card and enables the parameter settings belonging to these option cards at the user interface. For your convenience, the modem driver uses the "Primary Data Rate" macros of the CM701. These macros automatically compute and set the input/output data rates for the framer and the Reed-Solomon option modules when you enter a data rate value.

Comstream CM701 device driver overview

The Comstream CM701 satellite modem may be operated in many different configurations. The modular architecture of this device permits to compose a modem from modulator, demodulator and option cards as well as to run up to three modem cards in one device frame.

With the sat-nms software, there is a family of device drivers which cover the most usual configurations for the CM701. Basically there are two groups of drivers: The first one covers applications which make use of the option cards like the framer/buffer card for IDR or the Reed-Solomon codec. This group is limited to single channel (one modulator, one demodulator) usage.

The other group covers multi-channel applications which run up to three modem, modulator oder demodulator cards in one device frame. These drivers are limited to plain SCPC applications, they do not support any option cards. You may put two modem cards and a modulator card in a CM701, these cards will be treated individual devices with the sat-nms software. Below there is a list of the available drivers for the CM701:

driver name group description
Comstream-CM701 SINGLE-CH This is the CM701 device driver, covering a 'traditional' modem configuration of one modulator, one demodulator and optionally a frame/buffer card or a Reed-Solomon option card. The doppler buffer option card is supported, too.
Comstream-CM701-MC SINGLE-CH Like the Comstream-CM701 driver this one also supports option cards. It is used with configurations that use a 5MBit modem card instead of the modulator / demodulator cards.
Comstream-Modulator MULTI-CH This driver controls a single modulator card (together with an IO card).
Comstream-Demodulator MULTI-CH This driver controls a single demodulator card (together with an IO card).
Comstream-Modem-Card-SCPC MULTI-CH This is a driver for the recent version of the modem card (5Mbit or 512 kBit).
Comstream-LoSpeed-Modem-SCPC MULTI-CH This is a driver for the old 512 kBit model of the modem card. You may identify this card by the label "Low Speed Modem / Buffer".

Modem cards, modulator cards and demodulator cards may be mixed in one CM701 frame if they are operated with a driver marked as MULTI-CH.

Device window pages

The following table shows which device window pages are available with this individual device type. Tool-bar functions not mentioned here are described at the general description of device windows .

Configuration parameters

At the maintenance page of the device window there are a couple of configuration parameters which must be set to make the software talk to the CM701.

See the Comstream manual for mode details.

Communication protocol / Interface type

The recommended communication protocol for the CM701 is the Comstream-Packet-Protocol (The driver works with the Comstream-ASCII-Protocol , too, but there are several issues when using the ASCII protocol (unsolicited "ST/FL" reports, multi-line terminal commands). You are free to use either a RS232 or a RS485 interface to access the modem.

Commonly Asked Questions

The CM701 does not seamlessly fit into the M&C software concept at some points. Commonly asked questions arising from these issues are answered below.

Variables defined by this device driver

name type flags range
info.driver TEXT R/O StringRange R/O
lowLevel.cmd TEXT StringRange
lowLevel.reply TEXT R/O StringRange R/O
faults.99 ALARM R/O AlarmFlagRange R/O (Communication)
faults.commstat TEXT R/O StringRange R/O
info.type TEXT R/O StringRange R/O
info.port TEXT R/O StringRange R/O
info.frame TEXT R/O StringRange R/O
config.type CHOICE SAVE SETUP EnumRange (512 kBit 5 MBit)
config.faultMask INTEGER SETUP IntegerRange (0 .. 0)
config.faultLogMask INTEGER SETUP IntegerRange (0 .. 0)
config.txAutoOn CHOICE SETUP EnumRange (OFF LAST)
config.txFaultOff CHOICE SETUP EnumRange (IGNORE TX-OFF)
config.vsatMode CHOICE SETUP EnumRange (SCPC VSAT)
config.demodLength CHOICE SETUP EnumRange (SHORT LONG AUTO)
info.id TEXT R/O StringRange R/O
info.config TEXT R/O StringRange R/O
info.slot.5 INTEGER R/O IntegerRange R/O (0 .. 0)
info.slot.6 INTEGER R/O IntegerRange R/O (0 .. 0)
info.slot.7 INTEGER R/O IntegerRange R/O (0 .. 0)
info.slot.modem TEXT R/O StringRange R/O
info.slot.rs TEXT R/O StringRange R/O
info.slot.framer TEXT R/O StringRange R/O
info.signal.on CHOICE R/O EnumRange R/O (OFF ON)
reset TEXT NOPRESET StringRange
modemType CHOICE EnumRange (SCPC BUFFER IDR IBS E1 D&I T1 D&I)
refClkSrc CHOICE EnumRange (INT)
loopBack CHOICE EnumRange (OFF IF NEAR FAR)
duplexMode CHOICE EnumRange (DUPLEX TX-ONLY RX-ONLY)
tx.frequency FLOAT DoubleRange (52.000 .. 176.000)
tx.power FLOAT DoubleRange (-25.0 .. -5.0)
tx.on CHOICE EnumRange (OFF ON)
tx.mod.dataRate INTEGER IntegerRange (4800 .. 512000)
tx.mod.symbolRate INTEGER R/O IntegerRange R/O (4800 .. 512000)
tx.mod.type CHOICE EnumRange (QPSK BPSK)
tx.mod.fec CHOICE EnumRange (NONE 1/2-SEQ 3/4-SEQ 1/2-VIT 3/4-VIT 7/8-VIT)
tx.mod.clockSource CHOICE EnumRange (EXTERNAL INTERNAL LOOP)
tx.mod.cwMode CHOICE EnumRange (MOD C/W)
tx.mod.spectrumInvert CHOICE EnumRange (NRM INV)
tx.mod.scrambling CHOICE EnumRange (OFF COMSTRM IDR IBS R/S IDR-AUTO I-R/S-AUTO I-R/S-MAN)
tx.mod.filter CHOICE EnumRange (COMSTRM INTELSAT EUTELSAT)
tx.mod.differential CHOICE EnumRange (OFF STANDARD QPSK-UNC)
tx.ifc.clockPhase CHOICE EnumRange (TT-CLK ST-CLK)
tx.ifc.dataPhase CHOICE EnumRange (NRM INV)
tx.ifc.hardware CHOICE EnumRange (V.35 RS-530 RS-232 NONE)
tx.ifc.handshake CHOICE EnumRange (IGNORE RESPOND)
rx.frequency FLOAT DoubleRange (52.000 .. 176.000)
rx.dem.dataRate INTEGER IntegerRange (4800 .. 512000)
rx.dem.symbolRate INTEGER R/O IntegerRange R/O (4800 .. 512000)
rx.dem.type CHOICE EnumRange (QPSK BPSK)
rx.dem.fec CHOICE EnumRange (NONE 1/2-SEQ 3/4-SEQ 1/2-VIT 3/4-VIT 7/8-VIT)
rx.dem.clockSource CHOICE EnumRange (TT-CLK EXT-CONN RT-CLK ST-CLK)
rx.dem.spectrumInvert CHOICE EnumRange (NRM INV)
rx.dem.scrambling CHOICE EnumRange (OFF COMSTRM IDR IBS R/S IDR-AUTO I-R/S-AUTO I-R/S-MAN)
rx.dem.filter CHOICE EnumRange (COMSTRM INTELSAT EUTELSAT)
rx.dem.differential CHOICE EnumRange (OFF STANDARD QPSK-UNC)
rx.dem.sweepMode CHOICE EnumRange (STOP NORMAL FAST)
rx.dem.sweepOffset INTEGER IntegerRange (-30000 .. 30000)
rx.dem.sweepRange INTEGER IntegerRange (0 .. 500000)
rx.buf.size INTEGER IntegerRange (64 .. 262144)
rx.buf.mode CHOICE EnumRange (OFF ON)
rx.meter.signal INTEGER R/O IntegerRange R/O (0 .. 0)
rx.meter.ber TEXT R/O StringRange R/O
rx.meter.ebno FLOAT R/O DoubleRange R/O (0.0 .. 21.0)
rx.meter.bufFill INTEGER R/O IntegerRange R/O (0 .. 0)
rx.limit.ebno FLOAT DoubleRange (0.0 .. 21.0)
rx.ifc.dataPhase CHOICE EnumRange (NRM INV)
rx.ifc.hardware CHOICE R/O EnumRange R/O (V.35 RS-530 RS-232 NONE)
rx.ifc.handshake CHOICE R/O EnumRange R/O (IGNORE RESPOND)
tx.rs.bypass CHOICE EnumRange (OFF TX RX RX+TX)
tx.rs.interleave INTEGER IntegerRange (1 .. 16)
tx.rs.wordSize INTEGER IntegerRange (1 .. 239)
rx.rs.bypass CHOICE R/O EnumRange R/O (OFF TX RX RX+TX)
rx.rs.interleave INTEGER IntegerRange (1 .. 16)
rx.rs.wordSize INTEGER IntegerRange (1 .. 239)
rx.rs.ber TEXT R/O StringRange R/O
tx.frm.t1FrameFormat CHOICE EnumRange (T1ESF T1D4)
tx.frm.dropSlots1 TEXT StringRange
tx.frm.dropSlots2 TEXT StringRange
tx.frm.dropSlots3 TEXT StringRange
tx.frm.dropSlots4 TEXT StringRange
tx.frm.idrOvhEnable CHOICE EnumRange (OFF ON)
tx.frm.idrOvhMode CHOICE EnumRange (AUDIO DATA)
tx.frm.audioGain CHOICE EnumRange (-25 dB -21 dB -17 dB -12 dB -9 dB -3 dB +1 dB +5 dB)
tx.frm.e1IbsSignaling CHOICE EnumRange (OFF ON)
rx.frm.e1EnableCrc CHOICE EnumRange (OFF ON)
rx.frm.insertSlots1 TEXT StringRange
rx.frm.insertSlots2 TEXT StringRange
rx.frm.insertSlots3 TEXT StringRange
rx.frm.insertSlots4 TEXT StringRange
rx.frm.audioGain CHOICE EnumRange (-25 dB -21 dB -17 dB -12 dB -9 dB -3 dB +1 dB +5 dB)
rx.frm.e1IbsSignaling CHOICE EnumRange (OFF ON)
rx.frm.frameAlignment CHOICE EnumRange (3 Frames 4 Frames)
rx.frm.relayEnable CHOICE EnumRange (OFF ON)
faults.01 ALARM R/O AlarmFlagRange R/O (Tx power)
faults.02 ALARM R/O AlarmFlagRange R/O (TxIF synth)
faults.03 ALARM R/O AlarmFlagRange R/O (RxIF synth)
faults.04 ALARM R/O AlarmFlagRange R/O (Tx bit timing)
faults.05 ALARM R/O AlarmFlagRange R/O (Rx AGC range)
faults.06 ALARM R/O AlarmFlagRange R/O (Bit time sync)
faults.07 ALARM R/O AlarmFlagRange R/O (Carr track sync)
faults.08 ALARM R/O AlarmFlagRange R/O (Decoder sync)
faults.09 ALARM R/O AlarmFlagRange R/O (Acquisition)
faults.10 ALARM R/O AlarmFlagRange R/O (Rx carr range)
faults.11 ALARM R/O AlarmFlagRange R/O (RxBT range)
faults.12 ALARM R/O AlarmFlagRange R/O (NVRAM)
faults.13 ALARM R/O AlarmFlagRange R/O (Rx buffer overflow)
faults.14 ALARM R/O AlarmFlagRange R/O (Rx buffer underflow)
faults.15 ALARM R/O AlarmFlagRange R/O (M&C)
faults.16 ALARM R/O AlarmFlagRange R/O (Relay monitor 3)
faults.17 ALARM R/O AlarmFlagRange R/O (Relay monitor 4)
faults.18 ALARM R/O AlarmFlagRange R/O (Doppler output clock)
faults.19 ALARM R/O AlarmFlagRange R/O (Relay monitor 5)
faults.20 ALARM R/O AlarmFlagRange R/O (V. option Tx summary)
faults.22 ALARM R/O AlarmFlagRange R/O (V. option Rx summary)
faults.23 ALARM R/O AlarmFlagRange R/O (V. option Tx hardware)
faults.24 ALARM R/O AlarmFlagRange R/O (V. option Rx hardware)
faults.25 ALARM R/O AlarmFlagRange R/O (Tx FIFO full)
faults.27 ALARM R/O AlarmFlagRange R/O (Low Eb/No)
faults.30 ALARM R/O AlarmFlagRange R/O (H. option Tx hardware)
faults.31 ALARM R/O AlarmFlagRange R/O (H. option Rx hardware)
faults.32 ALARM R/O AlarmFlagRange R/O (Tx Alarm #1)
faults.33 ALARM R/O AlarmFlagRange R/O (Tx Alarm #2)
faults.34 ALARM R/O AlarmFlagRange R/O (Tx Alarm #3)
faults.35 ALARM R/O AlarmFlagRange R/O (Tx Alarm #4)
faults.36 ALARM R/O AlarmFlagRange R/O (Rx Alarm #1)
faults.37 ALARM R/O AlarmFlagRange R/O (Rx Alarm #2)
faults.38 ALARM R/O AlarmFlagRange R/O (Rx Alarm #3)
faults.39 ALARM R/O AlarmFlagRange R/O (Rx Alarm #4)
internal.st INTEGER R/O IntegerRange R/O (0 .. 0)
internal.stx INTEGER R/O IntegerRange R/O (0 .. 0)