Topics

DVSwitch Server Raspberry Pi Image


Steve N4IRS
 

I let the cat out of the bag in the Mobile subgroup so for everyone else...

We have  been working to enhance AB, MB and dvswitch.sh We have been trying to squash bugs and provide the features we know were needed and we have seen requested here on groups.io. The changes made to the basic components of DVSwitch will enhance not only Mobile users but bridges and other more esoteric applications. All of the TESTING for now has been on the ARM family but once we are ready to release, we will build ALL of the apt packages to support the 4 hardware families:

armhf:      32 bit (Raspberry Pi all models) (Orange Pi) (Nano pi) etc Pretty much any Debian based ARM board.
i386:        32 bit (low power Intel and compatible)
amd64:   64 bit (Intel and compatible)
arm64:    64 bit (ARM)

That's 16 packages for each hardware family. These packages are in apt format for Debian compatible systems. If you run something else (Arch, Centos etc) the binaries and support files are available on Github. The process is, when a binary is updated, it's uploaded to github and then it's built into a apt package right away. Github and apt will be in sync. This means that to get the most current binary for your hardware family it's simply apt-get update / apt-get upgrade.
All of the packages can be installed or added. You don't have to install everything, just what you need or add what you want. Add the dashboard to Quantar, add the menu to dvswitch. It's up to you.

All packages include the scripting needed for updating the data files, pushing updated data to the mobile clients, log file management and some scripting to help in troubleshooting.
We have included binaries for the support programs needed. This includes md380-emu, NXDNGateway NXDNParrot, P25Gateway, P25Parrot, YSFGateway. YSFParrot and ircDDBGateway. These programs are build directly from the authors github repositories.

All of the programs are installable individually. How do you know what programs to install you ask. We have grouped these programs together in a "Meta Package" for easy install

For example:
apt-get install dvswitch
Will install analog-bridge, md380-emu, mmdvm-bridge, nxdngateway, nxdnparrot, p25gateway, p25parrot, ysfgateway, ysfparrot, ircddbgateway, quantar-bridge

apt-get install dvswitch-quantar
Will install mmdvm-bridge, quantar-bridge, p25gateway, p25parrot
Just what you would need for putting a Quantar repeater on the MMDVM P25 network

apt-get install dvswitch-server
Will install all of the above plus the Menu, Dashboard and System Monitor.

Menu? Dashboard? System Monitor?
The Menu system will walk you through basic setup. You enter your callsign, DMR ID etc and the menu will place the proper values into the .ini files. The menu will also help a DVSM or pyUC user configure Macros. You can upload sample macros to clients. You can also customize macros. The menu system is built with translation files to allow easy translation to other languages. Some of these are machine translations, so we hope they are close to correct. The first release menus will be available in the following languages:
English
French
German 
Greek 
Japanese 
Korean 
Polish 
Spanish

The documentation is being written. That is not to say ever nuance of AB, MB and dvswitch.sh are covered. The doc is geared towards the user of DVSM who wants to build his own server. Either from a image or from a script The documentation will be available in English, Korean Polish (to start)

The dashboard is a modified version of the Pi-Star Dashboard. <http://server.dvswitch.org>

The System Monitor is built on Monit. Monit can monitor the health of services, monitor data file updates, run periodic program checks. Monit has been configured to restart some services if they start to use too many resources. This web page is locked down so only local connections can view it. <http://server.dvswitch.org/demo_monit.png>

We have built a Raspberry Pi Buster image that contains all of the programs in a ready to run format. All you have to do is burn the image to a SD card, insert the card in a Raspberry Pi (any model) and go. If you don't want to run a Raspberry Pi, or you have a existing Debian based system you want to add to, you can do that too. apt-get install dvswitch-server will install everything installed on Raspberry Pi image onto your system. We have reached Release candidate 2 which means baring any unforeseen issues, we will release soon. The accompanying documentation is being tweaked now. A lot of work has gone into refining the packages. I expect there will be problems found after release. Those fixes will be applied using the apt install / upgrade system. All I can say is anything over 10 lines of code has a bug, in my case anything over 2 lines of code and the first line is a comment.

