This page describes the device driver and the device window for the Comstream 5MBit and 512kBit Modem Cards. With this driver you can address up to three modem cards in one CM701 frame as separate devices. To do this, simply configure multiple modems of this type at the same serial port and setup the configuration parameters for each particular modem / modem card as described later in this chapter.
The modem card device driver prepends the modem card's slot number to all commands and individually addresses the card in the modem frame this way. The modem does not support the "primary data rate" macros in this mode, hence the driver is limited to SCPC configurations.
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 .
--- The IF parameters (frequency, level, etc.) and some global modem settings.
--- The modulator settings, transmit clocking.
--- The demodulator settings, receive clocking, doppler buffer.
--- The TX interface settings.
--- The RX interface settings.
--- The receive quality.
--- The faults page.
--- The device info page.
--- The maintenance page. The configuration parameters described below are set at this page.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 modem card.
See the Comstream manual for mode details. This parameter applies to all modem cards installed in the device frame.
Communication protocol / Interface type
The recommended communication protocol for the CM601/CM701 modems 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.slot | CHOICE | SAVE SETUP | EnumRange (5: 6: 7:) |
| 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.signal.on | CHOICE | R/O | EnumRange R/O (OFF ON) |
| reset | TEXT | NOPRESET | StringRange |
| modemType | CHOICE | EnumRange (SCPC) | |
| refClkSrc | CHOICE | EnumRange (INT) | |
| loopBack | CHOICE | EnumRange (OFF IF NEAR FAR) | |
| 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 | IntegerRange (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) | |
| 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 | IntegerRange (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 (EXTERNAL INTERNAL) | |
| rx.dem.spectrumInvert | CHOICE | EnumRange (NRM INV) | |
| rx.dem.scrambling | CHOICE | EnumRange (OFF COMSTRM IDR) | |
| 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 .. 100) |
| 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) |
| faults.01 | ALARM | R/O | AlarmFlagRange R/O (NVRAM) |
| faults.02 | ALARM | R/O | AlarmFlagRange R/O (Self test) |
| faults.03 | ALARM | R/O | AlarmFlagRange R/O (Other) |
| faults.04 | ALARM | R/O | AlarmFlagRange R/O (Tx power) |
| faults.05 | ALARM | R/O | AlarmFlagRange R/O (TxIF synth) |
| faults.06 | ALARM | R/O | AlarmFlagRange R/O (Tx bit timing) |
| faults.07 | ALARM | R/O | AlarmFlagRange R/O (Horizontal Tx) |
| faults.08 | ALARM | R/O | AlarmFlagRange R/O (Tx fifo full) |
| faults.09 | ALARM | R/O | AlarmFlagRange R/O (NVRAM access) |
| faults.10 | ALARM | R/O | AlarmFlagRange R/O (RxIF synth) |
| faults.11 | ALARM | R/O | AlarmFlagRange R/O (Rx AGC range) |
| faults.12 | ALARM | R/O | AlarmFlagRange R/O (Bit time sync) |
| faults.13 | ALARM | R/O | AlarmFlagRange R/O (Carr track sync) |
| faults.14 | ALARM | R/O | AlarmFlagRange R/O (Decoder sync) |
| faults.15 | ALARM | R/O | AlarmFlagRange R/O (Acquisition) |
| faults.16 | ALARM | R/O | AlarmFlagRange R/O (Rx carr range) |
| faults.17 | ALARM | R/O | AlarmFlagRange R/O (RxBT range) |
| faults.18 | ALARM | R/O | AlarmFlagRange R/O (Horizontal Rx) |
| faults.19 | ALARM | R/O | AlarmFlagRange R/O (Low Eb/No) |
| faults.20 | ALARM | R/O | AlarmFlagRange R/O (Rx buffer overflow) |
| faults.21 | ALARM | R/O | AlarmFlagRange R/O (Rx buffer underflow) |
| faults.22 | ALARM | R/O | AlarmFlagRange R/O (Buffer output clock) |
| faults.23 | ALARM | R/O | AlarmFlagRange R/O (BERT sync) |
| faults.24 | ALARM | R/O | AlarmFlagRange R/O (Output buffer) |
| faults.25 | ALARM | R/O | AlarmFlagRange R/O (IO port match) |
| faults.26 | ALARM | R/O | AlarmFlagRange R/O (M&C) |
| internal.st | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| internal.stc | INTEGER | R/O | IntegerRange R/O (0 .. 0) |