SVXLINK(1)

okay bestie, grab a snack because we're diving into the SvxLink server man page β€” it lives in the User Manuals section of the manual pages, and it's genuinely iconic.


✨ NAME ✨

svxlink β€” a general purpose voice services system for ham radio use πŸŽ™οΈπŸ“»


🌸 SYNOPSIS 🌸

svxlink [--help] [--daemon] [--quiet] [--reset] [--version]
[--logfile=log file] [--config=configuration file] [--pidfile=pid file]
[--runasuser=user name]

πŸ¦‹ DESCRIPTION πŸ¦‹

So svxlink is a general purpose voice service system for ham radio use. The SvxLink project has multiple applications in it (it's giving whole ecosystem πŸ’…), and this man page is describing the SvxLink server specifically. Periodt.


πŸ‘‘ OPTIONS πŸ‘‘

  • --help β€” prints a help message and then exits. baby's first flag, we love her 🫢
  • --daemon β€” starts the SvxLink server as a daemon.
  • --runasuser=username β€” starts the SvxLink server as the specified user. Heads up: the switch to the new user happens after the log and pid files have been opened. iykyk.
  • --logfile=log file β€” specifies a log file to put all output into. Both stdout and stderr get redirected to the log file. everything goes in the box πŸ“¦
  • --pidfile=pid file β€” specifies a pid file to write the process ID into.
  • --config=configuration file β€” specifies which configuration file to use.
  • --reset β€” does a normal application startup, initializing everything, but exits immediately when the initialization is done. like showing up to the party, saying hi to everyone, and leaving 😭
  • --quiet β€” doesn't output any info messages, just warnings and errors. minimal queen behavior.
  • --version β€” prints the application version then exits.

🌈 REFLECTOR SERVER CONNECTION 🌈

The SvxReflector server is an application that provides a hub for multiple SvxLink nodes to connect to, so they can do audio streaming between the nodes. it's the group chat of ham radio fr fr.

The SvxReflector system features separation of audio streams in talkgroups, so that multiple QSOs can be routed through the reflector server without interfering with each other. no talking over each other bestie, we're not animals πŸ’…

Authentication to the reflector server is done using X.509 certificates. It's a complex technology, but most of the details are hidden from a SvxLink node sysop. However, the node sysop does need to know a few things for smooth operations of the node. so pay attention, this part is highkey important.

When a SvxLink node connects to the reflector server for the first time, it will request a signed certificate. Signing a certificate is a manual process on the SvxReflector side, so it may take a while for the reflector sysop to actually perform the signing. The node will not be able to connect to the reflector until the certificate has been signed β€” but it will retry continuously, it's persistent like that 🫑. When the reflector sysop has signed the certificate, it will be sent to the node the next time it connects. After that, the node is granted access to the reflector. slay.

A certificate has a limited lifetime. In SvxLink that is fixed to three months. When there is one third left of the lifetime, a new certificate will be signed automatically by the reflector server. No manual interaction is needed by the node sysop nor the reflector sysop β€” it just handles itself, main character energy ✨. However, if the certificate passes its end of life, a new manual signing process is needed. so don't let it expire bestie 😭

During the certificate creation process there are a number of important files generated. Ensure that you back up these files. For example, you will at least need to restore the key-file after reinstalling the node OS. See FILES below for more information about these files.

🚨 okay real talk for a sec: back up your cert files. future you will be SO grateful, no cap.

πŸŽ€ FILES πŸŽ€

  • /etc/svxlink/svxlink.conf (or deprecated /etc/svxlink.conf) β€” the system wide configuration file. See svxlink.conf(5) for further details.
  • ~/.svxlink/svxlink.conf β€” per user configuration file. See svxlink.conf(5) for further details.
  • /etc/svxlink/svxlink.d/* β€” additional configuration files. Typically one configuration file per module.
  • /var/lib/svxlink/pki/MYCALL.key β€” key file used for authenticating to a SvxReflector server. Make sure that you don't lose this file, since you then will not be able to log in to the reflector server. This file must also be kept secret, since anyone possessing it can log in to the reflector server in the name of the key owner. πŸ” literally guard this with your life.
  • /var/lib/svxlink/pki/MYCALL.csr β€” file containing the certificate signing request for the SvxReflector authentication certificate. This file is auto generated if missing, and updated if SvxLink certificate configuration has changed. It can be used to sign a certificate "out-of-band" if the reflector server owner has such a procedure. Otherwise it's just used internally by SvxLink.
  • /var/lib/svxlink/pki/MYCALL.crt β€” file containing the certificate used to authenticate to the SvxReflector server. It's good to back this file up as well, but if it's lost, the reflector server _may_ be able to send it to the SvxLink node upon connect. (emphasis on may, bestie, don't test fate πŸ™ˆ)

🧚 ENVIRONMENT 🧚

  • ASYNC_AUDIO_NOTRIGGER β€” set this environment variable to 1 if you get an error about ioctl: Broken pipe during startup of the SvxLink server when using OSS audio.
  • ASYNC_AUDIO_ALSA_ZEROFILL β€” set this environment variable to 0 to stop the Alsa audio code from writing zeros to the audio device when there is no audio to write available.
  • ASYNC_AUDIO_UDP_ZEROFILL β€” set this environment variable to 1 to enable the UDP audio code to write zeros to the UDP connection when there is no audio to write available.
  • HOME β€” used to find the per user configuration file.

πŸ’œ AUTHOR πŸ’œ

Tobias Blomberg (SM0SVX) <sm0svx at svxlink dot org> β€” legend behavior, honestly πŸ‘‘


πŸ“ REPORTING BUGS πŸ“

Bugs should be reported using the issue tracker at https://github.com/sm0svx/svxlink.

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 that again bestie: bugs go to the tracker, questions go to groups.io. two different doors, don't mix them up.

⭐ SEE ALSO ⭐

svxlink.conf(5), remotetrx(1)


and that's the whole page, you're officially educated πŸ’– this was the SVXLINK(1) page from the User Manuals, dated MAY 2025, on Linux. go forth and run your node, you absolute icon πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from