Hosting an AllStar Node and an AllStarDMR bridge in the cloud

Update: The DVSwitch group is working on some documentation you may also want to refer to as it is official ūüôā
ASL to DMR:
https://docs.google.com/document/d/1eN50Csr29eAprBu7eKA0Bfa2XUcsXw5iktY1Ey-Qjkg

DVSwitch: https://docs.google.com/document/d/1-Ot5pGaibmEGmmFh-l8HUq2LRyZoujiJYulr-VSga9s

Since jumping into Digital Modes and hotspots in November of 17 and Allstar stuff in early 2018, I decided to look at setting up something for my club, ALERT, to have EchoLink and bridge it over to DMR so members without DMR radios could still interact with each other.

There were several considerations made as far as hosting the node and bridge. I considered using my existing raspberry pi but there were some technical challenges with the OS and how you got the bridge software to install and extract. I think it can be done but I didn’t invest further time into it when it gave me trouble. I considered formatting an old windows computer with Ubuntu but after some thought about this being for the club maybe hosting this at home was not the best idea. Even though the title says host in the cloud you can totally do this on an Ubuntu computer at your home to (and if you are ok opening some ports), I’m explaining where mine ended up in this post. So, I chose AWS (Amazon) to host them both. There are also other great host I almost went with if I had heard about them earlier in the process,¬†Vultr¬†and DigitalOcean. I don’t know the AWS cost yet. I do know that I have 1yr free of AWS EC2 and that based on the data stats I may be able to stay in the free tier after that depending on usage. I suspect our usage will be small except during severe weather season so, we have time to watch it. I’ll update down the road when this gets nailed down.

I don’t plan to cover setting up AWS as it’s pretty straight forward after setting up an account. However, I had to do this a few times because the image I chose (trying to get 32bit) cause me more install issues with the Ham stuff. I finally, found out I needed this and 64bit was fine:

chrome_2018-05-23_14-49-44

Once you get the instance running they give you all the ways to connect to it which I also don’t plan to cover since they have their own guides as part of the setup. You can use your SSH tool of preference. I use Putty and Bitvise¬†(client is free server is not but you shouldn’t need server). For AWS you download a user key (you do not use a username password) that you need to load into your ssh client. For Putty, AWS gives you instructions on converting the key to a putty file. With Bitvise, you just import the .pem file. Once you are in with SSH you can start installing the ALS Software.

Alltar (ASL):

Update: This might be a better guide as it’s more automated than my way as it is the manual process:¬†https://www.youtube.com/watch?v=zGqdTvyObIU¬† The video is for a Vultr install but may apply to AWS as well if you can install via ISO.

The AWS server user logon is Ubuntu (covered in their docs) but so I didn’t have to use sudo all the time I set this after i got in. sudo -s and that switched me to root user.

To intall ASL run this:

Note on linux commands: enter these one line at a time and hit enter. You can cut and paste if your ssh client supports it. Right mouse click in putty and bitvise.

cd /tmp
wget http://dvswitch.org/install-allstarlink-repository
chmod +x install-repository
./install-repository
If Raspbian: apt-get install raspberrypi-kernel-headers -y
Otherwise: apt-get install linux-headers-`uname -r` -y

apt-get update
apt-get install allstarlink -y 

Based on the video there is a menu that I didn’t know about when I setup my node that would be easier for a first time setup:

cd /usr/local/sbin
sudo asl-menu

end update.

Follow the “Manual setup” from this guide:¬†https://www.hamvoip.org/config-setup.pdf

Even thought this guide is for the HamVOIP image most of the manual setup things apply or maybe minor edits. I didn’t rewrite these instructions to fit an ASL install, I just “made it work”.

Turn off your AllStar Telemetry via this guide this seems to interfere with the DMR to Allstar audio: https://dvswitch.groups.io/g/allstarlink/wiki/home

To enable EchoLink make sure to modify the echolink.conf accordingly then enable it in the modules.conf.

Check your Node and made sure it’s online and you can connect to it before moving to the bridge part.

If not you may need support from this group: http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users

DVSwitch:

This is the Bridge software. They actually support bridges to all the digital modes I believe (DMR, C4FM, P25, NXDN, ect). They use a MD380 emulator to get around the hardware requirements of most systems with dongles or boards. Sign up for their email list they will provide great support for your project if you can’t get it going yourself.¬†https://dvswitch.groups.io/g/main

