Content-type: text/html
Manpage of SVXLINK.CONF
SVXLINK.CONF
Section: File Formats (5)
Updated: APRIL 2008
Index
Return to Main Contents
NAME
svxlink.conf - Configuration file for the SvxLink server
DESCRIPTION
svxlink
is a general purpose voice service system for ham radio use. This man-page
describe the SvxLink server configuration file format.
SvxLink look for configuration files in a number of places. First it try to find a user
specific configuration file. SvxLink will look for a user specific configuration file in
two places:
$HOME/.svxlink/svxlink.conf or $HOME/.svxlinkrc.
The latter is deprecated. Use the one that will best fit your need. If no user
specific configuration file can be found, SvxLink will look for the system wide
configuration file
/etc/svxlink.conf.
The
--config
command line option may also be used to specify an arbitrary configuration file.
FILE FORMAT
The configuration file is in the famous INI-file format. A generic example of how such a
file might look like is shown below.
[SECTION1]
VALUE1=1
VALUE2="TWO "
VAULE3="Multi "
"line"
[SECTION2]
VALUE1=2
This is a simple format that contain name=value pairs that belong to a section. In written
text, a specific configuration variable can be referred to as SECTION1/VALUE2 meaning
"configuration variable VALUE2 in section SECTION1".
The same variable name can exist in two different sections. For example VALUE1 in section
SECTION1 have the value 1 and VALUE1 in section SECTION2 have the value 2. Values
containing spaces at the beginning or end of the line must be surrounded by citation
characters (see SECTION1/VALUE2). Likewise with a multi line value (see SECTION1/VALUE3).
CONFIGURATION VARIABLES
Here is the description of all configuration variables that SvxLink understands. The
configuration variables are described section for section.
GLOBAL
The GLOBAL section contains application global configuration data.
- MODULE_PATH
-
Specify where the SvxLink modules can be found. The default is /usr/lib/svxlink
- LOGICS
-
Specify a comma separated list of logic cores that should be created. The logic core is
the thing that ties the transciever and the voice services (modules) together. It contains
the rules for how the radio interface should be handled. The specified name of a logic
core must have a corresponding section specified in the config file. This is where the
behaviour of the logic core is specified.
- CFG_DIR
-
Specify the path to a directory that contain additional configuration files.
If a relative path is specified, the path will be relative to the directory
where the main configuration file is at. All files in the specified directory
will be read as additional configuration. Filenames starting with a dot are
ignored.
- TIMESTAMP_FORMAT
-
This variable specifies the format of the timestamp that is written in front of
each row in the log file. The format string is in the same format as specified
in the
strftime(3)
manual page. The default is "%c" which is described as: "the preferred date and
time representation for the current locale". The environment variables LC_TIME,
LC_ALL and LANG will affect how this time format will look. For example, setting
LC_TIME="sv_SE.UTF8" will give you swedish timestamp representation. Other
examples of format specifiers are:
-
- *
-
%d - The day of the month as a decimal number (range 01 to 31)
- *
-
%b - The abbreviated month name according to the current locale
- *
-
%Y - The year as a decimal number including the century
- *
-
%H - The hour as a decimal number using a 24-hour clock (range 00 to 23)
- *
-
%M - The minute as a decimal number (range 00 to 59)
- *
-
%S - The second as a decimal number (range 00 to 61)
So, TIMESTAMP_FORMAT="%d %b %Y %H:%M:%S" would give a timestamp looking something like:
"29 Nov 2005 22:31:59".
- CARD_SAMPLE_RATE
-
This configuration variable determines the sampling rate used for audio
input/output. SvxLink always work with a sampling rate of 8kHz internally but
there still are som benefits from using a higher sampling rate. On some sound
cards the filters look pretty bad at 8kHz and the amplitude response will not be
uniform which among other things can cause problems for the software DTMF
decoder.
Some sound cards also sound very bad at 8kHz due to insufficient
anti-alias filtering or resampling effects. These, often cheeper, sound cards
sound OK at 48kHz.
The downside of choosing a higher sampling rate is that it puts a little bit
more load on the CPU so if you have a very slow machine (<300MHz), it might not
have the computational power to handle it.
Supported sampling rates are: 8000, 16000 and 48000.
Simplex Logic Section
The Simplex Logic section contains configuration data for a simplex logic core. The
SvxLink server can handle more than one logic core. The name of the section, which in the
example configuration file is
SimplexLogic,
must have a corresponding list item in the GLOBAL/LOGICS config variable for this logic
core to be activated. The name "SimplexLogic" is not magic. It could be called what ever
you want but it must match the namespace name in the SimplexLogic.tcl script.
- TYPE
-
The type of logic core this is. In this case we are setting up a simplex logic core so it
should be set to "Simplex".
- RX
-
Specify the configuration section name of the receiver to use. All configuration for the
receiver is done in the specified configuration section.
- TX
-
Specify the configuration section name of the transmitter to use. All configuration for
the transmitter is done in the specified configuration section.
- MODULES
-
Specify a comma separated list of configuration sections for the modules to load. This
tells SvxLink which modules to actually load on startup.
- CALLSIGN
-
Specify the callsign that should be announced on the radio interface.
- SHORT_IDENT_INTERVAL
-
The number of minutes between short identifications. The purpose of the short
identification is to just announce that the station is on the air. Typically just the
callsign is transmitted. For a repeater a good value is ten minutes and for a simplex node
one time every 60 minutes is probably enough. The LONG_IDENT_INTERVAL must be an even
multiple of the SHORT_IDENT_INTERVAL so if LONG_IDENT_INTERVAL is 60 then the
legal values for SHORT_IDENT_INTERVAL are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60.
If unset or set to 0, disable short identifications.
- LONG_IDENT_INTERVAL
-
The number of minutes between long identifications. The purpose of the long identification
is to transmit some more information about the station status (new voice mails etc). The time of
day is also transmitted. A good value here is 60 minutes.
If unset or set to 0, disable long identifications.
- IDENT_ONLY_AFTER_TX
-
This feature controls when identification is done. By default, identification is done
every time the SHORT_IDENT_INTERVAL expires. If this feature is enabled, identification
will be done only if there has been a recent transmission. This feature is good for nodes
using an RF link to provide echolink to a repeater. Often, in this situation, it is not
desirable for the link to identify unless legally necessary. Note that
SHORT_IDENT_INTERVAL still have to be set for this feature to work. That config variable
will then be interpreted as the minimum number of seconds between identifications. The
LONG_IDENT_INTERVAL will not be affected by this parameter.
- EXEC_CMD_ON_SQL_CLOSE
-
Specify a time, in milliseconds, after squelch close after which entered DTMF digits will
be executed as a command without the need to send the # character. This really only is of
use when using a radio that it is difficult to send DTMF digits from, like the Yaesu VX-2
handheld. The down side of enabling this option is that the DTMF detection some times
false trigger on voice. This can cause interresting situations when all of a sudden a
module get activated in the middle of a QSO.
- EVENT_HANDLER
-
Point out the TCL event handler script to use.
- RGR_SOUND_DELAY
-
The number of milliseconds to wait after the squelch has been closed before a roger beep
is played. The beep can be disabled by specifying a value of -1 or commenting out this
line. Often it is best to use the SQL_HANGTIME receiver configuration variable to specify
a delay instead of specifying a delay here. This configuration variable should then be set
to 0.
- REPORT_CTCSS
-
If set, will report the specified CTCSS frequency upon manual identification (* pressed).
It is possible to specify fractions using "." as decimal comma. Disable this feature by
commenting out (#) this configuration variable.
- TX_CTCSS
-
This configuration variable controls if a CTCSS tone should be transmitted.
There are two possible values:
ALWAYS or SQL_OPEN.
The ALWAYS alternative will always add a CTCSS tone as soon as the transmitter
is turned on. The SQL_OPEN alternative will add a CTCSS tone only when the
squelch is open.
For a simplex logic the only sane value is ALWAYS.
Commenting out this configuration variable will disable CTCSS transmit.
The tone frequency and level is configured in the transmitter configuration
section.
- MACROS
-
Point out a section that contains the macros that should be used by this logic core. See
the section description for macros below for more info.
- LINKS
-
Specify the name of a configuration section that contains logic linking infomation. There
is an example section in the default configuration file called [LinkToR4]. Right now only
one link can be specified. A LINKS variable is only needed in the logic that the link
should be activated from.
- FX_GAIN_NORMAL
-
The gain (dB) to use for audio effects and announcements when there is no other traffic.
This gain is normally set to 0dB which means no gain or attenuation.
- FX_GAIN_LOW
-
The gain (dB) to use for audio effects and announcements when there is other traffic.
This gain is normally set to something like -12dB so that announcements and audio effects
are attenuated when there is other traffic.
- MUTE_RX_ON_TX
-
Set to 1 to mute the receiver when the transmitter is transmitting (default)
or set it to 0 to make the RX active during transmissions.
One might want to set this to 0 if the link is operating on a split frequency.
Then the link can accept commands even when it's transmitting.
The normal setting is 1, to mute the RX when transmitting.
Repeater Logic Section
A Repeater Logic section contains configuration data for a repeater logic core. The
SvxLink server can handle more than one logic core. The name of the section, which in the
example configuration file is
RepeaterLogic,
must have a corresponding list item in the GLOBAL/LOGICS config variable for this logic
core to be activated. The name "RepeaterLogic" is not magic. It could be called what ever
you want but it must match the namespace name in the RepeaterLogic.tcl script.
- TYPE
-
The type of logic core this is. In this case we are setting up a repeater logic core so it
should be set to "Repeater".
- RX
-
Specify the configuration section name of the receiver to use. All configuration for the
receiver is done in the specified configuration section.
- TX
-
Specify the configuration section name of the transmitter to use. All configuration for
the transmitter is done in the specified configuration section.
- MODULES
-
Specify a comma separated list of configuration sections for the modules to load. This
tells SvxLink which modules to actually load on startup.
- CALLSIGN
-
Specify the callsign that should be announced on the radio interface.
- SHORT_IDENT_INTERVAL
-
The number of minutes between short identifications. The purpose of the short
identification is to just announce that the station is on the air. Typically just the
callsign is transmitted. For a repeater a good value is ten minutes and for a simplex node
one time every 60 minutes is probably enough. The LONG_IDENT_INTERVAL must be an even
multiple of the SHORT_IDENT_INTERVAL so if LONG_IDENT_INTERVAL is 60 then some of the
legal values for SHORT_IDENT_INTERVAL are: 5, 10, 15, 20, 30.
- LONG_IDENT_INTERVAL
-
The number of minutes between long identifications. The purpose of the long identification
is to transmit some more info about the station status (new voice mails etc). The time of
day is also transmitted. A good value here is 60 minutes. It must be set to whole hours
(60,120, 180 etc) otherwise the time of day announcement will sound strange since it just
announces the hour.
- EXEC_CMD_ON_SQL_CLOSE
-
Specify a time, in milliseconds, after squelch close after which entered DTMF digits will
be executed as a command without the need to send the # character. This really only is of
use when using a radio that it is difficult to send DTMF digits from, like the Yaesu VX-2
handheld. The down side of enabling this option is that the DTMF detection some times
false trigger on voice. This can cause interresting situations when all of a sudden a
module gets activated.
- EVENT_HANDLER
-
Point out the TCL event handler script to use.
- NO_REPEAT
-
Set this to 1 if you do NOT want SvxLink to play back the incoming audio. This
can be used when the received audio is directly coupled by hardware wiring to
the transmitter. What you win by doing this is that there is zero delay on the
repeated audio. When the audio is routed through SvxLink there is always an
amount of delay. What you loose by doing this is the audio processing done by
SvxLink.
- IDLE_TIMEOUT
-
The number of seconds the repeater should have been idle before turning the transmitter
off.
- OPEN_ON_1750
-
Use this configuration variable if it should be possible to open the repeater with a
1750Hz tone burst. Specify the number of milliseconds the tone must be asserted before the
repeater is opened. A value of 0 will disable 1750 Hz repeater opening.
- OPEN_ON_CTCSS
-
Use this configuration variable if it should be possible to open the repeater with a CTCSS
tone (PL). The syntax of the value is tone_fq:min_length. The tone frequency is specified
in whole Hz and the minimum tone length is specified in milliseconds. For examples if a
136.5 Hz tone must be asserted for two seconds for the repeater to open, the value
136:2000 should be specified.
- OPEN_ON_DTMF
-
Use this configuration variable if it should be possible to open the repeater with a DTMF
digit. Only one digit can be specified. DTMF digits pressed when the repeater is down will
be ignored.
- OPEN_ON_SQL
-
Use this configuration variable if it should be possible to open the repeater just by
keeping the squelch open for a while. The value to set is the minimum number of
milliseconds the squelch must be open for the repeater to open.
- OPEN_SQL_FLANK
-
Determines if OPEN_ON_SQL and OPEN_ON_CTCSS should activate the repeater when
the squelch open or close. If set to OPEN, the repeater will activate and start
retransmitting audio immediately. No identification will be sent. If set to
CLOSE, the repeater will not activate until the squelch close. An
identification will be sent in this case.
- IDLE_SOUND_INTERVAL
-
When the repeater is idle, a sound is played. Specify the interval in milliseconds between
playing the idle sound. An interval of 0 disables the idle sound.
- RGR_SOUND_DELAY
-
The number of milliseconds to wait after the squelch has been closed before a roger beep
is played. The beep can be disabled by specifying a value of -1 or commenting out this
line. Often it is best to use the SQL_HANGTIME receiver configuration variable to specify
a delay instead of specifying a delay here. This configuration variable should then be set
to 0.
- REPORT_CTCSS
-
If set, will report the specified CTCSS frequency upon manual identification (* pressed).
It is possible to specify fractions using "." as decimal comma. Disable this feature by
commenting out (#) this configuration variable.
- TX_CTCSS
-
This configuration variable controls if a CTCSS tone should be transmitted.
There are two possible values:
ALWAYS or SQL_OPEN.
The ALWAYS alternative will always add a CTCSS tone as soon as the transmitter
is turned on. The SQL_OPEN alternative will add a CTCSS tone only when the
squelch is open.
Commenting out this configuration variable will disable CTCSS transmit.
The tone frequency and level is configured in the transmitter configuration
section.
- MACROS
-
Point out a section that contains the macros that should be used by this logic core. See
the section description for macros below for more info.
- LINKS
-
Specify the name of a configuration section that contains logic linking infomation. There
is an example section in the default configuration file called [LinkToR4]. Right now only
one link can be specified. A LINKS variable is only needed in the logic that the link
should be activated from.
- FX_GAIN_NORMAL
-
The gain (dB) to use for audio effects and announcements when there is no other traffic.
This gain is normally set to 0dB which means no gain or attenuation.
- FX_GAIN_LOW
-
The gain (dB) to use for audio effects and announcements when there is other traffic.
This gain is normally set to something like -12dB so that announcements and audio effects
are attenuated when there is other traffic.
- SQL_FLAP_SUP_MIN_TIME
-
Flapping squelch suppression is used to close the repeater down if there is
interference on the frequency that open the squelch by short bursts.
This configuration variable is used to specify the minimum time, in
milliseconds, that a transmission must last to be classified as a real
transmission. A good value is in between 500-1000ms.
- SQL_FLAP_SUP_MAX_COUNT
-
Flapping squelch suppression is used to close the repeater down if there is
interference on the frequency that open the squelch by short bursts.
This configuration variable is used to specify the maximum number of consecutive
short squelch openings allowed before shutting the repeater down. A good value
is in between 5-10.
- ACTIVATE_MODULE_ON_LONG_CMD
-
This configuration variable activate a feature that might help users not aware
of the SvxLink command structure. The idea is to activate the specified module
when a long enough command has been received. The typical example is an
EchoLink user that is used to just typing in the node ID and then the
connection should be established right away. Using this configuration variable,
specify a minimum length and a module name. If no module is active and at least
the specified number of digits has been entered, the given module is
activated and the command is sent to it. To be really useful this feature
should be used in cooperation with EXEC_CMD_ON_SQL_CLOSE.
For example, if this configuration variable is set to "4:EchoLink" and the
user types in 9999, the EchoLink module is first activated and then the
command 9999 is sent to it, which will connect to the ECHOTEST server.
Macros Section
A macros section is used to declare macros that can be used by a logic core. The
logic core points out the macros section to use by using the MACROS
configuration variable. The name of the MACROS section can be chosen arbitrarily
as long as it match the MACROS configuration variable in the logic core
configuration section. There could for example exist both a
[RepeaterLogicMacros] and a [SimplexLogicMacros] section.
A macro is a kind of shortcut that can be used to decrease the amount of key
presses that have to be done to connect to common EchoLink stations for example.
On the radio side, macros are activated by pressing "D" "macro number" "#". A
macros section can look something like the example below. Note that the module
name is case sensitive.
[Macros]
1=EchoLink:9999#
2=EchoLink:1234567#
9=Parrot:0123456789#
For example, pressing DTMF sequence "D1#" will activate the EchoLink module and
connect to the EchoTest conference node.
Logic Linking
A logic linking configuration section is used to specify information for a link between
two SvxLink logics. Such a link can for example be used to connect a local repeater to a
remote repeater using a separate link transceiver. The link is activated/deactivated using
DTMF commands. To be able to define two SvxLink logics, the computer must be equipped with
two sound cards. When the link is active, all audio received by one logic will be
transmitted by the other logic.
The name of the logic linking section can be chosen freely. In the example configuration
file there is a section called [LinkToR4]. To use a logic linking section in a logic core
it must be pointed out by the LINKS configuration variable. So for example,
RepeaterLogic/LINKS=LinkToR4 would make it possible to connect the RepeaterLogic core to
the SimplexLogic core using a DTMF command.
Note:
At the moment only locally received audio will be transmitted to the other logic.
EchoLink audio will for example not go through. This will be fixed in a future release.
- NAME
-
The name of the link. The default action on activation/deactivation of the link is to
spell the value of this variable. In other words, a callsign is a good value.
- LOGIC1
-
The name of the first logic core that should be linked.
- LOGIC2
-
The name of the second logic core that should be linked.
- COMMAND
-
The command prefix to use to activate/deactivate this link. The full command consists of
one more digit that is either 0 or 1 where 0 means "deactivate" and 1 means "activate". If
you for example set COMMAND=94, the received DTMF command "941#" will activate the link
and "940#" will deactivate the link.
Local Receiver Section
A local receiver section is used to specify the configuration for a receiver
connected to the sound card. In the default configuration file there is a Local
configuration section called
Rx1.
The section name could be anything. It should match the RX configuration
variable in the logic core where the receiver is to be used. The available
configuration variables are described below.
- TYPE
-
Always "Local" for a local receiver.
- AUDIO_DEV
-
Specify the audio device to use. Normally /dev/dsp.
- AUDIO_CHANNEL
-
Specify the audio channel to use. SvxLink can use the left/right stereo
channels as two mono channels. Legal values are 0 or 1.
- SQL_DET
-
Specify the type of squelch detector to use. Possible values are: VOX, CTCSS,
SERIAL or SIGLEV. The VOX squelch detector determines if there is a signal
present by calculating a mean value of the sound samples. The VOX squelch
detector behaviour is adjusted with VOX_FILTER_DEPTH and VOX_LIMIT.
The CTCSS squelch detector checks for the precense of a tone with the specified
frequency. The tone frequency is specified using the CTCSS_FQ config variable.
The required level is specified using the CTCSS_THRESH config variable.
The SERIAL squelch detector use a pin in a serial port to detect if the squelch
is open. This squelch detector can be used if the receiver have an external
hardware indicator of when the squelch is open. Specify which serial port/pin to
use with SERIAL_PORT and SERIAL_PIN.
The SIGLEV (signal level) squelch detector use a simple algorithm to determine
the strength of the incoming signal. The detector must first be calibrated using
the SIGLEV_SLOPE and SIGLEV_OFFSET configuration variables. Then the
SIGLEV_OPEN_THRESH and SIGLEV_CLOSE_THRESH configuration variables can be used
to set the open and close thresholds. Since the detector is not perfect (it's
affected by speech) you will also want to setup SQL_HANGTIME to prevent it from
closing in the middle of a transmission. A value between 100-300ms is probably
what you need. If using this squelch type in cooperation with a voter, you'll
also probably need to setup SQL_DELAY to get correct signal level measurements.
A value of about 40ms seems to be OK. Note that the SIGLEV squelch will only
work with unsquelched input.
- SQL_START_DELAY
-
The squelch start delay is of most use when using VOX squelch. For example, if
the transceiver makes a noise when the transmitter is turned off, that might
trigger the VOX and cause an infinite loop of squelch open/close transmitter
on/off.
Specify the number of milliseconds that the squelch should be "deaf" after
the transmitter has been turned off.
- SQL_DELAY
-
Specify a delay in milliseconds that a squelch open indication will be delayed.
This odd feature can be of use when using a fast squelch detector in combination
with the signal level detector. A squelch delay will allow the signal level
detector to do its work before an indication of squelch open is sent to the
logic core. A delay might be needed when using the voter to choose among
multiple receivers. A normal value could be somewhere in between 20-100ms.
- SQL_HANGTIME
-
How long, in milliseconds, the squelch will stay open after the detector has indicated
that it is closed. This configuration variable will affect all squelch detector types.
- VOX_FILTER_DEPTH
-
The number of milliseconds to create the mean value over. A small value will make the vox
react quicker (<200) and larger values will make it a little bit more sluggish. A small
value is often better.
- VOX_LIMIT
-
The threshold that the mean value of the samples must exceed for the squlech to be
considered open. It's hard to say what is a good value. Something around 1000 is probably
a good value. Set it as low as possible without getting the vox to false trigger.
- CTCSS_FQ
-
If CTCSS (PL,subtone) squelch is used (SQL_DET is set to CTCSS), this config
variable sets the frequency of the tone to use. The tone frequency ranges from
67.0 to 254.1 Hz. The detector is not very exact so it will detect tones that is
near the specified tone. Only whole Hz can be specifid so the value should be in
the range 67 to 254 Hz.
- CTCSS_THRESH
-
If CTCSS (PL, subtone) squelch is used (SQL_DET is set to CTCSS), this config
variable sets the required tone level to indicate squelch open. The value is
some kind of strange signal to noise dB value. Don't try to make any sense out
of it though. Higher values will require a higher level and lower values will
cause the squelch to open easier. A normal value is -5.
- SERIAL_PORT
-
If SQL_DET is set to SERIAL, this config variable determines which serial port should be
used for hardware squelch input (COS - Carrier Operated Squelch).
Note: If the same serial port is used for the PTT, make sure you specify exactly the same
device name. Otherwise the RX and TX will not be able to share the port.
Example: SQL_PORT=/dev/ttyS0
- SERIAL_PIN
-
If SQL_DET is set to SERIAL, this config variable determines which pin in the serial port
that should be used for hardware squelch input (COS - Carrier Operated Squelch). It is
possible to use the DCD, CTS, DSR or RI pin. The squelch-open-level must also be
specified. This is done using the syntax SQL_PIN=PIN:LEVEL, where PIN is one of the pins
above and LEVEL is either SET or CLEAR.
Example: SQL_PIN=CTS:SET
- SIGLEV_SLOPE
-
The slope (or gain) of the signal level detector. See chapter CALIBRATING THE
SIGNAL LEVEL DETECTOR below for more information.
- SIGLEV_OFFSET
-
The offset of the signal level detector. See chapter CALIBRATING THE SIGNAL
LEVEL DETECTOR below for more information.
- SIGLEV_OPEN_THRESH
-
This is the squelch open threshold for the SIGLEV squelch detector. Make sure to
first calibrate the signal level detector using the SIGLEV_SLOPE and
SIGLEV_OFFSET configuration variables. The signal level detector should normally
be calibrated so that full signal strength is 100 and no signal is 0. Depending
on your background noise level a good value for this configuration variable is
between 5 and 20.
- SIGLEV_CLOSE_THRESH
-
This is the squelch close threshold for the SIGLEV squelch detector. Make sure
to first calibrate the signal level detector using the SIGLEV_SLOPE and
SIGLEV_OFFSET configuration variables. The signal level detector should normally
be calibrated so that full signal strength is 100 and no signal is 0. Depending
on your background noise level a good value for this configuration variable is
between 1 and 10.
- DEEMPHASIS
-
Apply a deemphasis filter on received audio. The deemphasis filter is used when
taking audio directly from the detector in the receiver, like when using a 9k6
packet radio connector. If not using a deemphasis filter the high frequencies
will be amplified resulting in a very bright (tinny) sound.
- SQL_TAIL_ELIM
-
Squelch tail elimination is used to remove noise from the end of a received
transmission. This is of most use when using CTCSS or SILEV squelch with
unsquelched input audio. A normal value is a couple of hundred milliseconds.
Note that the audio will be delayed by the same amount of milliseconds. This
does not matter much for a simplex link but for a repeater the delay might be
annoying since you risk hearing the end of your own transmission.
- PREAMP
-
The incoming signal will be amplified by the specified number of dB. This can be
used as a last measure if the input audio level can't be set high enough on the
analogue side. A value of 6dB will double the signal level. Note that this is a
digital amplification. Hence it will reduce the dynamic range of the signal so
usage should be avoided if possible. It's always better to correct the audio
level before sampling it.
- PEAK_METER
-
This is a help to adjust the incoming audio level. If enabled it will output a
message when distorsion occurs. To adjust the audio level, first open the
squelch. Then increase the audio level until warning messages are printed.
Decrease the audio level until no warning messages are printed. After the
adjustment has been done, the peak meter can be disabled. 0=disabled, 1=enabled.
- DTMF_DEC_TYPE
-
Specify the DTMF decoder type. Set it to
INTERNAL
to use the internal software
DTMF decoder. To use the S54S interface featuring a hardware DTMF decoder, set
it to
S54S.
- DTMF_MUTING
-
Mute the audio during the time when a DTMF digit is being received. Note that
the audio will be delayed 50ms to give the DTMF detector time to do its work.
This does not matter much on a simplex link but on a repeater it could be
annoying. Legal values are 0=disabled, 1=enabled.
- DTMF_HANGTIME
-
This configuration variable can be used if the DTMF decoder is too quick to
indicate digit idle. That does not matter at high signal strengths but for
weaker signals and mobile flutter it's not good at all. Each DTMF digit will
be detected multiple times.
Using this configuration variable, the time (ms) a tone must be missing to be
indicated as off can be extended. Setting this value too high will cause the
decoder to be a bit sluggish and it might consider two digits as one.
The hang time only affect consecutive digits of the same value (e.g. 1 1).
If a detected digit differs from the previously detected digit (e.g 1 2), the
hang time is immediately canceled and the detected digit is considered as a
new one. A good default value is 50-100ms.
- DTMF_SERIAL
-
When using an external hardware DTMF decoder this config variable is used to
specify a serial port (e.g. /dev/ttyS0).
- DTMF_MAX_FWD_TWIST
-
DTMF use two tones to encode digits 0-9, A-F. These two tones should normally
have the sample amplitude. The difference in amplitude is called twist. Forward
twist is when the higher frequency tone is lower in amplitude than the lower
frequency tone. According to the standards, 8dB forward twist should be allowed.
Some transmitters do not correctly modulate the DTMF tones to get zero twist.
The most common situation is that the forward twist is too large. Increasing
this configuration variable above 8dB might allow DTMF from these transmitters
to be detected. When doing this, the DTMF detector will be more sensitive to
noise and might cause more false triggers.
- DTMF_MAX_REV_TWIST
-
DTMF use two tones to encode digits 0-9, A-F. These two tones should normally
have the sample amplitude. The difference in amplitude is called twist. Reverse
twist is when the lower frequency tone is lower in amplitude than the higher
frequency tone. According to the standards, 4dB reverse twist should be allowed.
The most common reason for getting reverse twist is a bad de-emphasis filter or
that none at all is used, like when taking audio directly from the FM
discriminator. Have a look at the DEEMPHASIS configuration variable before
starting to modify this configuration variable.
Voter Section
Receiver type "Voter" is a "receiver" that combines multiple receivers and
selects one of them to take audio from when the squelch opens. Which receiver to
use is selected directly after squelch open. Another selection is not done until
the selected receivers squelch is closed and another receivers squelch is
opened. In the default configuration file there is a voter section called
Voter.
- TYPE
-
Always "Voter" for a voter.
- RECEIVERS
-
Specify a comma separated list of receivers that the voter should use. Example:
RECEIVERS=Rx1,Rx2,Rx3
- VOTING_DELAY
-
Specify the delay in milliseconds that the voter will wait after the first
sqeulch open detection until the decision of which receiver to use is made. This
time must be set sufficiently high to allow all receivers to calculate and
report the signal level. Incoming audio and DTMF digits will be buffered for all
receivers during the delay time so nothing will be lost. But of course the audio
will be delayed the specified amount of time. This is most noticeble when using
a repeater logic. Use the BUFFER_LENGTH configuration variable to adjust the
buffer length.
- BUFFER_LENGTH
-
Use this configuration variable to adjust the length of the voting delay buffer.
If not specified, the buffer length will be the same as the voting delay. When
using the voter with a repeater logic, try to keep this variable at 0 to reduce
the latency. Only increase it if you feel audio is lost in the beginning of
transmissions.
Networked Receiver Section
A networked receiver section is used to specify the configuration for a receiver
connected through a TCP/IP network. In the default configuration file there is a
networked receiver configuration section called
NetRx.
The section name could be anything. It should match the RX configuration
variable in the logic core where the receiver is to be used. The available
configuration variables are described below. How to use a networked receiver is
further described in the
remotetrx(1)
manual page.
- TYPE
-
Always "Net" for a networked receiver.
- HOST
-
The hostname or IP address of the remote receiver host.
Local Transmitter Section
A local transmitter section is used to specify the configuration for a local
transmitter. In the default configuration file there is a configuration section
called
Tx1.
The section name could be anything. It should match the TX configuration
variable in the logic core where the transmitter is to be used. The available
configuration variables are described below.
- TYPE
-
Always "Local" for a local transmitter.
- AUDIO_DEV
-
Specify the audio device to use. Normally /dev/dsp.
- AUDIO_CHANNEL
-
Specify the audio channel to use. SvxLink can use the left/right stereo
channels as two mono channels. Legal values are 0 or 1.
- PTT_PORT
-
Specify the serial port that the PTT is connected to. E.g. /dev/ttyS0 for COM1.
- PTT_PIN
-
Specify the pin(s) in the serial port that the PTT is connected to. It is possible to
specify one or two pins. Some interface boards require that you specify two pins since one
pin does not provide enough drive power to the circuit. A "!" in front of the pin name
indicates inverted operation. Some of the possible values are RTS, DTRRTS, !DTR!RTS or
even DTR!RTS.
- TIMEOUT
-
This is a feature that will prevent the transmitter from getting stuck transmitting.
Specify the number of seconds before the transmitter is turned off. Note that this is a
low level security mechanism that is meant to only kick in if there is a software bug in
SvxLink. Just so that the transmitter will not transmit indefinately. It is not meant to
be used to keep people from talking too long.
- TX_DELAY
-
The number of milliseconds (0-1000) to wait after the transmitter has been turned on until
audio is starting to be transmitted. This can be used to compensate for slow TX reaction
or remote stations with slow reacting squelches.
- CTCSS_FQ
-
The frequency in Hz of the CTCSS tone to transmit. It is possible to specify
fractions using "." as decimal comma (e.g. 136.5). For the tone to be
transmitted the CTCSS_LEVEL variable must also be setup and also the
TX_CTCSS variable in the logic core configuration section.
- CTCSS_LEVEL
-
The level in percent (0-100) of the CTCSS tone to transmit. What level to set is
hard to say. The FM modulation swing of the tone should be in between 500-800
Hz. That is a bit hard to measure if you don't have the right equipment. A
normal FM station have a maximum swing of 5kHz so if you manage to calibrate
everything so that you get maximum swing when the sound card audio is at peak
level, the tone level should be in between 10-16%. However, most often the audio
settings are configured a bit higher than max since the audio seldom reaches
maximum level. Then the level of the CTCSS tone should be reduced. The default
in the configuration file is 9%. For the tone to be transmitted the CTCSS_FQ
variable must also be setup and also the TX_CTCSS variable in the logic core
configuration section.
Note:
The level of the tone affects the level of the rest of the audio in SvxLink.
This is to avoid distorision when the two audio streams are mixed together. For
example, if a tone level of 9% is setup the rest of the audio will be attenuated
by 9%. This is true even if the CTCSS_FQ and TX_CTCSS configuration variables
are not set so comment this configuration variable out if CTCSS on TX is not
used.
- PREEMPHASIS
-
[EXPERIMENTAL] Enable this feature if you are modulating the FM modulator
directly, like through a 9k6 packet radio input. If no preemphasis filter is
applied to the audio, it will sound very dark when received. If you modulate the
transmitter through the microphone input the radio will apply a preemphasis
filter so this feature should be disabled. 0=disabled, 1=enabled.
- DTMF_TONE_LENGTH
-
The length, in milliseconds, of DTMF digits transmitted on this transmitter.
100ms is the default.
- DTMF_TONE_SPACING
-
The spacing, in milliseconds, between DTMF digits transmitted on this
transmitter. 50ms is the default.
- DTMF_TONE_AMP
-
The amplitude, in dB, of DTMF digits transmitted on this transmitter. Zero
dB is the maximum amplitude. -18dB is the default.
Networked Transmitter Section
A networked transmitter section is used to specify the configuration for a
transmitter connected through a TCP/IP network. In the default configuration
file there is a networked transceiver configuration section called
NetTx.
The section name could be anything. It should match the TX configuration
variable in the logic core where the transmitter is to be used. The available
configuration variables are described below. How to use a networked transmitter
is further described in the
remotetrx(1)
manual page.
- TYPE
-
Always "Net" for a networked transmitter.
- HOST
-
The hostname or IP address of the remote transmitter host.
Module Section
A module section contain the configuration for a specific module. It have some general
configuration variables and some module specific configuration variables. The general
configuration variables are listed below.
- NAME
-
The name of the module. This name must match the namespace used in the TCL event handling
script. If not set, NAME will be set to the section name.
- PLUGIN_NAME
-
The base name of the plugin. For example if this configuration variable is set to Foo, the
core will look for a plugin called ModuleFoo.so. If not set, PLUGIN_NAME will be set to
the same value as NAME.
- ID
-
Specify the module identification number. This is the number used to access the module
from the radio interface.
- TIMEOUT
-
Specify the timeout time, in seconds, after which a module will be automatically
deactivated if there has been no activity.
Module specific configuration variables are described in the man page for that module. The
documentation for the Parrot module can for example be found in the
ModuleParrot.conf(5)
manual page.
CALIBRATING THE SIGNAL LEVEL DETECTOR
The signal level detector is used when using multiple receivers or when using
the SIGLEV squelch. The signal level is used by a voter to choose the receiver
with the highest signal strength. The choice is made directly after squelch
open. For the voter to make a correct choice, the signal level detector must be
calibrated on each receiver.
There are two configuration variables that is used to calibrate the detector.
They are SIGLEV_SLOPE and SIGLEV_OFFSET in a local receiver section. The slope
is the gain of the detector and the offset is used to adjust the detector so
that when there is no input signal, the detector will return 0. The goal is to
adjust the detector so that when no signal is received, a value of 0 is produced
and when full signal strength is received, a value of 100 is produced. It will
never be exakt but that does not matter.
The calibration is normally done by using the
siglevdetcal(1)
application. To be able to do a correct calibration, it must be possible to open
the squelch so that only noise is received. The antenna cable should be
disconnected or a dummy load should be used.
WARNING:
Before starting the siglevdetcal application, pull the PTT cable since the PTT
might get triggered during the calibration procedure.
If the siglevdetcal application cannot be used for some reason, the manual
procedure below might be used. However, this procedure will only work for a
receiver with unsquelched audio.
Note:
To calibrate a remote receiver it must be connected to the SvxLink server.
Otherwise the squelch will not open.
-
- 1
-
Connect a dummy load or disconnect the antenna from the transceiver. If you
disconnect the antenna, make sure to also disconnect the PTT.
- 2
-
Set SIGLEV_SLOPE=1 and SIGLEV_OFFSET=0 and restart SvxLink.
- 3
-
Open the squelch so that there is only noise coming into SvxLink.
- 4
-
Use a second transceiver to make a short, unmodulated transmission. Release the
PTT when the "Squech OPEN" message is printed. Repeat this for about five times.
- 5
-
Calculate the mean diff (open level - close level) and the mean lower
(squelch close) value. Make sure to use at least four significant digits in your
calculations.
- 6
-
SIGLEV_SLOPE = 100 / (mean diff)
- 7
-
SIGLEV_OFFSET = - (mean lower) * SIGLEV_SLOPE
- 8
-
After changing SIGLEV_SLOPE and SIGLEV_OFFSET, restart SvxLink and check to see
that the squelch open value is now around 100 and the squelch close value is
around 0.
FILES
- /etc/svxlink.conf
-
The system wide configuration file.
- ~/.svxlink/svxlink.conf or ~/.svxlinkrc
-
Per user configuration file.
- /etc/svxlink.d/*
-
Additional configuration files. Typically one configuration file per module.
AUTHOR
Tobias Blomberg (SM0SVX) <sm0svx at users dot sourceforge dot net>
SEE ALSO
svxlink(1),
remotetrx(1),
siglevdetcal(1)
Index
- NAME
-
- DESCRIPTION
-
- FILE FORMAT
-
- CONFIGURATION VARIABLES
-
- GLOBAL
-
- Simplex Logic Section
-
- Repeater Logic Section
-
- Macros Section
-
- Logic Linking
-
- Local Receiver Section
-
- Voter Section
-
- Networked Receiver Section
-
- Local Transmitter Section
-
- Networked Transmitter Section
-
- Module Section
-
- CALIBRATING THE SIGNAL LEVEL DETECTOR
-
- FILES
-
- AUTHOR
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 08:45:07 GMT, August 03, 2008