This does not cover all of the features available. Image clone, file backup/restore password recovery Just to name a few.

 I have posted the first introductory video. <https://youtu.be/ykW8oF1AGUc> 

We are working hard on this. When I say we, I mean Mike and I and a number of others. If my wife does not kill me first, it should be out soon. As someone in the software industry once said, "Just 2 weeks"


 

On 23/10/20 1:01 am, Steve N4IRS wrote:
I let the cat out of the bag in the Mobile subgroup so for everyone
else...

We have  been working to enhance AB, MB and dvswitch.sh We have been
trying to squash bugs and provide the features we know were needed and
we have seen requested here on groups.io. The changes made to the
basic components of DVSwitch will enhance not only Mobile users but
bridges and other more esoteric applications. All of the TESTING for
now has been on the ARM family but once we are ready to release, we
will build ALL of the apt packages to support the 4 hardware families:
This sounds awesome.  Looking forward to seeing what's in the upgrade. 
I'll have to do some manual tweaks, because I have multiple instances of
a number of the binaries running.   Might have to go to symlinks for
future ease of upgrading. :)


--
73 de Tony VK3JED/VK3IRL
http://vkradio.com


David Martin
 

Thanks Steve for the update.
I must say the latest MB on GitHub works well now with my Nextion screen NextionDriver combination. 
Only tested on DMR parrot at present but shows both tx and rx now.  Will try other modes shortly.

Thanks again for your (and team) efforts.

Thanks Dave Martin VK3KQT

On Fri, Oct 23, 2020, 01:01 Steve N4IRS <szingman@...> wrote:
I let the cat out of the bag in the Mobile subgroup so for everyone else...

We have  been working to enhance AB, MB and dvswitch.sh We have been trying to squash bugs and provide the features we know were needed and we have seen requested here on groups.io. The changes made to the basic components of DVSwitch will enhance not only Mobile users but bridges and other more esoteric applications. All of the TESTING for now has been on the ARM family but once we are ready to release, we will build ALL of the apt packages to support the 4 hardware families:

armhf:      32 bit (Raspberry Pi all models) (Orange Pi) (Nano pi) etc Pretty much any Debian based ARM board.
i386:        32 bit (low power Intel and compatible)
amd64:   64 bit (Intel and compatible)
arm64:    64 bit (ARM)

That's 16 packages for each hardware family. These packages are in apt format for Debian compatible systems. If you run something else (Arch, Centos etc) the binaries and support files are available on Github. The process is, when a binary is updated, it's uploaded to github and then it's built into a apt package right away. Github and apt will be in sync. This means that to get the most current binary for your hardware family it's simply apt-get update / apt-get upgrade.
All of the packages can be installed or added. You don't have to install everything, just what you need or add what you want. Add the dashboard to Quantar, add the menu to dvswitch. It's up to you.

All packages include the scripting needed for updating the data files, pushing updated data to the mobile clients, log file management and some scripting to help in troubleshooting.
We have included binaries for the support programs needed. This includes md380-emu, NXDNGateway NXDNParrot, P25Gateway, P25Parrot, YSFGateway. YSFParrot and ircDDBGateway. These programs are build directly from the authors github repositories.

All of the programs are installable individually. How do you know what programs to install you ask. We have grouped these programs together in a "Meta Package" for easy install

For example:
apt-get install dvswitch
Will install analog-bridge, md380-emu, mmdvm-bridge, nxdngateway, nxdnparrot, p25gateway, p25parrot, ysfgateway, ysfparrot, ircddbgateway, quantar-bridge

apt-get install dvswitch-quantar
Will install mmdvm-bridge, quantar-bridge, p25gateway, p25parrot
Just what you would need for putting a Quantar repeater on the MMDVM P25 network

apt-get install dvswitch-server
Will install all of the above plus the Menu, Dashboard and System Monitor.

