Welcome to DVSwitch
DVSwitch is a set of tools and programs related to provisioning and operating Amateur Radio digital voice networks.
Purpose
The purpose of DVSwitch is as follows:
1) Allows “local” networking during an outage of the regional national/international network server.
2) Allows a local network operator to “blend” upstream feeds from different Networks (capital N on purpose). These Networks can’t get their act together and learn how to play nice with each other (everyone guilty as far as we are concerned). They may not like people doing this, but the solution is to grow up and work with each other, and not keep trying to force people to take sides.
3) Allows local segregation of localized traffic with more flexibility.
4) Allows experimentation with linking and how it’s done (part 97 specifies experimentation and advancement of the radio art are a core part of amateur radio).
1) Allows “local” networking during an outage of the regional national/international network server.
2) Allows a local network operator to “blend” upstream feeds from different Networks (capital N on purpose). These Networks can’t get their act together and learn how to play nice with each other (everyone guilty as far as we are concerned). They may not like people doing this, but the solution is to grow up and work with each other, and not keep trying to force people to take sides.
3) Allows local segregation of localized traffic with more flexibility.
4) Allows experimentation with linking and how it’s done (part 97 specifies experimentation and advancement of the radio art are a core part of amateur radio).
Mission Statement/Position
Our stated position is:
WHEREAS the Networks continue to be largely islands and are not working together to create a unified network of Networks.
WHEREAS no firm reason has been given by any of the Networks why a *competent* local network operator cannot make this work effectively.
(US ONLY)
WHEREAS 47 CFR 97 (Amateur Radio Service) specifies that a core component of amateur radio is experimentation and advancement of the radio art [97.1(b)].
BE IT RESOLVED the core group of US amateur radio operators and experimenters organized around the DVSwitch project, and in the spirit of USA 47 CFR 97 and its intentions, support the *responsible* and *thoughtful* use of digital voice networking tools to create localized networks that will interconnect to the national/international Networks, and will support users of its tools in order to do this in the most effective and sustainable way possible.
WHEREAS the Networks continue to be largely islands and are not working together to create a unified network of Networks.
WHEREAS no firm reason has been given by any of the Networks why a *competent* local network operator cannot make this work effectively.
(US ONLY)
WHEREAS 47 CFR 97 (Amateur Radio Service) specifies that a core component of amateur radio is experimentation and advancement of the radio art [97.1(b)].
BE IT RESOLVED the core group of US amateur radio operators and experimenters organized around the DVSwitch project, and in the spirit of USA 47 CFR 97 and its intentions, support the *responsible* and *thoughtful* use of digital voice networking tools to create localized networks that will interconnect to the national/international Networks, and will support users of its tools in order to do this in the most effective and sustainable way possible.
Re: MMDVM_BRIDGE Not Starting
[General]
Callsign=IZ2BKS
Id=2222158
Timeout=180
Duplex=0
[Info]
RXFrequency=222340000
TXFrequency=224940000
Power=1
Latitude=41.7333
Longitude=-50.3999
Height=0
Location=Iceberg, North Atlantic
Description=MMDVM_Bridge
URL=https://groups.io/g/DVSwitch
[Log]
# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=MMDVM_Bridge
[DMR Id Lookup]
File=/var/lib/mmdvm/DMRIds.dat
Time=24
[NXDN Id Lookup]
File=/var/lib/mmdvm/NXDN.csv
Time=24
[Modem]
Port= /dev/null
RSSIMappingFile=RSSI.dat
Trace=0
Debug=0
[D-Star]
Enable=0
Module=C
[DMR]
Enable=1
ColorCode=1
EmbeddedLCOnly=1
DumpTAData=0
[System Fusion]
Enable=0
[P25]
Enable=0
NAC=293
[NXDN]
Enable=0
RAN=1
Id=12345
[D-Star Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=20010
LocalPort=20011
Debug=0
[DMR Network]
Enable=1
Address=212.237.14.126
Port=62031
Jitter=360
Local=62032
Password=radioamatore
Slot1=1
Slot2=1
Debug=0
[System Fusion Network]
Enable=0
LocalAddress=0
LocalPort=3200
GatewayAddress=ysfreflector.dvswitch.org
GatewayPort=42166
Debug=0
[P25 Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=42020
LocalPort=32010
Debug=0
[NXDN Network]
Enable=0
#LocalAddress=127.0.0.1
Debug=0
LocalPort=14021
GatewayAddress=127.0.0.1
GatewayPort=14020
|
|
Re: MMDVM_BRIDGE Not Starting
Fabio,
toggle quoted messageShow quoted text
I'm going to guess here: In MMDVM_Bridge.ini In the [Modem] stanza set Port=/dev/null If this does not work, please post your MMDVM_Bridge.ini 73, Steve N4IRS
On 11/6/2019 7:17 AM, fabio damiani
wrote:
Thanks, a problem solved, but the troubles never come alone! this is another problem.
|
|
Re: MMDVM_BRIDGE Not Starting
Try cd /opt/MMDVM_Bridge first then run ./MMDVM_Bridge MMDVM_Bridge.ini you need to be in that directory to run it.
On Wed, Nov 6, 2019, 12:22 AM fabio damiani <iz2bks@...> wrote:
|
|
Re: MMDVM_BRIDGE Not Starting
fabio damiani
Thanks, a problem solved, but the troubles never come alone! this is another problem.
pi@raspberrypi:/opt/MMDVM_Bridge $ ./MMDVM_Bridge DVSwitch.ini
MMDVM_Bridge: SerialController.cpp:230: CSerialController::CSerialController(const string&, SERIAL_SPEED, bool): Assertion `!device.empty()' failed.
Aborted
|
|
Re: Analog_Bridge remote control (TLV) commands exposed.
Waldek,
toggle quoted messageShow quoted text
We have a few additions to make. I will push it to github in the next day or so. 73, Steve
On 11/6/19 4:36 AM, Waldek SP2ONG
wrote:
Steve,
|
|
Re: Analog_Bridge remote control (TLV) commands exposed.
SP2ONG Waldek
Steve,
toggle quoted messageShow quoted text
Thanks for updates Ananlog_Bridge and MMDVM_Brideg. the script dvswitch.sh script not yet available?
On Tue, Nov 5, 2019 at 09:49 AM, Steve N4IRS wrote: dvswitch.sh
|
|
Re: MMDVM_BRIDGE Not Starting
SP2ONG Waldek
Hi Fabio
It looks like you have download not correctly binary file Try download wget https://github.com/DVSwitch/MMDVM_Bridge/raw/master/bin/MMDVM_Bridge.armhf or wget https://github.com/DVSwitch/MMDVM_Bridge/raw/master/bin/MMDVM_Bridge.armv6l depends on your RPI version
|
|
Re: MMDVM_BRIDGE Not Starting
fabio damiani
root@raspberrypi:/opt/MMDVM_Bridge# ./MMDVM_Bridge MMDVM_Bridge.ini
./MMDVM_Bridge: line 1: !DOCTYPE: No such file or directory
./MMDVM_Bridge: line 2: html: No such file or directory
./MMDVM_Bridge: line 3: head: No such file or directory
./MMDVM_Bridge: line 4: meta: No such file or directory
./MMDVM_Bridge: line 5: meta: No such file or directory
./MMDVM_Bridge: line 6: meta: No such file or directory
./MMDVM_Bridge: line 7: !--: No such file or directory
./MMDVM_Bridge: line 8: meta: No such file or directory
./MMDVM_Bridge: line 9: $'\r': command not found
./MMDVM_Bridge: line 10: meta: No such file or directory
./MMDVM_Bridge: line 11: meta: No such file or directory
./MMDVM_Bridge: line 12: meta: No such file or directory
./MMDVM_Bridge: line 13: $'\r': command not found
./MMDVM_Bridge: line 14: base: No such file or directory
./MMDVM_Bridge: line 15: syntax error near unexpected token `<'
'/MMDVM_Bridge: line 15: ` <!--[if lt IE 10]><script type="text/javascript">
root@raspberrypi:/opt/MMDVM_Bridge#
|
|
Re: MMDVM_BRIDGE Not Starting
Try this as root:
cd /opt/MMDVM_Bridge
,/MMDVM_Bridge MMDVM_Bridge.ini
Please report the results.
Sent by smoke signal (AT&T)
From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of fabio damiani <iz2bks@...>
Sent: Tuesday, November 5, 2019 5:17:43 PM To: main@DVSwitch.groups.io <main@DVSwitch.groups.io> Subject: [DVSwitch] MMDVM_BRIDGE Not Starting Hi everyone, I need a favor, I installed on raspberry DV-Switch, but the MMDVM_BRIDGE does not start and gives me this error.
mmdvm_bridge.service - MMDVM_Bridge Service
Loaded: loaded (/lib/systemd/system/mmdvm_bridge.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2019-11-05 22:11:44 GMT; 18s ago
Process: 551 ExecStart=/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge.ini (code=exited, status=203/EXEC)
Main PID: 551 (code=exited, status=203/EXEC)
Nov 05 22:11:44 raspberrypi systemd[1]: Started MMDVM_Bridge Service.
Nov 05 22:11:44 raspberrypi systemd[1]: mmdvm_bridge.service: Main process exited, code=exited, status=203/EXEC
Nov 05 22:11:44 raspberrypi systemd[1]: mmdvm_bridge.service: Unit entered failed state.
Nov 05 22:11:44 raspberrypi systemd[1]: mmdvm_bridge.service: Failed with result 'exit-code'.
root@raspberrypi:~#
Thanks for help
|
|
MMDVM_BRIDGE Not Starting
fabio damiani
Hi everyone, I need a favor, I installed on raspberry DV-Switch, but the MMDVM_BRIDGE does not start and gives me this error.
mmdvm_bridge.service - MMDVM_Bridge Service
Loaded: loaded (/lib/systemd/system/mmdvm_bridge.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2019-11-05 22:11:44 GMT; 18s ago
Process: 551 ExecStart=/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge.ini (code=exited, status=203/EXEC)
Main PID: 551 (code=exited, status=203/EXEC)
Nov 05 22:11:44 raspberrypi systemd[1]: Started MMDVM_Bridge Service.
Nov 05 22:11:44 raspberrypi systemd[1]: mmdvm_bridge.service: Main process exited, code=exited, status=203/EXEC
Nov 05 22:11:44 raspberrypi systemd[1]: mmdvm_bridge.service: Unit entered failed state.
Nov 05 22:11:44 raspberrypi systemd[1]: mmdvm_bridge.service: Failed with result 'exit-code'.
root@raspberrypi:~#
Thanks for help
|
|
Re: Analog_Bridge remote control (TLV) commands exposed.
I have received a few direct questions about this topic. I would prefer questions be asked here so all can learn from the question / answer but I'll try to cover the subject here.
Some people are under the impression that the changes to Analog_Bridge and the addition of dvswitch.sh are for DVSwitch Mobile(DVSM) and USRP Client(UC). This could not be further from the truth. The first version of Analog_Bridge was built to provide a method of bridging AllStarLink(ASL) to the DMR networks. Analog_Bridge has it's roots in ASL and we always consider the impact of any change. I believe most of the ASL to Digital bridges in use today are single mode. I expect mostly DMR but I'm sure there are other modes in use. To build a multi-mode ASL bridge required some script jiu jitsu to change modes. The same method I used for the example multi-mode DVSM was used to change modes in a ASL to Digital bridge. Create 5 copies of Analog_Bridge.ini (DMR.ini, YSF.ini, NXDN.ini, P25INI and DSTAR.ini Edit each mode ini file to reflect the mode. Don't forget to set the TX and RX ports to match those defined in DVSwitch.ini. Create 5 macros for ASL that copies the proper .ini file over Analog_Bridge.ini and restart Analog_Bridge. Not elegant, but it works. I'll say it again, don't forget to set the proper TX and RX ports! Now let's do the same thing with dvswitch.sh: Create 5 macros in ASL, each with a a single command and a parameter. dvswitch.sh mode DMR or dvswitch.sh mode YSF. You get the idea. That's it. dvswitch.sh will read DVSwitch.ini then find the desired mode. dvswitch.sh will tell Analog_Bridge to change mode and ports to match the running instance of MMDVM_Bridge. That's it, you are now on a new mode. So, you want to change to a different Talk Group or Reflector? Create a macro for ASL with the command dvswitch.sh tune 3112138 or dvswitch.sh tune ysfreflector.net:42000 and you are on the new Talk Group or Reflector. Now let's get cute. I want ASL to tell me what mode and TG it's currently pointed at. dvswitch.sh is your friend here too. I won't build the whole script but in pseudo code: ask dvswitch the current mode with dvswitch.sh mode (no parameter) ask dvswitch.sh the current Talk Group with dvswitch.sh tune (no parameter) take the results of those 2 commands and ask ASL to say "tuned to Talk Group $tg on mode $mode" You get the idea. As we move forward with the fork of AllStarLink, we will expand the ability of AllStarLink to interact with Analog_Bridge. The first project will be to expand chan_usrp. The channel driver is simple and perfect to communicate more to Analog_Bridge. Some scripting will always be required but USRP has a lot of room to expand. If you have some ideas for what you would like to see join us in the subgroup for the fork <https://dvswitch.groups.io/g/DVSwitch-ASL>. Your ideas are welcome.
|
|
Re: AMBEserver on rPI for Analog_Bridge
Patrick Perdue
I did all the same stuff again a few hours later, with the ThumbDV connected to the Pi, and it works without break-ups this time. Don't know what changed. Oh well.
toggle quoted messageShow quoted text
On 11/4/2019 9:27 PM, Steve N4IRS wrote:
I can tell you that both Mike and I have run a DV3000 on a remote Pi. Though only on a LAN on the same segment.
|
|
Re: AMBEserver on rPI for Analog_Bridge
I can tell you that both Mike and I have run a DV3000 on a remote Pi. Though only on a LAN on the same segment.
toggle quoted messageShow quoted text
On 11/4/19 9:25 PM, Patrick Perdue wrote:
I did, and it was.
|
|
Re: AMBEserver on rPI for Analog_Bridge
Patrick Perdue
I did, and it was.
toggle quoted messageShow quoted text
FWIW, I also tried the dongle on another x86 machine running Debian with the same results. I have not yet tried everything locally on that machine.
On 11/4/2019 9:23 PM, Steve N4IRS wrote:
Can I assume you verified on the machine with the DV3000, operation with AMBEtest4.py and the latency is 1?
|
|
Re: AMBEserver on rPI for Analog_Bridge
Can I assume you verified on the machine with the DV3000, operation with AMBEtest4.py and the latency is 1?
toggle quoted messageShow quoted text
Steve N4IRS
On 11/4/19 8:51 PM, Patrick Perdue wrote:
Got it working, but audio is extremely jittery (pretty much useless) between the remote AMBEserver and the Analog_Bridge. Latency is a very solid 3 MS across the internet between the box in my apartment and the server running DVSwitch. If I used BlueDV locally for DMR and D-STAR, all seems fine. I even tried it from my iPhone's hotspot, and it was good there, too.
|
|
Re: AMBEserver on rPI for Analog_Bridge
Patrick Perdue
Got it working, but audio is extremely jittery (pretty much useless) between the remote AMBEserver and the Analog_Bridge. Latency is a very solid 3 MS across the internet between the box in my apartment and the server running DVSwitch. If I used BlueDV locally for DMR and D-STAR, all seems fine. I even tried it from my iPhone's hotspot, and it was good there, too.
toggle quoted messageShow quoted text
I guess I can run DVSwitch locally, but was trying to avoid doing that.
On 11/3/2019 8:00 PM, Steve N4IRS wrote:
Patrick,
|
|
Analog_Bridge remote control (TLV) commands exposed.
Mike and I have been working on a utility to help people manage or control Analog_Bridge "on the fly" There are a number of reasons people would want to do this:
1: Change Talk Groups / Reflectors on the fly (tune) 2: Change to Digital Voice mode Analog_Bridge is in (mode) 3: Change audio levels (tlvAudio, usrpAudio) 4: Mute audio from Analog_Bridge (mute) 5: Notify DVSM/UC of the current configuration of Analog_Bridge 6: Display a message on the DVSM/UC screen Commands can help you query current configuration and other troubleshooting. Push updated data files (TG / Reflector lists) to DVSM/UC These commands expand the capabilities of systems using Analog_Bridge. In a ASL to DMR bridge, you can change talk groups without restarting Analog_Bridge. With a DVSM system, you can change modes without having to restart Analog_Bridge. Most commands take a parameter, for example mode: mode {DMR|NXDN|P25|YSF|DSTAR} The mode command without a parameter returns the current mode. This can be used in scripts as a variable. For example: # Ask Analog_Bridge what is the current mode mode=`./dvswitch.sh mode` # Send a message (toast) to DVSM ./dvswitch.sh message "Changing to parrot $mode" Below is the current list of commands. root@omv:/opt/Analog_Bridge# ./dvswitch.sh Usage: ./dvswitch.sh { mode | tune | ambesize | ambemode | slot | update | tlvAudio | usrpAudio | tlvPorts | info | show | lookup | mute | message | pushfile | collectProcessDataFiles | collectProcessPushDataFiles | pushurl | collectProcessPushDataFilesHTTP } tune {tg|reflector} Tune to specific TG/Reflector ambesize {72|88|49} Set number of bits for ambe data ambemode {DMR|NXDN|P25|YSFN|YSFW|DSTAR} Set AMBE mode slot {1|2} Set DMR slot to transmit on mode {DMR|NXDN|P25|YSF|DSTAR} Set Analog_Bridge digital mode update Update callsign databases tlvAudio gain Set AMBE audio gain usrpAudio gain Set PCM audio gain tlvPorts rxport txport Set Analog_Bridge receive and transmit ports mute {OFF|USRP|TLV|BOTH} Cause Aanlog_Bridge to mute a stream info Update ABInfo and send to DVSM/UC show Pretty print the ABInfo json file lookup Lookup a DMR ID/call in the local database message msg Send a text message to DVSM/UC pushfile file Push file to DVSM pushurl url Push URL to DVSM collectProcessDataFiles Collect and prepare DVSM data files collectProcessPushDataFiles Collect, prepare and upload DVSM data files collectProcessPushDataFilesHTTP Collect, prepare and upload DVSM data files over http
|
|
Connect MMDVM_Bridge to XLX?
Florian Wolters
Morning folks,
ist it possible to hook up MMDVM_Bridge to an XLX Reflector directly? vy73 de Florian DF2ET
|
|
Re: AMBEserver on rPI for Analog_Bridge
Patrick,
toggle quoted messageShow quoted text
I would not suggest you use a powered hub. Plug the ThumbDV directly into the Pi. The ThumbDV is very sensitive to power dips. See this: <https://dvswitch.groups.io/g/main/message/315?p=,,,20,0,0,0::relevance,,DV3000U,20,2,0,5521534> Fore USB latency: As root: cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer I expect it will return 16 Try this: echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer If that works, add: echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer to /etc/rc.local before the last line (exit 0) 73, Steve N4IRS
On 11/3/19 7:47 PM, Patrick Perdue wrote:
Hi:
|
|
DV Switch and CDMA transcoding
Has there been any experimentation using CDMA <> NXDN or TDMA attemps?
Ive been working with some equipment that uses CDMA and looking for any information of it being used in the amateur world? Rick N9umj
|
|