How to use DigiRig Lite with SVX Link (echolink)

Installing SVXLink on Raspberry Pi

The following are instructions needed to get SVXLink up and running on a raspberry pi with connections being run through the DigiRig Lite. I hope that these instructions will help someone create their own EchoLink connection to their local repeater as this does for me.

My Setup:

[Yaesu FT-70D] - Link Removed
DigiRig Lite
Yaesu HT Audio/PTT Cable
Raspberry Pi 3 Model B+ - I think that newer would work however I did have some issues with the DigiRig Lite not showing up every time I booted on modle 4 for some reason, not sure if I need to troubleshoot this with someone.
Raspberry Pi 3 Power Supply - 2.5A (Micro USB)
Raspberry Pi 3 Case
[ SanDisk 64GB High Endurance Video MicroSDXC] - Link Removed

Operating System

Raspberry Pi OS Lite - 64bit

Install Needed Packages

Make sure that the following packages are up to date and install needed packages

sudo apt update
sudo apt install g++ cmake make libsigc++-2.0-dev libgsm1-dev libpopt-dev tcl-dev libgcrypt20-dev libspeex-dev libasound2-dev libopus-dev librtlsdr-dev doxygen groff alsa-utils vorbis-tools curl libcurl4-openssl-dev git rtl-sdr libcurl4-openssl-dev cmake libjsoncpp-dev libgpiod-dev libssl-dev ladspa-sdk vim screen

Disable Raspberry Pi Audio

Edit /boot/firmware/config.txt

Add # in front of line reading dtparam=audio=on

Update “dtoverlay=vc4-kms-v3d” to “dtoverlay=vc4-kms-v3d,noaudio” to disable HDMI audio.

Create svxlink user and add to groups

sudo useradd -rG audio,plugdev,gpio,dialout svxlink

Check which groups the user is in

sudo groups svxlink

Add User to each group by hand.

sudo groupmod -a -U svxlink audio
sudo groupmod -a -U svxlink plugdev
sudo groupmod -a -U svxlink gpio
sudo groupmod -a -U svxlink dialoeut

Download the software from Github and compile

Clone the repo and change directory

git clone http://github.com/sm0svx/svxlink.git
mkdir svxlink/src/build
cd svxlink/src/build

Build the installer

cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DWITH_SYSTEMD=ON ..

Finish the install (Usually about 10-15 minutes for install)

make -j4
make doc
sudo make install
sudo ldconfig

Install English Sounds:

cd /usr/share/svxlink/sounds/
sudo curl -LO https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/24.02/svxlink-sounds-en_US-heather-16k-24.02.tar.bz2
sudo tar xvjf svxlink-sounds-en_US-heather-16k-24.02.tar.bz2
sudo ln -s en_US-heather-16k en_US

Removing the sounds that could cause some annoyance for those who are on the repeater.

mv /usr/share/svxlink/sounds/en_US/EchoLink/greeting.wav /usr/share/svxlink/sounds/en_US/EchoLink/greeting.wav.bak

Configure DigiRig

We want to configure DigiRig to show up as /dev/hidraw0 and have correct permission 666 so that the server as the raspberry pi starts up and gets ready to run the service the hidraw device is in the correct state.

Create a file in /etc/udev/rules.d I made mine 98-digirig.rules

SUBSYSTEM=="hidraw", ATTRS{manufacturer}=="C-Media Electronics Inc.", ATTRS{product}=="USB Audio Device", ACTION=="add", RUN+="/bin/chmod 777 /dev/$name"

Configure SVXLink

Edit sudo nano /etc/svxlink/svxlink.conf

Update [SimplexLogic]

Update MODULES standard configuration

MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink,ModuleTclVoiceMail

I use the following configuration as I’m not planning to use Module Parot or ModuleTclVoiceMail

MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink

Update CALLSIGN with your callsign

Update [RepeaterLogic]

Update CALLSIGN with your callsign

Update [ReflectorLogic]

Update CALLSIGN with your callsign

Update [NetRx]

Update AUTH_KEY to any other value

Update [NetTx]

Update AUTH_KEY to any other value

Update [RX1]

set SQL_DET=CTCSS
set CTCSS_FQ to your local repeater CTCSS_FQ mine is 123
uncomment “HID_DEVICE” and set to “HID_DEVICE=/dev/hidraw0”
uncomment “HID_PTT_PIN” and set to “HID_PTT_PIN=GPIO3”

Update [Tx1]

set PTT_TYPE to PTT_TYPE=Hidraw
set HID_PTT_PIN=GPIO3
set PTT_HANGTIME=200

ModuleEchoLink.conf

Edit sudo nano /etc/svxlink/svxlink.d/ModuleEchoLink.conf

Update CALLSIGN with your callsign
Update PASSWORD with your password

Depending on your expected configuration you may want to update the following in order to be able to connect else you may need to update your router to forward the appropriate ports.

PROXY_SERVER
PROXY_PORT
PROXY_PASSWORD

Default Value:

PROXY_SERVER=the.proxy.server
PROXY_PORT=8100
PROXY_PASSWORD=PUBLIC

Setup Service start with a delay

cat <<EOF | sudo tee /etc/systemd/system/svxlink.timer
[Unit]
Description=Timer for the svxlink service

[Timer]
OnBootSec=3min

[Install]
WantedBy=timers.target
EOF

Run the following to get the service in the timer schedule

sudo systemctl enable svxlink.timer

Reload the systemmd configuration

sudo systemctl daemon-reload

If you would like to check on the timer as it gets ready to start

sudo systemctl list-timers

After Reboot

Monitor logfile

tail -f /var/log/svxlink

Check to see if you’re online

https://echolink.org/logins.jsp
sudo mkdir /home/svxlink
sudo mkdir /home/svxlink/.config
sudo mkdir /home/svxlink/.config/pulse
chown -R svxlink:svxlink svxlink
2 Likes

Just a quick note that it may be necessary to run alsamixer to adjust audio settings and unmute microphone to get the correct audio levels.