Official group: https://dvswitch.groups.io
NOTE: Make sure to match the TX and RX frequencies in the MMDVM_Bridge.ini it needs to function as a simplex node not a repeater for this to work as of 02/10/21.
A lot has changed since my original article and there are new ways to install the tools:
Start with Debian Buster AMD64.
Make sure you install is up to date
if updates were installed, reboot
Add the dvswitch repository
chmod +x buster
Make sure you have added the repository
look for “deb http://dvswitch.org/DVSwitch_Repository hamradio” in the output
Verify programs are now installable
apt install dvswitch-server –dry-run
any errors reported?
apt install allstar –dry-run
any errors reported?
Install AllStar first
apt install allstar
errors? stop and ask
asterisk -r to login to the asterisk cli to check
use asl-menu to do basic configuration
Install DVSwitch Server
apt install dvswitch-server
errors? stop and ask
logout and back in, or reboot
run the dvs menu to configure DVSwitch Server
When asked for the USRP port, take the default (Just hit enter)
Configure AllStar and DVSwitch Server to taste.
Take your time, read the screen. If you get a error, stop, capture the error and past into a e-mail to the email group at https://dvswitch.groups.io
Configure DVSwitch Server to taste.
This guide will help you:
Since jumping into Digital Modes and hotspots in November of 17 and Allstar stuff in early 2018, I decided to look at setting up something for my club, ALERT, to have EchoLink and bridge it over to DMR so members and ham radio storm spotters without DMR radios could still interact with each other.
There were several considerations made as far as hosting the node and bridge. I considered using my existing raspberry pi but there were some technical challenges with the OS and how you got the bridge software to install and extract. I think it can be done but I didn’t invest further time into it when it gave me trouble. I considered formatting an old windows computer with Ubuntu but after some thought about this being for the club maybe hosting this at home was not the best idea. Even though the title says host in the cloud you can totally do this on an Ubuntu computer at your home to (and if you are ok opening some ports), I’m explaining where mine ended up in this post. So, I chose AWS (Amazon) to host them both. There are also other great host I almost went with if I had heard about them earlier in the process, Vultr and DigitalOcean. I don’t know the AWS cost yet. I do know that I have 1yr free of AWS EC2 and that based on the data stats I may be able to stay in the free tier after that depending on usage. I suspect our usage will be small except during severe weather season so, we have time to watch it. I’ll update down the road when this gets nailed down.
Update on cloud services 02/10/21: AWS is probably the most expensive, after the one year free I’m running about $9~9.50 a month. I’ve helped other guys build bridges on Vultur and they are paying about $5 a month. I’ve also had experience with Virmach and their affordable Linux will run about $12.50 a year which is the best deal however it may not have the memory and bandwidth to support large systems but is great for small but you can get higher plans I haven’t tested the others extensively.
I don’t plan to cover setting up AWS as it’s pretty straight forward after setting up an account. However, I had to do this a few times because the image I chose (trying to get 32bit) cause me more install issues with the Ham stuff. I finally, found out I needed this and 64bit was fine. Also, in later installs after this publication, I have not been able to get ASL working on Ubuntu 18.04 there were some library getting it installed, then after I resloved them ASL didn’t run. I think the ASL team will need to look into later version of debian first (just shooting in the dark). But the following works flawlessly:
Once you get the instance running they give you all the ways to connect to it which I also don’t plan to cover since they have their own guides as part of the setup. You can use your SSH tool of preference. I use Putty and Bitvise (client is free server is not but you shouldn’t need server). For AWS you download a user key (you do not use a username password) that you need to load into your ssh client. For Putty, AWS gives you instructions on converting the key to a putty file. With Bitvise, you just import the .pem file. Once you are in with SSH you can start installing the ALS Software.
Update: This might be a better guide as it’s more automated than my way as it is the manual process: https://www.youtube.com/watch?v=zGqdTvyObIU The video is for a Vultr install but may apply to AWS as well if you can install via ISO.
The AWS server user logon is Ubuntu (covered in their docs) but so I didn’t have to use sudo all the time I set this after i got in. sudo -s and that switched me to root user.
To intall ASL run this:
Note on linux commands: enter these one line at a time and hit enter. You can cut and paste if your ssh client supports it. Right mouse click in putty and bitvise.
cd /tmp wget http://dvswitch.org/install-allstarlink-repository chmod +x install-allstarlink-repository ./install-allstarlink-repository If Raspbian: apt-get install raspberrypi-kernel-headers -y Otherwise: apt-get install linux-headers-`uname -r` -y apt-get update apt-get install allstarlink -y
Based on the video there is a menu that I didn’t know about when I setup my node that would be easier for a first time setup:
cd /usr/local/sbin sudo asl-menu
Follow the “Manual setup” from this guide: https://www.hamvoip.org/config-setup.pdf
Even thought this guide is for the HamVOIP image most of the manual setup things apply or maybe minor edits. I didn’t rewrite these instructions to fit an ASL install, I just “made it work”.
Turn off your AllStar Telemetry via this guide this seems to interfere with the DMR to Allstar audio: https://dvswitch.groups.io/g/allstarlink/wiki/Private-Node-Template
To enable EchoLink make sure to modify the echolink.conf accordingly then enable it in the modules.conf.
Check your Node and made sure it’s online and you can connect to it before moving to the bridge part.
If not you may need support from this group: http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users
Once it’s online mark your kernels and headers not to update by this guide before moving on to DVSwitch: https://dvswitch.groups.io/g/allstarlink/wiki/How-To%3A-Run-apt-get-upgrade-without-upgrading-the-kernel-or-headers
This is the Bridge software. They actually support bridges to all the digital modes I believe (DMR, C4FM, P25, NXDN, ect). They use a MD380 emulator to get around the hardware requirements of most systems with dongles or boards. Sign up for their email list they will provide great support for your project if you can’t get it going yourself. https://dvswitch.groups.io/g/main
As root cd /tmp wget http://dvswitch.org/install-dvswitch-repo chmod +x install-dvswitch-repo ./install-dvswitch-repo apt-get update apt-get install analog-bridge -y apt-get install mmdvm-bridge -y apt-get install md380-emu -y
These get installed to the opt folder:
Edit the ini files in the Analog folder and MMDVM folder (I did not have to modify the DVSwitch.ini for this bridge). However, you need to verify what’s in DVSwitch.ini matches what you are trying to use in the Analog_bridge.ini like this:
DVSwitch.ini | Analog_bridge.ini [DMR] | [AMBE_AUDIO] Address = 127.0.0.1 | server = 127.0.0.1 TXPort = 31100 | fromDMRPort = 31100 RXPort = 31103 | toDMRPort = 31103
I used beyond compare to show the difference between the original ini and what i changed to make it work:
The Analog_Bridge.ini allows you to set decoding to the emulator and your DMR information that will also be updated or used from your MMDVM_Bridge.ini
Here are some recommended audio settings in Analog_Bridge.ini:
[USRP] aslAudio = AUDIO_USE_GAIN ; Audio to ASL (AUDIO_UNITY, AUDIO_USE_AGC, AUDIO_USE_GAIN) agcGain = 5.0 ; Gain (in db) of the AGC filter dmrAudio = AUDIO_USE_GAIN ; Audio from ASL (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF) dmrGain = 0.17
MMDVM_Bridge.ini sets up a MMDVM configuration which isn’t much different than setting up the parameters on a hotspot just without the radio. So, you will most likely need to register for the Brandmeister self care website and once setup you need to set your desired TalkGroup as static. In the config your DMR ID is the callsign DMR will see and the Repeater ID is the DMR ID + 01 (or any 2 digits) Note: DMARC is not supported unless there is a D-plus bridge to it.
In the rpt.conf turn off the dahdi and enable the USRP lines.
in the modules.conf enable the usrp.
You also need to turn off “Telemetry” by setting these recommended rpt.conf settings for cutting off tones and connect/disconnect messages to DMR otherwise you may get one way audio: https://dvswitch.groups.io/g/allstarlink/wiki/Private-Node-Template
If you plan on using IAX, EchoLink, and SSH you may need to open some ports to your system. I did IAX and EchoLink:
Now you are ready to load up the bridge software with these commands:
systemctl enable md380-emu systemctl start md380-emu systemctl enable analog_bridge systemctl start analog_bridge systemctl enable mmdvm_bridge systemctl start mmdvm_bridge
If you have issues there are logs located here to review:
As long as your server/bridge/nodes are running you have a live bridge between the 2 modes. Users on either side will not have to do anything out of the ordinary. AllStar users coming over to DMR do not have DMR numbers so DMR users will see the club/personal number of the number you chose in the MMDVM config.
Hopefully, with that, your AllStar Node and DMR bridge is running!
If not, don’t stress help is an email or remote session away. It’s probably something small that’s stopping it. There are lots of ways to do this and none of it is documented that great but be persistent and ask questions it took me a good week on an off to get mine online and tons of trial and error. Maybe this guide will help you with the concepts and get you going faster than it took me.