e.g. Tetra, ASL3 (Allstarlink), DVSwitch
The integrability of SvxLink is inevitable, being such an enviable system with its talkgroup capability and management.
Adrian (Adi) DL1HRC is foremost of the introducers of one of SvxLink’s extra components, the UsrpLogic module, and the TetraLogic. These component parts are essential for connection from one system to another, using UDP ports within the operating systems in play.
Because they are not in the main SvxLink package as authored by Tobias SM0SVX, they become a little more difficult to introduce to a working environment, although not beyond the capability of most users of svxlink. However they should be used with due diligence, as without proper set-up, there are risks to cause interference bi-directionally on the connected systems.
What is meant by connected systems?
At this present time Svxlink is capable of connection to DVSwitch, All-Star and Tetra networks.
Allstarlink/SvxLink nodes are currently used in the UK Svxlink Network, to offer fixed talkgroups to the following networks. Freedom Net, The Boredom Network, The EastCoast Reflector, The Rochester-NewYork community, HamRadio2.0, North West Allstar Group, Anglo Scottish, OnLine Amateur Radio Community. This later group is also bridged to DMR on BrandMeister Talkgroup 2348479. There are other bridges too, including the DVSPh multimodal group, and to other talkgroup assets. But in all cases the use of the UsrpLogic module is key.
What is important, is that unless there is an open invitation to connect or bridge to another node type, or digital network, then you must seek permission. There will be a requirement to adhere to preconditions. Careful consideration had been given to all the current connections to the UK SvxReflectors. Several have been tried and rejected due to repetetive kerchunks, poor operating procedures or breaches of amateur radio regulations.
At this time, I am working to provide a pre-complied version of SvxLink-Usrp, but there is still some developmental changes that make it a little unpredictable at the moment, but it looks possible that I will be able to provide a .deb package, that makes the installation process very simple. Otherwise the compilation route is a little more fraught.
Because the changes are fluid, you will need to get in touch with me to see the current state of development, so that I can help you directly. However for the moment the packages for svxlink-usrp and TetraLogic are available by following exactly the directions below.
Also if you are looking at adding a particular mode to work alongside svxlink, you will have to be conversant with bash scripting for most of your project, as there is no way of using an image of one or the other that will work effectively, unless it has been completely prepared.
I have experience with the three components above when used with svxlink, so I know the pitfalls, but there are no short cuts.
** Instructions **
Prepare your environment using Debian 12 (Bookworm) as for the moment I am unsure of the predictability of Debian 13 (Trixie). The environment could be a Raspberry Pi or a Virtual Machine running Debian 12. Many of the bridging environments in the UK SvxReflectors are virtual machines running Debian 12 in ProxMox also on Debian 12.
Once prepared, enter the terminal of your environment, preferably as a user. Using root for any application is inadvisable for any reason.
This prepares the installation of the .deb package to follow.
sudo update && sudo upgrade -y so the OS is fresh.sudo useradd -rG audio,plugdev,gpio,dialout svxlinkIf you anticipate the use of web sockets in the future then install nodejs and npm.
cd /tmp/sudo wget https://github.com/f5vmr/svxlink-usrp/releases/download/25.5.5/svxlink-25.5-Linux.deb && sudo apt install /tmp/svxlink-25.5-Linux.debThis will install svxlink with UsrpLogic and all the necessary dependencies that SvxLink requires.
Below is an example DVSwitch configuration for the svxlink.conf file. Only the most important parameters and configuration sections are given. I am not providing the method for installing dvswitch, other than to say it is relativity simple and directions are readily available at dvswitch.org.
[GLOBAL]
LOGICS=RepeaterLogic,ReflectorLogic,UsrpLogic LINKS=UsrpLink
[RepeaterLogic]
TYPE=Repeater
RX=Rx1 TX=Tx1 MODULES=ModuleParrot,ModuleTclVoiceMail,ModulePropagationMonitor,ModuleMetarInfo
CALLSIGN=DB0ABC
SHORT_IDENT_INTERVAL=30
LONG_IDENT_INTERVAL=60
EVENT_HANDLER=/usr/share/svxlink/events.tcl
DEFAULT_LANG=de_DE
RGR_SOUND_DELAY=200
TX_CTCSS=SQL_OPEN,ANNOUNCEMENT
FX_GAIN_NORMAL=0
FX_GAIN_LOW=-12
#NO_REPEAT=1
IDLE_TIMEOUT=6
OPEN_ON_DTMF=*
OPEN_ON_SQL=1000
OPEN_SQL_FLANK=OPEN
[UsrpLogic]
TYPE=Usrp
USRP_HOST=127.0.0.1
USRP_TX_PORT=44442 ←------------------------------------------------ USRP_RX_PORT=44441 ←--------------------------------------------- | CALL=DB0ABC
DMRID=262123
RPTID=
DEFAULT_CC=1
DEFAULT_TG=2629
DEFAULT_TS=2
#PREAMP=3
#FILTER_FROM_USRP=HsBq2/0.01/-18/4000
FILTER_TO_USRP=BpBu1/650-3800
#NET_PREAMP=3
JITTER_BUFFER_DELAY=100
EVENT_HANDLER=/usr/share/svxlink/events.tcl
[ReflectorLogic]
TYPE=Reflector (V2 if Reflector is Protocol 2
HOST=10.8.0.1 --------→ to Analogue network, usually a
PORT=5302 -------------→ SvxReflector server
AUTH_KEY="secret"
CALLSIGN="DB0ABC"
#JITTER_BUFFER_DELAY=0
DEFAULT_TG=9
MONITOR_TGS=9
ANNOUNCE_REMOTE_MIN_INTERVAL=300 EVENT_HANDLER=/usr/share/svxlink/events.tcl NODE_INFO_FILE=/etc/svxlink/node_info.json
MUTE_FIRST_TX_LOC=0
MUTE_FIRST_TX_REM=0
[UsrpLink]
Name=UsrpLink
CONNECT_LOGICS=RepeaterLogic,UsrpLogic,ReflectorLogic
DEFAULT_ACTIVE=1
---EOF
2.2.) Analog_Bridge
Here we have an example for the Analog_Bridge.ini,
usually located in /opt/Analog_Bridge/Analog_Bridge.ini
For details regarding the configuration paramaters
refer to Analog_Bridge manual page.
include = dvsm.macro
[GENERAL]
logLevel = 2
exportMetadata = true
transferRootDir = /tmp
subscriberFile = /var/lib/dvswitch/subscriber_ids.csv
decoderFallBack = true
useEmulator = true
emulatorAddress = 127.0.0.1:2460
pcmPort = 2222
[USRP]
address = 127.0.0.1
txPort = 44441 ←------------------------------------------------- |
rxPort = 44442 ←---------------------------------------------------- usrpAudio = AUDIO_UNITY
usrpGain = 1.10
usrpAGC = -20,10,100
tlvAudio = AUDIO_UNITY
tlvGain = 0.35
address = 127.0.0.1
txPort = 31103 ←---------------------------------------------------- rxPort = 31100 ←------------------------------------------------- | ambeMode = DMR
minTxTimeMS = 2500
gatewayDmrId = 262123
repeaterID = 26200123
txTg = 2629
txTs = 2
colorCode = 1
[MACROS]
[DV3000]
;address = 127.0.0.1 ------------------→ To
;rxPort = 2460 ------------------------→
AMBEServer
address = /dev/ttyUSB4 ----------------→ To
baud = 460800 -------------------------→
DV3k-stick
serial = true
---EOF
2.3.) MMDVM_Bridge Usually located in /opt/MMDVM_Bridge/MMDVM_Bridge.ini
Here is an example for the MMDVM_Bridge.ini
Only the most important parameters and configuration
sections are given
[General]
Callsign=DB0ABC
Id=262123
Timeout=180
Duplex=1
[Info]
RXFrequency=431025000
TXFrequency=438625000
Power=15
Latitude=51.000
Longitude=12.000
Height=123
Location=somewhere
Description=FreeDMR_Germany
URL=https://svxreflector.org
[Log]
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=MMDVM_Bridge
[DMR Id Lookup]
File=/var/lib/mmdvm/DMRIds.dat
Time=24
[DMR]
Enable=1
ColorCode=1
EmbeddedLCOnly=1
DumpTAData=0
[DMR Network]
Enable=1
Address=svxreflector.org --------------→ To DMR master server
Port=62031 ----------------------------→ e.g.
freeDMR
Jitter=360
Local=62032
Password=passw0rd
Slot1=0
Slot2=1
Debug=1
---EOF
2.4.) DV-Switch
Usually located in /opt/MMDVM_Bridge/DVSwitch.ini
Example of DVSwitch.ini
[DMR]
address = 127.0.0.1
txPort = 31100 ←------------------------------------------------- |
rxPort = 31103 ←----------------------------------------------------
slot = 2
exportTG = 2629
hangTimerInFrames = 0
talkerAlias = %callsign %location %description
---EOFBy publishing this does not mean that I advocate connecting SvxLink to DMR on any level. The software vocoder md380-emulator is not entirely successful. A DV3000 vocoder is the only other viable alternative. In my opinion D-Star at any level is very poor except to itself.
Connecting to ASL3 is significantly easier, but the configuration file of ASL3 is far from easy to read, unlike that of SVXLink. But the installation is painless.
sudo apt install asl3 allmon3Connection to Tetra in SVXLink requires a further package, the details are as follows.
The same routine is to be used as at the top pf this page, but the instructions to install are:
sudo wget sudo wget https://github.com/f5vmr/svxlink-tetra/releases/download/V25.5.5/svxlink-master-Linux.deb && sudo apt install /tmp/svxlink-master-Linux.debThis instance of Svxlink is designed to be used with radios such as a Motorola MTM5x00, MTM800E, MTM800FuG that are capable of operating as a repeater.