To install:

As root
cd /tmp

wget http://dvswitch.org/install-dvswitch-repo
chmod +x install-dvswitch-repo
./install-dvswitch-repo
apt-get update

apt-get install analog-bridge
apt-get install mmdvm-bridge
apt-get install md380-emu

These get installed to the opt folder:

BvSsh_2018-05-23_15-19-06

Edit the ini files in the Analog folder and MMDVM folder (I did not have to modify the DVSwitch.ini for this bridge)

I used beyond compare to show the difference between the original ini and what i changed to make it work:

The Analog_Bridge.ini allows you to set decoding to the emulator and your DMR information that will also be updated or used from your MMDVM_Bridge.ini

Analog_Bridge

MMDVM_Bridge.ini sets up a MMDVM configuration which isn’t much different than setting up the parameters on a hotspot just without the radio. So, you will most likely need to register for the Brandmeister self care website and once setup you need to set your desired TalkGroup as static. In the config your DMR ID is the callsign DMR will see and the Repeater ID is the DMR ID + 01 (or any 2 digits) Note: DMARC is not supported unless there is a D-plus bridge to it.

MMDVM_Bridge

In the rpt.conf turn off the dahdi and enable the USRP lines.

rpt

in the modules.conf enable the usrp.

modules

Recommended rpt.conf settings for cutting off tones and connect/disconnect messages to DMR: https://dvswitch.groups.io/g/allstarlink/wiki/home

If you plan on using IAX, EchoLink, and SSH you may need to open some ports to your system. I did IAX and EchoLink:

chrome_2018-05-24_14-24-46

Now you are ready to load up the bridge software with these commands:

systemctl enable md380-emu
systemctl start md380-emu

systemctl enable analog_bridge
systemctl start analog_bridge

systemctl enable mmdvm_bridge
systemctl start mmdvm_bridge

If you have issues there are logs located here to review:

BvSsh_2018-05-24_13-57-33

As long as your server/bridge/nodes are running you have a live bridge between the 2 modes. Users on either side will not have to do anything out of the ordinary. AllStar users coming over to DMR do not have DMR numbers so DMR users will see the club/personal number of the number you chose in the MMDVM config.

Hopefully, with that, your AllStar Node and DMR bridge are going!

If not don’t stress help is an email or remote session away.¬† It’s probably something small and stupid that’s stopping it. There are lots of ways to do this and none of it is documented that great but be persistent and ask questions it took me a good week on an off to get mine online and tons of trial and error. Maybe this guide will help you with the concepts and get you going faster than it took me.

73,
Russell, KV4S

I now have an AllStar/EchoLink node! Join me: 47923 or KV4S-L (1003254)

After being on and still on the Digital HotSpot craze, I started looking at the Analog options and that brought me to the Open Source AllStar system.

I was actually a little surprised to see how much EchoLink and IRLP are still used for over 20 year old systems. AllStar plays very nice with EchoLink and to a degree IRLP. Most of the IRLP nodes I’ve looked at connects up with AllStar as well.

To find out more check out: https://www.hamvoip.org

Based on that site I invested in the equipment and just got it going about 2 days ago. The setup is harder than the other digital hotspots but most of that is because it’s command line Linux that you need to be familiar with or at least be able to follow from the guides. The guides over on HamVOIP are outstanding.

At any rate my nodes are online!

AllStar: 47923
EchoLink: KV4S-L (1003254)

Link up and lets chat!!

For all my modes and ways to connect check out this page: https://kv4s.com/connect

73,
Russell, KV4S

Amateur Digital Modes, My new toy!

After being mostly inactive (other than the ALERT club meetings) for the last 5+ years, I started getting interested in Digital after seeing folks talking about DVAP for D-STAR. During my research I found there was also a mode called DMR that allowed private calls and group calls based on commercial systems. I also learned there was a D-STAR and DMR repeaters about 4-5 miles from me easily accessible via an HT. Part of the reason for my inactivity was there were no analog repeaters in my city. Also, during my research I found out about Raspberry Pi hot-spots, a new advancement in the hobby that made things feel new again and I was totally hooked.

