REMOTETRX.CONF(5)

πŸ“¦
version 26.05.1 Β· 2 versions
, in alpine 3.24, debian trixie, fedora 43, fedora 44, ubuntu questing, ubuntu resolute, ubuntu stonking

okay so this is REMOTETRX.CONF(5), and it lives in the File Formats corner of the manual πŸ’– buckle up bestie, we're reading a config file spec together 🫢


🌸 NAME 🌸

remotetrx.conf β€” the configuration file for the SvxLink remote transceiver server ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

So remotetrx is the SvxLink remote transceiver server, and this man page is literally just here to explain the configuration file format for it. That's the whole job. Iconic of it honestly πŸ’…

The RemoteTrx application can handle more than one transceiver at a time. Like, say you've got a site and you want to run both a 2m receiver and a 70cm receiver. One sound card is genuinely enough for this β€” the left channel can be used for one receiver and the right channel can be used for the other receiver. Slay, stereo. πŸŽ€

The GLOBAL/TRXS configuration variable is what tells the RemoteTrx application which transceivers to set up. Each transceiver has an uplink that's used to interface to the main SvxLink server. The most common type is the net uplink, which links to the main SvxLink server over the Internet using TCP/IP. It is also possible to have an uplink via RF, but ngl the functionality is then limited. πŸ™ˆ

okay quick vibe check on the word "uplink" β€” it might be a bit confusing for some people. In this case it does not refer to any specific direction in which the data or audio is flowing. It's just the name for the link up to the main SvxLink server. Periodt. πŸ’œ

RemoteTrx looks for configuration files in a number of places. First it tries to find a user specific configuration file. It will look for a user specific configuration file in two places: $HOME/.svxlink/remotetrx.conf. If no user specific configuration file can be found, remotetrx will look for the system wide configuration file /etc/svxlink/remotetrx.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 contains 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 has the value 1 and VALUE1 in section SECTION2 has 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 πŸ’…

Okay bestie, this is the big one. Every single configuration variable remotetrx understands, described section by section, no skips, no shortcuts. Buckle in. πŸŽ€


🌍 GLOBAL 🌍

The GLOBAL section holds the application-global configuration data. Like, the stuff that applies to everything. ✨

  • TRXS β€” this one is a comma separated list of transceiver configuration sections. Yes, comma separated. Don't @ me.
  • CFG_DIR β€” point this at a directory that contains additional configuration files. If you give a relative path, it'll be resolved relative to the directory where the main configuration file lives. Every file in that directory gets read as additional configuration. Filenames starting with a dot are ignored, so your .hidden files are safe, periodt. πŸ™ˆ
  • TIMESTAMP_FORMAT β€” sets the format of the timestamp that gets written in front of each row in the log file. The format string is 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 looks. For example, setting LC_TIME="sv_SE.UTF8" will give you a 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". Iconic, honestly. πŸ•°οΈ

  • CARD_SAMPLE_RATE β€” this determines the sampling rate used for audio input/output. SvxLink always works with a sampling rate of 16kHz internally, but there are still some benefits to using a higher sampling rate. On some sound cards the filters look pretty bad at 16kHz 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 16kHz 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. Old laptop girlies, beware.

Supported sampling rates are: 16000 and 48000.

  • CARD_CHANNELS β€” use this to specify how many channels to use when opening a sound card. For normal sound cards the only practical values to use are 1 for mono and 2 for stereo. The latter is the default. 🎧

When using the sound card in stereo mode it is possible to use the left and right channels independenly to drive two transceivers. When using the sound card in mono mode, both left and right channels transmit/receive the same audio. Two transceivers, one sound card β€” it's giving efficiency. ✨


The network uplink transceiver section is used to specify the configuration for a network link to the main SvxLink server. In the default configuration file there is a network uplink transceiver section called NetUpLinkTrx. πŸ¦‹

  • TYPE β€” Always "Net" for a network uplink transceiver configuration section. No negotiating.
  • RX β€” Point out the receiver configuration section to use. Set to NONE if no RX is used. A receiver is configured in the exact same way as in the SvxLink server. Have a look at svxlink.conf(5) for more information on how to configure a receiver. πŸ‘‘
  • TX β€” Point out the transmitter configuration section to use. Set to NONE if no TX is used. A transmitter is configured in the exact same way as in the SvxLink server. Have a look at svxlink.conf(5) for more information on how to configure a transmitter.
  • LISTEN_PORT β€” The TCP port to listen on. Make sure to choose a unique port for each network uplink transceiver configuration. The default is 5210. Don't be out here reusing ports, that's not the vibe.
  • AUTH_KEY β€” This is the authentication key (password) to use to athenticate incoming connections. The same key have to be specified in the client configuration. If no key is specified, all logins will be unauthenticated. A good authentication key should be 20 characters long. The key will never be transmitted over the network. A HMAC-SHA1 challenge-response procedure will be used for authentication. Secure and cute, we love to see it. πŸ”₯
  • MUTE_TX_ON_RX β€” If set to a value >= 0, will stop the transmitter from transmitting when the squelch is open. The value represents a delay, in milliseconds, after the squelch has closed, that the transmitter will be muted. For example, if set to 1000, the transmitter will be muted one second after the squelch has closed. The default is not to mute the transmitter when the squelch is open. 🀫
  • FALLBACK_REPEATER β€” This function is useful if running RemoteTrx as both RX and TX for a repeater. If the connection to the SvxLink base station is lost due to network errors, the RemoteTrx provides a very basic repeater function (SQLELCH controlled) until the the connection has been established again. Set to 1 to enable this function or set to 0 to disable it. Default is 0. Backup plan energy. πŸ’œ
  • TX_JITTER_BUFFER_DELAY β€” A jitter buffer is used to prevent gaps in the audio when the network connection do not provide a steady flow of data. If you experience choppy TX audio, set this configuration variable to the number of milliseconds to buffer before starting to transmit. Default: 0. Choppy audio is so not the moment. πŸŽ€

