Allstar to DMR Bridge

After having trouble connecting to an Allstar node that is connected to a Brandmeister network DMR bridge, I decided to attempt to set up my own. Here are my notes on the process, in case they are useful to anyone in the future.

The key software components which I used to set up the bridge are MMDVM_Bridge and Analog_Bridge from DVSwitch.

Note that I am bridging to the Brandmeister network. Other DMR networks are available, but info in my notes are Brandmeister specific and may not apply for other networks.

Elsewhere online, instructions can be found for installing DVSwitch on a Debian-based operating system. Since my Allstar node is using the HamVOIP distribution at the moment, the easy "install" process was not available. I was able to get a working setup by roughly following the official guide and adapting as needed for my system. I've included sample CLI commands and config changes. The details below mostly include variations from the official guide, which is a great resource.

Installation

To install MMDVM_Bridge and Analog_Bridge, I used git to clone the two github repositories, and symlinked their contents into /opt/MMDVM_Bridge and /opt/Analog_Bridge respectively. I also set up a symlink for the correct binary, which was the armhf binary for my Raspberry Pi 4.

# create a directory for downloading the software and download it mkdir /opt/dvswitch-software cd /opt/dvswitch-software git clone https://github.com/DVSwitch/MMDVM_Bridge.git git clone https://github.com/DVSwitch/Analog_Bridge.git # create symlinked directories where the software expects to be installed cd /opt ln -s ./dvswitch-software/MMDVM_Bridge MMDVM_Bridge ln -s ./dvswitch-software/Analog_Bridge Analog_Bridge # set up the binaries for the platform cd MMDVM_Bridge ln -s bin/MMDVM_Bridge.armhf MMDVM_Bridge cd Analog_Bridge ln -s bin/Analog_Bridge.armhf Analog_Bridge

Some additional setup was required to fully integrate the software with the system. This included creating additional directories, setting up log rotation, and systemd integration. Configuration files for log rotation and systemd integration are provided in the git repositories.

# create log directories mkdir /var/log/mmdvm mkdir /var/log/dvswitch # create additional directories mkdir /var/lib/mmdvm mkdir /var/lib/dvswitch # copy log rotation cp /opt/MMDVM_Bridge/logrotate/MMDVM_Bridge /etc/logrotate.d/ cp /opt/Analog_Bridge/logrotate/Analog_Bridge /etc/logrotate.d/ # copy systemd services cp /opt/MMDVM_Bridge/systemd/mmdvm_bridge.service /etc/systemd/system/ cp /opt/Analog_Bridge/systemd/analog_bridge.service /etc/systemd/system/

Additional Systemd setup

I needed to modify the systemd services to not use netcheck since it was not present on my system. Edit both service files you added to /etc/systemd/system and comment out the two lines mentioning netcheck. Replace them with two other lines as seen below.

#After=netcheck.service #Requires=netcheck.service After=network-online.target syslog.target Wants=network-online.target

Asterisk extension configuration

The instructions for modifying /etc/asterisk/extensions.conf were not needed for my install, as the file already had an extenstion line for the private node 1999 defined.

md380-emu not required

The official guide mentioned installing md380-emu, a radio emulator, but it is not required for the bridge setup. There is a fallback to a software encoder/decoder when it is not present.

MMDVM_Bridge configuration additions

I made a few changes to /opt/MMDVM_Bridge/MMDVM_Bridge.ini that were not specified in the guide. These included modifying the [Info] section to remove the frequencies (since I have no DMR radio component), and adding my lat/lon, city, description, and url.

I also added my hotspot password for Brandmeister to the [DMR Network] section of the config file.

Analog_Bridge configuration additions

The only note I have for this is that you can configure the txTg (transmit talkgroup) as needed. You can configure the talkgroup dynamically using the dvswitch.sh script installed with MMDVM_Bridge; an example is below.

# tune to the Brandmeister test talkgroup /opt/MMDVM_Bridge/dvswitch.sh tune 98 # view the last-tuned talkgroup /opt/MMDVM_Bridge/dvswitch.sh tune # show usage information for the dvswitch script /opt/MMDVM_Bridge/dvswitch.sh

Concluding remarks

Other than the above variations, most of the information in the official guide was applicable to my setup. I tested my setup by calling on the Brandmeister test talkgroup (98) and made a brief contact with Mark, KO4OEH.

If you have any questions about these notes, feel free to send me an email at <my call sign> at zischkau.com.