November 10th, 2018 I was on the air with my Radiodddity GD-77.  I started getting on the repeater and having a great time. Later, I added an Openspot and a ID-51 to my gear. The last piece was a Nano-Spot that had wireless built in and I could take my hotspot mobile.

I verbalized my thoughts and showed off my Nano-Spot mobile setup in this video:

 

Where I hangout:

DMR:
ID: 3101393 (DMR Private Call)
Alabama Talk Group: 3101 (DMR-MARC Network or Brandmeister)
ALERT-K4NWS: 31013 (Brandmeister Network)
Alabama Link: 31010 (Brandmeister Network)
Central Alabama: 31015 (Brandmeister Network)

D-STAR:
Direct via (UR/To): KV4S
Gateway: KV4S B
Alabama Reflector: REF058 B

Google Duo – Day One First Impressions

I’m truly at a loss to understand why Google has released yet another messaging platform. I try to give them the benefit of the doubt since Android and Google Voice are my platform of choice but I just can’t seem to see the point of Duo and the yet to be seen Allo.

My first issue is you can only use it on one device. I was able to install it on my phone and my iPad(LTE) but could only be signed in, in one place at a time. I was not able to install it on my Nexus 7 as it wasn’t “compatible”. Talk about a step backwards. As a hangouts user I can run it on any device I have with no conflict. Some argue it’s because it’s using your phone number and not your google account well, a phone number is an account if they did it right. It’s my same complaint with Snapchat, WhatsApp, and ect. For years we seemed to be on the path of device agnostic apps now we are going the other way? Why? Was something broken? Is it too hard? Frustrating to say the least.

I made one video call with it and it seemed no different quality wise than a hangouts video call which i also don’t really use. I typically text and make occasional phone calls rarely do I need/want to video call anyone. It would actually be more useful if you could just make a voice call only option?

Hopefully,¬†I’ll use Allo more if it ever comes out but most likely not if I can only use it on one device. I’m not a fan of SMS. It’s an old outdated messaging service. The only purpose it’s serves is a way to send messages when you are having severe network congestion and your data won’t work and your network phone calls won’t work and maybe you can get an SMS out when everything else fails. However, because all of my contact use it I have to use it but Google Voice makes SMS more like an IM messenger so that’s the appeal to me.

Hangouts remains my messenger of choice for these few powerful reasons:

VOIP done right. Utilizing Google Voice I can take and place calls from any device whether it is connected via wifi or cell network and the same with Text messaging. I can text from any device and it’s already cross platform.

While we haven’t seen Allo yet I don’t think Duo/Allo are going to be able to take on Hangouts as my messaging platform of choice. I just hope Google will actually improve it.

 

 

Tech I’m using update 2015

I’ve been away from my blog for a while. The reason is mostly time. Starting a new family was a huge time hit to my blog as well as the convenience of¬†quick¬†updates available through social media (Twitter, Google+).

As a follow up to an old article I wrote here: https://kv4s.com/2010/06/22/why-i-passed-on-the-iphone-again-and-got-the-htc-aria-android

I wanted to give an update into the tech I’m using.

After my Aria phone, I upgraded to the HTC Vivid which didn’t last long because I managed to get it wet in a pool and had to pay an enormous amount of money to get a Samsung Galaxy S3 which i kept for a few years.

In September 2014, I upgraded to the Moto X (2014) and also got a smart watch the Moto 360. A few months earlier Google announced smart watches and i was hooked but i did wait for the Moto 360 before jumping in. Even a year later I still think it’s the best looking watch on the market. However, the biggest drawback is the LCD display as it doesn’t take advantage of the Always on because of how it activates all the pixels vs how an LED display does. It’s not a huge issue for me. I have grown very accustomed to getting text and select notification on my wrist can’t wait to see how the product matures as smart phones have. I’m still on the Android side of the fence. While battery life and platform fragmentation are still my biggest gripes I still love the platform as a whole and am still more excited with anything Google does that what Apple does.

I had a brief time with an iPad at work. While I was blown away at how great the battery life was and how much more convenient Cisco Anyconnect is that’s about all the praise I could give it. I sorely missed all the customization I’m use to with Android. I was surprised how many Google Apps could be installed over there but it was missing Keep. Couldn’t stand the keyboard even though I installed SwiftKey it’s just not what I like on Android. Wasn’t sad to give it back.