Menu? Dashboard? System Monitor?
The Menu system will walk you through basic setup. You enter your callsign, DMR ID etc and the menu will place the proper values into the .ini files. The menu will also help a DVSM or pyUC user configure Macros. You can upload sample macros to clients. You can also customize macros. The menu system is built with translation files to allow easy translation to other languages. Some of these are machine translations, so we hope they are close to correct. The first release menus will be available in the following languages:
English
French
German 
Greek 
Japanese 
Korean 
Polish 
Spanish

The documentation is being written. That is not to say ever nuance of AB, MB and dvswitch.sh are covered. The doc is geared towards the user of DVSM who wants to build his own server. Either from a image or from a script The documentation will be available in English, Korean Polish (to start)

The dashboard is a modified version of the Pi-Star Dashboard. <http://server.dvswitch.org>

The System Monitor is built on Monit. Monit can monitor the health of services, monitor data file updates, run periodic program checks. Monit has been configured to restart some services if they start to use too many resources. This web page is locked down so only local connections can view it. <http://server.dvswitch.org/demo_monit.png>

We have built a Raspberry Pi Buster image that contains all of the programs in a ready to run format. All you have to do is burn the image to a SD card, insert the card in a Raspberry Pi (any model) and go. If you don't want to run a Raspberry Pi, or you have a existing Debian based system you want to add to, you can do that too. apt-get install dvswitch-server will install everything installed on Raspberry Pi image onto your system. We have reached Release candidate 2 which means baring any unforeseen issues, we will release soon. The accompanying documentation is being tweaked now. A lot of work has gone into refining the packages. I expect there will be problems found after release. Those fixes will be applied using the apt install / upgrade system. All I can say is anything over 10 lines of code has a bug, in my case anything over 2 lines of code and the first line is a comment.

This does not cover all of the features available. Image clone, file backup/restore password recovery Just to name a few.

 I have posted the first introductory video. <https://youtu.be/ykW8oF1AGUc> 

We are working hard on this. When I say we, I mean Mike and I and a number of others. If my wife does not kill me first, it should be out soon. As someone in the software industry once said, "Just 2 weeks"


Steve N4IRS
 

Tony,
You can go symlink which may be easier to see and understand. I would suggest a single binary and multiple config files. for example MMDVM_Bridge:

in /opt/MMDVM_Bridge you have the following:
MMDVM_Bridge (binary)
MMDVM_Bridge_1.ini
MMDVM_Bridge_2.ini

In your first systemd unit you would have for the exec line:
/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge_1.ini

In your second systemd unit you would have for the exec line:
/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge_2.ini

There is no right way or wrong way. I prefer the above method because when I read the systemd unit file I can see exactly where things are.

73, Steve N4IRS

On 10/22/20 5:53 PM, Tony Langdon wrote:
On 23/10/20 1:01 am, Steve N4IRS wrote:
I let the cat out of the bag in the Mobile subgroup so for everyone
else...

We have  been working to enhance AB, MB and dvswitch.sh We have been
trying to squash bugs and provide the features we know were needed and
we have seen requested here on groups.io. The changes made to the
basic components of DVSwitch will enhance not only Mobile users but
bridges and other more esoteric applications. All of the TESTING for
now has been on the ARM family but once we are ready to release, we
will build ALL of the apt packages to support the 4 hardware families:
This sounds awesome.  Looking forward to seeing what's in the upgrade.
I'll have to do some manual tweaks, because I have multiple instances of
a number of the binaries running.   Might have to go to symlinks for
future ease of upgrading. :)


Steve N4IRS
 

I did forget to mention that the dashboard has a neat feature in conjunction with AB. The audio that AB would send to the USRP ports is also sent to the dashboard.



A user can listen to the audio buy selecting the button. Note the button can be disabled. 


 

On 23/10/20 9:53 am, Steve N4IRS wrote:
Tony,
You can go symlink which may be easier to see and understand. I would
suggest a single binary and multiple config files. for example
MMDVM_Bridge:

in /opt/MMDVM_Bridge you have the following:
MMDVM_Bridge (binary)
MMDVM_Bridge_1.ini
MMDVM_Bridge_2.ini

In your first systemd unit you would have for the exec line:
/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge_1.ini

