RF Eclectica Wiki

Try to learn something about everything, and everything about something - Thomas Huxley

User Tools

Site Tools


2024 Radio Topics

Svxlink & Echolink

Revisiting the Analogue FM Voice Gateway

Trying not to re-invent the wheel

  • find saved Pi Image File for a previous Svxlink system
  • copy to a new SD Card and boot a spare Raspberry Pi with it
  • find and connect a modified CM108 sound-dongle - has PTT and SQL via the dongle's own GPIO
  • connect to 2m FM radio and test initial config
  • make any necessary config changes - e.g. MB7AZE → GM4SLV
  • set up audio levels using devcal
  • change to 9600 packet interface on 2m radio to remove radio pre/de emphasis and apply pre/de emphasis in Svxlink
  • set up audio levels again using devcal
  • Check connectivity to Echolink
    • remember to Port Forward on ADSL router : UDP 5198 & 5199 → svxlink Pi's IP address
    • consider using a private proxy on my VPS instead? Java JRE and Echolink Proxy

Pi Image File handling


  • remember to sudo killall svxlink to ensure no daemon svxlink processes are running in the background
  • remember to adjust path to valid svxlink.conf file which will be different to this old example
  • Set for 3kHz deviation
  • remember to edit the config file(s) to change the RX Pre-amp and TX Master Gain settings to match those find using Deval
sudo devcal -r -m=3000 -d=3000 /etc/svxlink/svxlink_noel.conf Rx1
sudo devcal -t -m=3000 -d=3000 /etc/svxlink/svxlink_noel.conf Tx1
  • add the PRE_AMP and MASTER_GAIN settings to both svxlink_el.conf and svxlink_noel.conf

Config Files

  • One for Echolink Enabled
  • One for Echolink Disabled
  • Switch Echolink on/off via DTMF commands
    • Edit Logic.tcl to give this functionality





start with echolink : svx_el.sh

start without echolink : svx_noel.sh

crontab entry to start with echolink enabled at boot time

Catch up with git version

  • The version of svxlink running on this Pi was self-compiled from the GIT repository
  • I decided to pull & compile the latest version so I simply followed the instructions I'd put on the above wiki page and all went smoothly (if slowly)

DTMF Commands

*#System Status
0# Help Module
1# Parrot Module
2# Echolink Module
# De-activate module
<node number>#Connect to <node number>
0# Play the help message
1# List all connected stations
2# Play local EchoLink node id
31# Connect to a random link or repeater
32# Connect to a random conference
4#Reconnect to the last disconnected station
50# Deactivate listen only mode
51# Activate listen only mode
6*# Use the connect by callsign feature
#If connected = Disconnect, otherwise = Deactivate Echolink module



D1#Echolink 9999 Echotest
D2#Echolink 973498 M0HOY-L Hubnet
D3#Echolink 662666 M0JKT-L FreeStar

Sound files

  • use en_US when echolink is enabled
    • this is also needed for reflector when it's re-enabled, as the US files also have the additional reflector sound samples
  • use en_GB when echolink is disable
  • easy to tell from status *# which is active!


  • after consideration….
  • I decided to use my VPS-hosted echolink proxy
    • remove port forwards on home router for UDP/5198 & UDP/5199
    • open port TPC/8100 for only my home IP address on VPS
      • this means only one IP address can reach the Proxy on port TCP/8100
    • open ports UDP/5198 & UDP/5199 for anywhere on VPS
    • edit echolink proxy config on VPS to allow only GM4SLV-L to connect
      • this means only one callsign can connect to the proxy
    • start proxy in a tmux session, using bash script on VPS
    • edit ModuleEchoLink.conf on svxlink pi to use the proxy
    • restart svx_el.sh

John Pumford-Green 06/04/24 07:09

LAST MODIFIED : 06/04/24 10:53 BST

Further Information

public/radio/2024/svxlink.txt · Last modified: 06/04/24 10:53 BST by john