[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