In your second systemd unit you would have for the exec line:
/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge_2.ini

There is no right way or wrong way. I prefer the above method because
when I read the systemd unit file I can see exactly where things are.
That would work too, but I think replacing copies of the binaries with
symlinks would be easier with my setup.  Would save a lot of rejigging
of systemd units.

As you say, more than one way to skin a cat, and I can always change
things later, if it doesn't turn out as I expect. :)

--
73 de Tony VK3JED/VK3IRL
http://vkradio.com


Carlos Minguela
 

Thanks Steve, this are great news! 

73

Carlos
KP4CA


wrhowell@...
 

Excellent video sir, can't wait for the rest of the mentioned videos to be available.

 

 

Thanks,

William


Tito Lopez
 

Looks AWESOME!!! thanks for all the goodies you guys work on. You all should be inducted to the HAM Radio Hall of Fame!!!!
Cant wait to install the dashboard, I tried installing but no packages yet.... Cool  Stuff


Jay
 

Steve, and All

Thanks so much for doing this.  I have been building Pi Images for DVSwitch from the beginning and I cannot count the number of times I have built images from scratch.  I realize that I could get to a certain point and save the image, but i am always worried that I do not the latest of something, especially INI files.  This is a huge step forward in my mind.

That does bring up a question.  The binaries are quite easy to keep up to date.  Is there a method to keep  INI files current without losing existing entries.  I have never found one but over time the "stanzas" have changed and some keywords.

I enjoyed the video and keep them coming.  This is what Ham Radio is all about.

--

jb   N4NQY


Steve N4IRS
 

Jay,
Keeping the .ini files up to date can me a problem. We have two issues we deal with when defining the .ini files. First is progress. Over time, Mike and I will have a discussion about the tags in a section. for example In Analog_Bridge.ini The [USRP] section there was a tag:
"aslAudio" This made sense at the time because the first implementation of Analog_Bridge was to connect to AllStar. Over time, we expanded the capability to include transcode and DVSwitch Mobile. A user building a transcoder would be confused by "aslAudio" After a lot of discussion we decided to rename it to "usrpAudio". A more generic name. As of today Analog_Bridge accepts both. At some point in the future AB will generate a error and force people to use the new tag. I can tell you a lot of thought goes into renaming a tag as we consider the impact on the installed base. The second issue is additions (and subtractions) We are constantly adding features to the DVSwitch components. Sometimes these feature require new tags or even complete sections. If people want to use the new feature, they need the new section.

Should we build a ini file converter? Yes, and it has been discussed as part of a larger script effort. As we find the need to supplement the components, we have added scripting. dvswitch.sh is a perfect example of that. It has become the way to manage and query Analog_Bridge and MMDVM_Bridge as well as the gateways. At some point when we can catch our breath, new scripts will be added to address the issue.

For now, it's up to the user to update the .ini files manually. One last thing I want to point out. Over time we refine programs and configuration files. We also refine our language. We no longer refer to Analog_Bridge MMDVM_Bridge and Quantar_Bridge as partners. They are now components. We hope this better describes what they do. You may also notice that throughout this message I did not use the word stanza. Stanza came from Asterisk and we felt the proper name was section. I will continue to refer to a section in a .ini file by using the brackets [USRP]

So, a very long message to say, you have to update the ini files yourself. I used this opportunity to explain our methods. I hope you are still awake. ;)

73, Steve N4IRS      

On 10/28/2020 8:08 AM, Jay wrote:
Steve, and All

Thanks so much for doing this.  I have been building Pi Images for DVSwitch from the beginning and I cannot count the number of times I have built images from scratch.  I realize that I could get to a certain point and save the image, but i am always worried that I do not the latest of something, especially INI files.  This is a huge step forward in my mind.

That does bring up a question.  The binaries are quite easy to keep up to date.  Is there a method to keep  INI files current without losing existing entries.  I have never found one but over time the "stanzas" have changed and some keywords.

I enjoyed the video and keep them coming.  This is what Ham Radio is all about.

--

jb   N4NQY