The RF uplink transceiver configuration section is used to specify the configuration for an RF link to the main SvxLink server. It can for example be used to link remote receivers coming in on the Internet to a site that do not have access to the Internet. In the default configuration file there is an RF uplink transceiver section called RfUpLinkTrx. The section name could be anything. It should match what is specified in the TRXS configuration variable in the GLOBAL section. 🌈

  • TYPE β€” Always "RF" for an RF uplink transceiver configuration section.
  • RX β€” Point out the receiver configuration section to use. Set to NONE if no RX is used. A receiver is configured in the exact same way as in the SvxLink server. Have a look at svxlink.conf(5) for more information on how to configure a receiver.
  • TX β€” Point out the transmitter configuration section to use. Set to NONE if no TX is used. A transmitter is configured in the exact same way as in the SvxLink server. Have a look at svxlink.conf(5) for more information on how to configure a transmitter.
  • UPLINK_TX β€” Point out the uplink transmitter configuration section to use. The configuration for an uplink transmitter looks exactly the same as for any other transmitter. In the default configuration file there is an uplink transmitter configuration section called UplinkTx. If there is no uplink transmitter, specify NONE. ✨
  • UPLINK_RX β€” Point out the uplink receiver configuration section to use. The configuration for an uplink receiver looks exactly the same as for any other receiver. In the default configuration file there is an uplink receiver configuration section called UplinkRx. If there is no uplink receiver, specify NONE.
  • MUTE_UPLINK_RX_ON_TX β€” Specify if the link receiver should be muted or not when the link transmitter is transmitting. Set it to 0 if a full duplex link is desired. Default is 1.
  • LOOP_RX_TO_TX β€” Set to 1 to loop incoming RX audio (not link RX) directly to the TX (not link TX). You figure out when to use it. Default is 0. Main character energy: you'll know when you know. iykyk πŸ’…
  • DETECT_1750 β€” Set up the receiver(s) specified in the RX configuration variable to detect a 1750Hz tone burst. The detection will be relayed on the uplink transmitter if the setup have the capability to do so. Set this configuration variable to the number of milliseconds that the 1750Hz tone must be present before reporting it. Detection is disabled by default. πŸ””
  • DETECT_CTCSS β€” Set up the receiver(s) specified in the RX configuration variable to detect the given CTCSS tone(s). The detection will be relayed on the uplink transmitter if the setup have the capability to do so. Set this configuration variable to a space separated list of tone_fq:tone_duration pairs, where tone_fq is the CTCSS tone frequency and tone_duration is the number of milliseconds that the CTCSS tone must be present before reporting it. 🎚️

πŸ“‚ FILES πŸ“‚

  • /etc/svxlink/remotetrx.conf (or deprecated /etc/remotetrx.conf) β€” The system wide configuration file. 🫢
  • ~/.svxlink/remotetrx.conf β€” Per user configuration file. 🌸
  • /etc/svxlink/remotetrx.d/* β€” Additional configuration files. πŸ’–

πŸ‘‘ AUTHOR πŸ‘‘

Tobias Blomberg (SM0SVX) <sm0svx at svxlink dot org>


πŸ› REPORTING BUGS πŸ›

Bugs should be reported using the issue tracker at https://github.com/sm0svx/svxlink. Not me being the bug reporter, obviously, but like. Just so you know.

Questions about SvxLink should not be asked using the issue tracker. Instead use the group set up for this purpose at groups.io: https://groups.io/g/svxlink

Read the room, bestie β€” bugs in the tracker, questions in the group. That's the rules. 😭


πŸ” SEE ALSO πŸ”

svxlink(1), svxlink.conf(1), remotetrx(1), siglevdetcal(1)


And that's a wrap on this Linux page from APRIL 2021, filed under REMOTETRX.CONF(5) β€” go configure something iconic, you've got this. πŸ’œβœ¨