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