SVXLink: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
https://github.com/sm0svx/svxlink
https://github.com/sm0svx/svxlink


SvxLink is a project that develops software targeting the ham radio community. It started out as an EchoLink application for Linux back in 2003 but has now evolved to be something much more advanced.
SvxLink is a project that develops software for the ham radio community. It started out as an EchoLink application for Linux back in 2003 but has now evolved to be something much more advanced.


See also RTLSDR https://www.rtl-sdr.com/svxlink-now-supports-the-rtl-sdr/
See also RTLSDR https://www.rtl-sdr.com/svxlink-now-supports-the-rtl-sdr/
Line 7: Line 7:
== Set up on Bookworm on a Pi 5 ==
== Set up on Bookworm on a Pi 5 ==


Install the software
=== Install from source ===
Install git and the pre-requisites, this works for a virtual machine on my laptop,


<pre>
git clone  <nowiki>https://github.com/sm0svx/svxlink.git</nowiki
sudo apt install build-essential cmake libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl-dev libgcrypt-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev alsa-utils vorbis-tools curl libjsoncpp-dev  libcurl4-openssl-dev libssl-dev
addgroup svxlink
useradd -r svxlink
addgroup svxlink daemon
cd svxlink/src
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_QT=no -S='..'
make -j 4
sudo make install
sudo ldconfig
</pre>
=== Install from packages ===
  sudo apt-get install svxlink-server remotetrx svxlink-calibration-tools svxlink-gpio
  sudo apt-get install svxlink-server remotetrx svxlink-calibration-tools svxlink-gpio


Line 21: Line 39:
and be on wireguard for this.
and be on wireguard for this.


=== Wireguard ===
=== Set up the Wireguard tunnel ===


  sudo apt install wireguard
  sudo apt install wireguard
Line 29: Line 47:
  sudo systemctl enable [email protected]
  sudo systemctl enable [email protected]
  sudo systemctl start [email protected]
  sudo systemctl start [email protected]
=== Sound ===
See http://np2wj.com/echolink-node-on-raspberry-pi-using-svxlink-part-1/
==== Sound card ====
Using the built-in sound would be too easy so we use a USB sound card. Also it's a Pi 5 so no mini stereo jack anyway.
I plugged in the card and rebooted and it was found as card 0 so I think I don't have to edit the alsa.conf file in /usr/share/alsa/.
<pre>
$ arecord -l # find the card, should be 0
**** List of CAPTURE Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
</pre>
==== Sounds ====
Not much point in having a sound card and no sounds, first let's install Heather's voice files.
<pre>
cd /usr/local/share/svxlink/sounds/
sudo wget https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/19.09/svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
sudo tar xvjf svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
sudo ln -s en_US-heather-16k en_US
sudo rm svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
</pre>
=== Echolink ===
You are a licensed ham, so go to the echolink web site and sign up for an account.
Edit the file /etc/svxlink/svxlink.d/ModuleEchoLink.conf to set up your account including
call sign and password.
=== No radio set up ===
I set up for testing with no radio attached. I can still set up sound and network and echolink connections.
You can look at the svxlink.conf formatting here: https://www.svxlink.org/doc/man/man5/svxlink.conf.5.html
I tell it that we're a repeater, otherwise it will never play sound files for ID.
For receive section Rx1 I have to tell it not to care about GPIO lines.
SQL_DET=VOX
For transmit section Tx1 I need to tell it not to use any PTT, and to just open squelch on the non-existent radio.
== TCL ==
Not fond of using this dead language but most of svxlink is written in it so I have no choice.
==== Events ====
The announcements are handled by the events subsystem.
In the main config file it is loaded by EVENT_HANDLER=/usr/local/share/svxlink/events.tcl.
As far as I can tell, an "event" is just a time?
==== ID announcements ====
The file to look at is Logic.tcl in /usr/local/share/svxlink/events.d/


== SVXPortal ==
== SVXPortal ==

Latest revision as of 17:46, 7 January 2025

https://github.com/sm0svx/svxlink

SvxLink is a project that develops software for the ham radio community. It started out as an EchoLink application for Linux back in 2003 but has now evolved to be something much more advanced.

See also RTLSDR https://www.rtl-sdr.com/svxlink-now-supports-the-rtl-sdr/

Set up on Bookworm on a Pi 5

Install from source

Install git and the pre-requisites, this works for a virtual machine on my laptop,

git clone  <nowiki>https://github.com/sm0svx/svxlink.git</nowiki
sudo apt install build-essential cmake libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl-dev libgcrypt-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev alsa-utils vorbis-tools curl libjsoncpp-dev  libcurl4-openssl-dev libssl-dev
addgroup svxlink
useradd -r svxlink
addgroup svxlink daemon
cd svxlink/src
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_QT=no -S='..'
make -j 4
sudo make install
sudo ldconfig

Install from packages

sudo apt-get install svxlink-server remotetrx svxlink-calibration-tools svxlink-gpio

Just installing will start up remotetrx, whether I need it or not. :-)

Starting svxlink requires a configuration in /etc/svxlink/, you have to set a few things in svxlink.conf. Call sign. W6GKD/L Enable echolink. US sound files are installed by default.

I wonder if I can get it to connect with TARRA reflector, I guess it has to identify as wickiup and be on wireguard for this.

Set up the Wireguard tunnel

sudo apt install wireguard

Copy and paste from TARRA to /etc/wireguard/wg0.conf

sudo systemctl enable [email protected]
sudo systemctl start [email protected]

Sound

See http://np2wj.com/echolink-node-on-raspberry-pi-using-svxlink-part-1/

Sound card

Using the built-in sound would be too easy so we use a USB sound card. Also it's a Pi 5 so no mini stereo jack anyway. I plugged in the card and rebooted and it was found as card 0 so I think I don't have to edit the alsa.conf file in /usr/share/alsa/.

$ arecord -l # find the card, should be 0
**** List of CAPTURE Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Sounds

Not much point in having a sound card and no sounds, first let's install Heather's voice files.

cd /usr/local/share/svxlink/sounds/ 
sudo wget https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/19.09/svxlink-sounds-en_US-heather-16k-19.09.tar.bz2 
sudo tar xvjf svxlink-sounds-en_US-heather-16k-19.09.tar.bz2 
sudo ln -s en_US-heather-16k en_US
sudo rm svxlink-sounds-en_US-heather-16k-19.09.tar.bz2

Echolink

You are a licensed ham, so go to the echolink web site and sign up for an account. Edit the file /etc/svxlink/svxlink.d/ModuleEchoLink.conf to set up your account including call sign and password.

No radio set up

I set up for testing with no radio attached. I can still set up sound and network and echolink connections.

You can look at the svxlink.conf formatting here: https://www.svxlink.org/doc/man/man5/svxlink.conf.5.html

I tell it that we're a repeater, otherwise it will never play sound files for ID. For receive section Rx1 I have to tell it not to care about GPIO lines.

SQL_DET=VOX

For transmit section Tx1 I need to tell it not to use any PTT, and to just open squelch on the non-existent radio.

TCL

Not fond of using this dead language but most of svxlink is written in it so I have no choice.

Events

The announcements are handled by the events subsystem. In the main config file it is loaded by EVENT_HANDLER=/usr/local/share/svxlink/events.tcl.

As far as I can tell, an "event" is just a time?

ID announcements

The file to look at is Logic.tcl in /usr/local/share/svxlink/events.d/

SVXPortal

There's a web interface called "svxportal" that I am going to set up on Bellman following some instructions here: https://sk7rfl.se/doc/SvxPortal2.5.pdf