SVXLink: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
 
(6 intermediate revisions by the same user not shown)
Line 8: Line 8:


=== Install from source ===
=== Install from source ===
Install git and the pre-requisites which currently means libgcrypt popt gsm libsigc++2 libasound speex opus
Install git and the pre-requisites, this works for a virtual machine on my laptop,


<pre>
<pre>
git clone  <nowiki>https://github.com/sm0svx/svxlink.git</nowiki>
git clone  <nowiki>https://github.com/sm0svx/svxlink.git</nowiki
sudo apt install git libgcrypt20 libpopt0 libgsm1 libsigc++-2.0-dev libasound2 libspeex1 libopus0
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
useradd -r -g daemon svxlink
addgroup svxlink
cd svxlink
useradd -r svxlink
addgroup svxlink daemon
cd svxlink/src
mkdir build
mkdir build
cd build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_QT=no -S='..'
-DLOCAL_STATE_DIR=/var ..
make -j 4
make
make doc
sudo make install
sudo make install
sudo ldconfig
sudo ldconfig
</pre>
</pre>


Line 78: Line 79:
Not much point in having a sound card and no sounds, first let's install Heather's voice files.
Not much point in having a sound card and no sounds, first let's install Heather's voice files.
<pre>
<pre>
cd /usr/share/svxlink/sounds/  
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 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 tar xvjf svxlink-sounds-en_US-heather-16k-19.09.tar.bz2  
sudo ln -s en_US-heather-16k en_US  
sudo ln -s en_US-heather-16k en_US
sudo rm svxlink-sounds-en_US-heather-16k-19.09.tar.bz2
</pre>
</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 ====


=== Echolink ===
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?


I have not completed this set up yet. I should be able to run it over the Wireguard connection so keeping the Pi on DHCP should be fine since all external traffic can go through the tunnel.
==== 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