This page describes the device driver and the device window for the Comstream CM601A PSK Satellite Modem. In future, there will be several variants of this device driver to be used with different modem configurations. Actually the Comstream-CM601A-SCPC driver variant is available only.
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 CM601A.
See the Comstream manual for mode details.
Communication protocol / Interface type
The recommended communication protocol for the CM601 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.
Installation
Before the sat-nms software will recognize the modem, you have to set the communication parameters at the modem's front panel. The following values must be set (all in the "M&C" menu):
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.revision.sl4 | TEXT | R/O | StringRange R/O |
| info.revision.sl5 | 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 EXT-TTL SATELLITE 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 (-100 .. -60) |
| 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 (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 (Narr option Tx summary) |
| faults.22 | ALARM | R/O | AlarmFlagRange R/O (Narr option Rx summary) |
| faults.23 | ALARM | R/O | AlarmFlagRange R/O (Narr option Tx hardware) |
| faults.24 | ALARM | R/O | AlarmFlagRange R/O (Narr 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 (Modem card Tx hardware) |
| faults.31 | ALARM | R/O | AlarmFlagRange R/O (Modem card Rx hardware) |
| internal.st | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| internal.dm | INTEGER | R/O | IntegerRange R/O (0 .. 0) |