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: Setting the IP address on the Pi
I do not know if it is relevent or not.
toggle quoted message
Show quoted text
I remember a issue with a needed delay on boot in networking preventing loading network properly on boot. I tried a quick search to find it, but with to many results for me to look through in a available amount of time. But perhaps my mention of it will jar someones memory of it. On 11/4/2020 11:34 AM, Bob Brown wrote:
Update, with the help of Steve - N4IRS |
|
Re: Setting the IP address on the Pi
hmmm, for me it's eth0.
toggle quoted message
Show quoted text
On 11/4/2020 12:16 PM, Bob Brown wrote:
|
|
Re: Setting the IP address on the Pi
I burned from the pi image on the web site in your original email announcement. I used Balena-etcher for the write to card. -- Thanks in Advance Bob, WØNQX Kansas City Metro Area Quis custodiet ipsos custodes? "Some of my finest hours have been spent on my back veranda, smoking hemp and observing as far as my eye can see." Thomas Jefferson -- -- On Wed, Nov 4, 2020 at 11:06 AM Steve N4IRS <szingman@...> wrote: Bob, |
|
Re: Setting the IP address on the Pi
Bob,
toggle quoted message
Show quoted text
Is this the DVSwitch Server image or did you do a pat-get install dvswitch-server on a running system? On 11/4/2020 11:34 AM, Bob Brown wrote:
Update, with the help of Steve - N4IRS |
|
Re: Setting the IP address on the Pi
Update, with the help of Steve - N4IRS
Mornin' Steve, and all other ships at sea... Well, I have had my Coffee and I made a few changes as suggested. 1. Here is what I did on the cmdline.txt file in the /boot/ directory ~~~~~~~~~~~~~~ console=serial0,115200 console=tty1 root=PARTUUID=ba1c0260-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ipv6.disable=1 ~~~~~~~~~~~~~~ It worked to disable the IPv6, I tried this first to see what happens, it disabled the IPv6 but the 169.xxx.xxx.xxx dhcp address stayed. So I did the next step as the 2nd suggestion. 2. The is funny on this pi, the naming scheme "eth0" is not what it is called on this pi it is some long string of characters: "enxb827eb692453" I did an "ifconfig" first to get the name of the eth0 interface. I then copied that string "enxb827eb692453" Replacing the "eth0" with the string "enxb827eb692453" This I put at the end of the "/etc/dhcpcd.conf" file ~~~~~~~~~~~~~~~~ interface enxb827eb692453 static ip_address=10.20.20.10/24 static routers=10.20.20.254 static domain_name_servers=4.4.4.4 8.8.8.8 ~~~~~~~~~~~~~~~~~ I did this editing with "sudo nano" then saved of course in both files... Using nano by itself would not allow a save, I had to use sudo. Then Rebooted and checked for IP change, It worked! :) The end result was a static IPv4 address and no IPv6. All for now Many thanks to all that wrote back. I hope this helps someone else. Bob, W0NQX aka DrSm0ke |
|
Re: Setting the IP address on the Pi
Good morning Steve,
Check your email I sent you a log Sm0ke |
|
Re: Setting the IP address on the Pi
I would like to see /var/log/syslog to look into this:
toggle quoted message
Show quoted text
"my router is configured to hand out 10.20.20.xxx addresses, this pi refuses to go there." Steve N4IRS On 11/3/20 10:22 PM, Bob Brown wrote:
Since the DVswitch draws a local IP from your network via DHCP, is there a way from the menu system to disable DHCP and hard code a Wired LAN IP ? |
|
Re: Setting the IP address on the Pi
Bob,
toggle quoted message
Show quoted text
See the bottom of /etc/dhcpcd.conf 73, Steve N4IRS On 11/3/20 10:22 PM, Bob Brown wrote:
Since the DVswitch draws a local IP from your network via DHCP, is there a way from the menu system to disable DHCP and hard code a Wired LAN IP ? |
|
Re: Setting the IP address on the Pi
Hi Jeff,
I would do that but the router is from google fiber and I have limited control of it. I guess I will go to the CMD line method and set it that way. Thanks for the reply. Bob |
|
Re: Setting the IP address on the Pi
Jeff Lehman, N8ACL
Set it via reserved IP in DHCP in your router by Mac address. That way when the pi boots, DHCP will always assign it that IP address and you don’t have to mess with changing files and the command line. Also if you ever need to move networks ( you get a new router and change your IP scope for example), your PI is not locked on that old network and you can’t get into it.
toggle quoted message
Show quoted text
Jeff Lehman, N8ACL E-mail: N8ACL@... Hamshack Hotline: 4218 Website: https://n8acl.ddns.net On Nov 3, 2020, at 10:22 PM, Bob Brown <bbrown@...> wrote: |
|
Setting the IP address on the Pi
Since the DVswitch draws a local IP from your network via DHCP, is there a way from the menu system to disable DHCP and hard code a Wired LAN IP ?
No, I am not doing wireless, just hardwire ethernet. Short of doing this from the command line, can I open a config file and configure this and then reboot? My system keeps drawing a 169.xxx.xxx.xxx address and an IPV6 address, my router is configured to hand out 10.20.20.xxx addresses, this pi refuses to go there. I thought there would be a place in the menu system to set this but I cannot find it to save my soul, can someone please enlighten me? Otherwise, I will do it via the cmd line. I was following the nice videos from W0RMT, but it lacked what I think is an important part. Thanks in advance Bob, W0NQX |
|
Re: Where can I find protocol documentation?
So read the python.
Sent by smoke signal (AT&T)
From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of George <gmb2005@...>
Sent: Tuesday, November 3, 2020 4:44:41 PM To: main@DVSwitch.groups.io <main@DVSwitch.groups.io> Subject: Re: [DVSwitch] Where can I find protocol documentation? Is that seriously as good as it gets??
Code is not documentation - and in my experience it is usually pretty unreadable anyway, being written in a crap language like C I expect. I do not understand how people expect systems to be interoperable if the protocols used are not well documented - or is that why I so often hear about "weird problems" and things not quite working right? Someone tried back in 2015, presumably when making a start. Shame it wasn't maintained unless I am just not finding it. I am getting too old for this. When I started programming the ASCII text of the documentation would be bigger than the code itself!! 73 George M0GXB |
|
Re: Where can I find protocol documentation?
George M0GXB
Is that seriously as good as it gets??
Code is not documentation - and in my experience it is usually pretty unreadable anyway, being written in a crap language like C I expect. I do not understand how people expect systems to be interoperable if the protocols used are not well documented - or is that why I so often hear about "weird problems" and things not quite working right? Someone tried back in 2015, presumably when making a start. Shame it wasn't maintained unless I am just not finding it. I am getting too old for this. When I started programming the ASCII text of the documentation would be bigger than the code itself!! 73 George M0GXB |
|
Re: #mmdvm_bridge
#mmdvm_bridge
Looking at your logs, I see that the station transmitting with dmr2ysf is placing the users DMR ID in the callsign field. I would bet that their dmr id database is not up to date so it is just sending the numeric ID. YSF requires a callsign to be sent, not a numeric ID.
|
|
Re: DVSwitch Server release date
Gary,
toggle quoted message
Show quoted text
DVSwitch Server is all the same programs as you had on your bridge. The idea behind server was to include all the components and scripts. With the menu in Server you configure for use with DVSM, but it's not necessary. The difference in using DVSwitch Server with DVSM and using DVSwitch Server with ASL is one setting in AB.ini For DVSM: [USRP] address = 127.0.0.1 ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge) txPort = 54321 ; Transmit USRP frames on this port rxPort = 54321 ; Listen for USRP frames on this port For ASL: [USRP] address = 127.0.0.1 ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge) txPort = 32001 ; Transmit USRP frames on this port rxPort = 34001 ; Listen for USRP frames on this port The above ports point to the USRP channel driver in ASL rpt.conf: rxchannel = USRP/127.0.0.1:34001:32001 ; Use the USRP channel driver. Must be enabled in modules.conf ; 127.0.0.1 = IP of the target application ; 34001 = UDP port the target application is listening on ; 32001 = UDP port ASL is listening on I'll bet if you look at your AB.ini it's set for DVSM. As to the ability to change TGs and modes from ASL. You can. It takes a little work in ASL but here are the basics: /opt/MMDVM_Bridge/dvswitch.sh will allow you to change modes, talk groups and a whole lot more. It's VERY versatile. to get a look at what it can do: /opt/MMDVM_Bridge/dvswitch.sh will output all or most of the available parameters. /opt/MMDVM_Bridge/dvswitch.sh mode DMR will change modes to DMR /opt/MMDVM_Bridge/dvswitch.sh tune 3100 will change TG to 3100 All you need to do is setup ASL. Well, doing that is not quite simple depending on how well you know ASL. This part should really be continued in the <https://dvswitch.groups.io/g/allstarlink> subgroup. Hope this helps, 73, Steve N4IRS On 11/3/2020 3:18 PM, Gary wrote:
Installed DVSwitch_Server on new RPi4 and it works great. Fun to watch activity on RX Monitor and on Smartfone. |
|
Re: DVSwitch Server release date
Gary <w5bi@...>
Installed DVSwitch_Server on new RPi4 and it works great. Fun to watch activity on RX Monitor and on Smartfone.
Have ASL 1.01 running on RPi3B+ for several years.Added DVSwitch bridge on it and it has been working FB. However, w/o any way to change the TB over the air with DTMF, it is limited usefullness. Thus, I took the leap and installed DVSwitch_Server on top of the existing stuff on the RPi3. Now DVSwitch does not work. I shoud have asked B4 attempting the last step, but I got over enthusiastic. Do you recommend putting ASL & DVSwitch Bridge & DVSwitch_Server on one RPi3B+? If so, what best install steps? Thanks Gary W5BI |
|
Re: Where can I find protocol documentation?
George,
toggle quoted message
Show quoted text
As far as I know, you have found all of the "documentation" on the protocol called HBP. MMDVM uses a slightly modified version of HBP to communicate with DMRGateway and networks like BM, XLX and DMR Plus. This is DMR only. To understand that protocol since it's open source, you can look at the source code for MMDVMHost, DMRGateway, HBlink and XLX. You can also take a look at <https://github.com/marrold/MMDVM-Dissector> For NXDN, D-Star, YSF and P25 see the source to MMDVMHost. Hope this helps. 73, Steve N4IRS On 11/3/2020 12:25 PM, George wrote:
For starters, I would like to find a full, complete, and correct documentation for whatever the protocol is called (IPSC, HBLINK, ??) that things like MMDVM use to talk to the gateways. |
|
Where can I find protocol documentation?
George M0GXB
For starters, I would like to find a full, complete, and correct documentation for whatever the protocol is called (IPSC, HBLINK, ??) that things like MMDVM use to talk to the gateways.
I found an old (2015) document somewhere which is clearly an early alpha version and with errors too, but the actual data streams I am looking at are for something that has evolved a bit since then. So where is this specified? And is that protocol used for any other links in the growing DV networks? George M0GXB |
|
Re: #mmdvm_bridge
#mmdvm_bridge
swinger72@...
Yes i point each mbridge to her dmrid path. But i dont use analogue bridge her . Its only mbridge
|
|
Re: #mmdvm_bridge
#mmdvm_bridge
k7wby@...
MMDMV_Briidge looks for DMRIds.dat and Analog_Bridge looks for subscriber_ids.csv. Since these are both static text files you need a copy for each instance in /var/lib.
The initial install puts DMRIds.dat in /var/lib/mmdvm/ and susbscriber_ids.csv in var/lib/dvswitch/ You need a copy for each instance of MB and AB. Something like /var/lib/dvswitch/ab1 and ab2 then /var/lib/mmdvm/mb1 & mb2. Move the .dat and .csv files into those directories for each instance and then change your AB and MB .ini files to point to the new locations. The update process uses the .ini files for the locations so the updates should still work according to plan. I would chmod 0775 the new directories you created just to make sure they can be accessed. |
|