[Allstar Digital] AllStar to D-Star D-Star to DMR

Steve Zingman szingman at msgstor.com
Tue Jul 25 14:20:25 EDT 2017


Since the introduction of a DMR to AllStarLink (ASL) bridge, we have 
been asked many times for a open source method to bridge ASL to D-Star. 
Yes, there is a channel driver included in ASL that does some of the 
work but it requires a closed source program. We felt that a open source 
solution was possible. The idea was to leverage existing open source 
programs to form the bridge between ASL and D-Star. ASL provides a 
channel driver that produces PCM from network or local audio in ASL. It 
also provides the signaling needed for COS and PTT. That channel driver 
is chan_usrp. This is the same channel driver we use for the ASL to DMR 
bridge(s). Why reinvent the wheel? Now we needed a open source method of 
sending and receiving audio to D-Star. Jonathan Naylor G4KLX as written 
a number for D-Star programs. One of them is DummyRepeater (DR).  DR was 
built to take analog audio from a local mic, pass it to a Vocoder and on 
to the D-Star network(s) through ircDDBGateway. All we needed was a 
connection from ASL to DR. After looking at the code to DR, Mike N4IRR 
determined only one module in DR needed to be modified. That module is 
DummyRepeaterThread.cpp. Everything needed to communicate with ASL was 
in there. Audio in and out, signaling and MetaData. Modifications were 
made and DR was recompiled. Mike tested on a x86 machine and I tested on 
a Raspberry Pi.

DR did not include a daemon version. The program required that a GUI be 
displayed. The GUI does nothing, but it had to display somewhere. Enter 
xvfb, a virtual frame buffer. DR can display to xvfb. No need to see the 
output, just give it a place to go. DR also requires a sound device. In 
the case of the RPi you have 2 choices, add a simple USB sound device 
that will never be used or a dummy sound device. Add snd-dummy to 
/etc/modules and reboot or run modprobe snd-dummy. DR is now happy. One 
of the things we have found is on a Pi where there is no mic input so 
snd-dummy was used, you can hear a slight tail in the D-Star output. 
Adding a cheap USB sound device solve that. We are looking into a solution.

Now that DR "speaks USRP" it can connect to another DVSwitch partner. 
Analog_Bridge (AB) also "speaks USRP" Consider this, AB partners with 
either HB_Bridge (HB) ir IPSC_Bridge (IB) AB uses a DV3000 to convert 
AMBE from HB or IB to USRP. You can build a basic bridge from DMR to 
D-Star using AB and DR. Yes you need 2 Vocoders. One for AB and a second 
for DR. This can be a MMDVM with HB or a Motorola Repeater with IB. I'll 
leave other permutations to your imagination. Since both DMR and D-Star 
have metadata associated with each transmission we decided to pass that 
metadata  between the 2 networks where possible. An inbound transmission 
from D-Star contains a callsign, that call sign is used to check for a 
matching call and DMR ID. If found the DMR ID is passed through AB to 
the DMR network. This is visible as a DMR ID on a user radio or network 
dashboard. From DMR to D-Star, we decided to put the call, TG and TS 
into the info field sent to the D-Star network. This is configurable and 
can be turned of if not desired. for the last 5 days I have been 
bridging DMR to D-Star on reflector DCS006T.

Just to be clear, this is NOT D-Star_Bridge. That will come later. The 
changes to DR were pretty simple and it gave us a working solution. Is 
it scalable? No, not really. Is it stable? Yes, seems so to us. Now is 
the time for others to try it out and provide feedback. That is why we 
are now calling it beta. No, there is not script to install it. No, 
there is no image to pop into your Pi. This is code pure and simple. 
Everything we have done with DVSwitch has been a module to do a task. 
Combined with DMRlink and HBlink you can do some interesting and useful 
things. The source to DummyRepeaterThread.cpp and my notes on building 
the bridge are at <https://github.com/N4IRS/Analog_Bridge> in the 
DummyRepeater directory.

For DVSwitch,
73, Steve N4IRS and Mike, N4IRR

-- 
"What are HB_Bridge, IPSC_Bridge and Analog_Bridge?"




More information about the Allstar-Digital mailing list