In 2014, I also dropped my AT&T grandfathered unlimited plan¬†due to the throttling reasons than anything for which they got slammed for from the FCC ¬†(ha ha ha). I got a promotion program where the 15GB plan was upgraded to 30GB for the same price. Plus a few months after I signed up they started roll over data too. I’m on a shared plan with another family member but they are not heavy data user. At least no throttling for the same amount of data I’ve always used.

I also got the Nexus 7 for a tablet. Very nice to be on Google’s update schedule vs the carriers. The tablet is basically my phone when I’m at home. Thanks to Google voice and last year’s hangouts update you can take and place calls and text from hangouts essentially making any device on Hangouts an IP phone. They can also MMS now even though I’m not a big MMS person.

I’ve been bouncing around twitter clients again. Plume is by far the best client for Android and feature rich but I’ve had to leave for the Official twitter client because for some reason after they did the material design update the program became very unstable and crashes often. I’ll keep an eye on it in hopes they fix it.¬†

I really enjoy Google+, in my opinion it’s the best social platform however user adoption and perception is not great. I sure hope it survives. I love the notification control and threaded conversations. Communities are great little social gatherings. I use it for games I play and tech devices. I think if they had a write API it would help.

I cut cable about 3 maybe 4 years ago. While I pay for a few streaming services, I’m well under my old charter and dish bills. Internet providers are slowly raising rates so that’s cutting into the savings as well.

I cut land line about 3 years ago. I use gvmate to hook up my cordless phones to Google voice.

Since Google Listen shut down I went over to Pocketcast which is a far superior podcast app.

Home automation and smart devices are my next projects. I’ve got my eyes on ring.com for a way to watch the front door even while away, Smart thermostats probably the nest, and/or maybe a full home camera system?¬†

Anyway, exciting times for technology changes. 

Until next time!

-Russell

Tip: Use C# to Stop a Windows Service and force kill its processes on a remote computer (LAN)

I hope this tip will save someone some time as I has spent a good deal of time trying to get this to work they way I wanted. Online findings were only partial solutions to my problem.

Recently, situations cropped up where certain Windows Services were¬†getting stuck in a “StopPending” state and would not resolve no matter how much time was given.

About a year ago I needed a way to monitor windows services in case they went down and send out email notifications so, I wrote it.

I had a UI with a SQL Server back end that would allow me to control turning off and on windows services. I also wrote a monitoring service that ran on a server that would read the table and change the flags and actually do the work of turning off an on the services based on the flags. During that project I also needed the ability to change the StartupType of the service. I wanted it to be set as Manual when it was off and Auto when it was Running.

I found a DLL on Code Project for controlling the StartupType it was simply called ServiceControllerEx.
However, it did not work for a remote computer (another computer on the LAN not on the Internet). I was able to modify the code to connect to remote computers this way:
“\\\\” + this.MachineName + “\\root\\cimv2:Win32_Service.Name='” + this.ServiceName + “‘”

After that it worked great on a remote and the local servers just fine.

Now, back to the “StopPending” problems.

I needed my monitor in some situations to not only try to stop the service but stop any processes owned by the service.

I quickly found out that using Process.Kill() only works on the local machine. If you try to use this on a remote machine it says “Feature is not supported for remote machines.”¬† Researching that message brought me to this blog¬†but did not fully cover the situation I was experiencing. While this would remotely kill the processes on a remote computer it did not cover how to limit it to only processes owned by a specific service.

Note: You also needed to use this method because it allowed you to use a Service Account with the appropriate permissions to control the processes on a remote machine.

I was finally able to solve this my adding a new method to the ServiceControllerEx class that would kill a services processes like this:
KillServiceProcessesEssentially, you can use ManagementObjectSearcher to do it all.

First, define the scope which is the machine name and the service account credentials.

Second, select the ProcessID of the service.

Third, iterate through all the processes on that machine and compare the ParentProcessID to the ProcessID and call the kill command if they match.

Good luck!!
-Russell

 

Amateur Radio Anniversary

This June marks my 13th year as an Amateur Radio Operator and 10th as Extra class.
I became an Amateur Radio operator in 1999, upgraded to Extra class in 2002.

While I’m not quite as active on air, I still find this one of the most interesting hobbies out there. I’m most¬†involved¬†with the Skywarn aspects and an active member of the ALERT club who works with the National Weather Service to help relay storm reports from the Amateur community.