Will Opaqueness Kill Brandmeister?

In response to the ill-advised Brandmeister ban on the DV4mini devices by Corey Dean (N3FE), I approached some of the key personnel behind the Brandmeister DMR system to determine if I could put up a new master server in the USA. The purpose of the server would be to support the stations requiring extended routing who had been disenfranchised by N3FE.

Most of the Brandmeister core team do not publish email addresses, but I was able to get in touch with Yentel (ON3YH). He indicated that he was not active any more in the development process, but said the he would pass on my message to Artem (R3ABM) and Rudy (PD0ZRY). After a couple of weeks with no further response, I tried some social media channels where I put the following questions to Artem and Rudy:

“Does Brandmeister have a policy which supports the action of the USA Administrators who disabled access to TG 4999 (extended routing)?

“Thousands of USA users who require access to extended routing have been abandoned by the current admins. Therefore, I propose to put up a new master server in the USA which will support those abandoned users by explicitly supporting extended routing. Will you permit/support this?”

Finally Artem came back to me. Not with a straight answer mind you, but a roadblock:

“Please discuss this with Corey Dean”

Talk about opaque. Not a yes, not a no, not a statement of policy. Not an answer on behalf of the core development team as to whether they support the actions of the USA team. Rather, appeal your execution to the executioner and don’t bother me. This is not exactly an answer in keeping with the amateur radio objectives of mentoring and experimentation.

The team running Brandmeister has a published list of policies. Policy number 9 for master server operators is:

“Promote a positive image of BrandMeister”

It seems that the leaders of this project could better comply with their own policies. Their image is not looking too shiny to me right now.

What happens next? What if someone decides that MMDVM boards made in China or Kenwood repeaters or you fill-in-the-blanks are not to their liking and decides to ban them? It is ironic that the Brandmeister project sprang up because of the closed nature of the DMR-MARC C-Bridge networks which preceeded them. The Brandmeister devs were the freedom fighters.

Now, they are the bureaucrats.



Brandmeister USA Team Kills DV4mini

It has been apparent for some time that at least one of the members of the Brandmeister USA team has it in for the DV4mini. There have been occasional actions to block users of the DV4mini from connecting to the master servers operated by the USA team. Comments in a Facebook group by a team member have long indicated a desire to eliminate connections from this somewhat flawed, but useful and prolific device.

DV4mini

While investigating why my DV4mini stopped working on the Brandmeister network, I learned that the USA team disabled reflector access. Reflector 4999 is needed on the Brandmeister DMR network to take advantage of extended routing. I note a comment from Corey Dean (N3FE) on the Brandmeister USA Facebook group back in October that states, “DV4MINI and reflectors are disabled on all US masters.” This shows what I believe to be the true intent of disabling reflector access, although the DV4mini is not specifically mentioned in the Brandmeister USA wiki. He later makes comments about this freeing up talkgroups in countries whose codes start with 4. However, there is no code assigned to a country that starts with 499, so extended routing could still be allowed and not interfere with any Asian or Middle Eastern nation that wants to jump on the Brandmeister wagon.

So, DV4mini users in the USA who connect to one of the 4 master servers (3101, 3102, 3103, and 3108) now need to resort to connecting to a server outside of the USA.

Dissatisfaction and requests for reconsideration to allow extended routing should politely be directed to dmr-admins@repeater.net.

November DV4mini Image Update

The K2DLS DV4mini image for the Raspberry Pi 2 and 3 (only!) has been updated to include the October 12 release of the DV4mini Control Panel.  This includes XRF through letter Z and REF up to 100 for the D-Star users.  The image will fit nicely on an 8 GB SD Card.

DV4mini RPi Image Updated to Raspbian Stretch

The K2DLS DV4mini image for the Raspberry Pi 2 and 3 has been updated to Raspbian Stretch.  The DV4mini client and BMXTG 1.3 start automatically upon boot.  VNC has been updated to RealVNC.  Both VNC and ssh are started by default.

The installation fits nicely on an 8 GB SD card and it looks great on my 7″ touchscreen display.

The default password for the pi user is “raspberry” — please change it immediately!

The image may be found here.

BMXTG 1.3 released on Github

I’ve added BMXTG to Github and updated it to version 1.3.  File locations have been formalized for consistency and I’ve created a .deb package for easier install.

Brandmeister XTG Dialer v1.3 by K2DLS

If you have a running DV4mini build and want to add BMXTG, grab the .deb file from the link in the README.

To install:

sudo dpkg -i bmxtg-1.3.deb

After installing, copy the desktop file to your Desktop directory.  This will make the desktop icon available.

cp /usr/local/share/bmxtg/bmxtg.desktop ~/Desktop/

 

Running BMXTG on Windows 10

I’ve been able to run the Brandmeister XTG Dialer on Windows 10 by following this procedure.

Visit the PyGTK FAQ page and fully read 21.1.

I installed the following items referred to in the FAQ:

Python 2.7.13
PyGTK for Microsoft Windows using the all-in-one installer

Run a Windows command prompt as Administrator.

cd \Python27
python -m pip install -U pip setuptools
python -m pip install -U requests

Exit the Administrator command prompt and then open a command prompt as a regular user.

cd %AppData%
mkdir Python

Copy bmxtg-v1.2.zip into your %AppData%\Python directory and unzip.

Create a desktop shortcut to bmxtg.py. The “Target” should be “C:\Python27\pythonw.exe bmxtg.py” and the “Start in” directory should be “%AppData%\Python\bmxtg-v1.2”.

Be certain to review and follow the configuration notes in the README. Then, you’re ready to fire it up!

BMXTG 1.2 Released

The Brandmeister XTG Dialer (BMXTG) has been updated to version 1.2. Enhancements include automatic download of the masters address list and automatic download of talkgroup IDs and labels. Any talkgroup label may be changed through use of the talkgroups.conf file. Be sure to review the README file for changes.

DV4mini control panel in the background with the Brandmeister XTG Dialer in the foreground.

The changes will make BMXTG easier to configure and the user no longer needs to be concerned about IP address changes of the BM servers. A simple stop and start of the program will refresh the server list and talkgroup list automatically.

I’ve also updated the DV4mini Raspberry Pi 2/3 image to include BMXTG v1.2.

BMXTG is licensed under the Creative Commons Attribution + Noncommercial 3.0 License. Attribution Required / Noncommercial use permitted.

New Raspberry Pi 2/3 DV4mini Image

Note: This image has been replaced by this one.

The DV4mini software developers have been hard at work fixing bugs, especially with DMR, and making things work better. So, I thought it time to create a new DV4mini RPi image for your enjoyment. I first built my own image last year when I wanted to have turnkey vnc access to my DV4mini/RPi system.

This build no longer contains the unsupported DV4MF2 software. Rather, it has the most recent version of the DV4mini dashboard (201.77), the updated dv_serial (20170106) and my add on Brandmeister XTG Dialer. If you haven’t used the XTG dialer before, you’re in for a treat. It works great with a touchscreen display, but just fine with a keyboard and a mouse too. You might need to edit a couple of text files to set it up to your liking. For details, see /opt/dv4mini/bmxtg/README once you have the distro up and running.

Important default password info follows.

root / raspberry
pi / dv4m

vncviewer – dv4m

You SHOULD change the default passwords after you get things going. The standard unix passwd command is used to change the root and pi passwords. To change the vnc password, use x11vnc -storepasswd.

Running Brandmeister XTG Dialer

[Update January 17, 2017:

The Brandmeister XTG Dialer (bmxtg.py) is now easier to configure. The program itself no longer needs to be edited to get it up and running. All configuration items have been moved to separate files. Download version 1.1 and be sure to read and understand the README file before you begin.]

I’ve received some inquiries on how to get the Brandmeister XTG Dialer script running. Assumptions here are that you can navigate your way around Linux, you know how to use a text editor, and you can look at the python program and figure out how to make a simple change.

1 — Copy the bmxtg.py program file along with the three configuration files (talkgroups.com, buttons.conf and masters.conf) to your home directory. It doesn’t even need to be on the same computer that your dv4mini is connected to, as long as you are behind the same NAT router.

2 — Figure out the URL for the BM Master that you are currently connected to. To do this look at the Brandmeister Masters page. Looks through the list, locate your master, click the status button and note the URL host portion before the first slash. It could be a name or it could be an IP address.

3 — Edit the bmxtg.py program and look for the bm_master assignment statement. There are currently two, with one of them commented out. You’ll need the bm_master variable to point to the master that your dv4mini is currently connected to.

For example, master 3021 is in Canada. Clicking the status button returns http://158.69.203.89/status/status.htm. The line would read:

bm_master = '158.69.204.89'

Be sure that only one bm_master assginment statement is active. You can leave the others there but comment them out by starting the line with a #.

2 — Carefully read and follow the instructions in the README file.

Brandmeister XTG Dialer

I’ve long hoped for a way to make it easier to change DMR talkgroups. I use a DV4mini and software installed on a Raspberry Pi 3 with a touch screen display. Wouldn’t it be nice if I could key in a Brandmeister extended talkgroup (XTG) number directly on the RPi, rather than use an Android app or a web browser? The now defunct DV4MF2 dashboard was a step in the right direction with XTG support, but its talkgroup list is now hopelessly out of date. Wireless Holding’s version of the dashboard allows connection to Brandmeister reflectors and to TG 4999, but doesn’t directly provide access to the XTGs.

So in the true Amateur Radio spirit, I built my own solution. Long ago, I made my living as a software developer. It was so long ago that we were called computer programmers. Nonetheless, I did some research and found that GTK provides support that I could use from within a Python program to create windows, buttons and so on in a Linux GUI environment.

DV4mini control panel in the background with the Brandmeister XTG Dialer in the foreground.

To further date myself, most Linux based programming that I’ve done in the past 20 years has been in Perl or Bash. I have recently gotten involved in implementing the Open Source Fail2ban host IPS system, which uses Python regular expressions. I have become slightly proficient with regexes, but knowing how to use them to match text in logs wasn’t going to help me.

Thankfully, a fellow named Kris Occhipinti put together a treasure trove of programming instruction videos, some of them covering Python, GTK, and specifically how to create a keypad. His intent in some of the videos was to create an app for spoofing caller id, but I could borrow what I needed.

What I came up with is a Python/GTK app that opens two windows. One window is a dialer keypad and the other window is a memory present keypad. A Brandmeister TGID can be keyed in from a keyboard, pressed on a touchscreen, clicked with a mouse…or you can just use a preset with a label like “USA” or “Tri State” instead of a number. The app makes use of the published Brandmeister API, which is very simple, uses HTTP and returns data in JSON format. Python very nimbly handles it all.

If you’re a licensed amateur radio operator, have a DV4mini, and are Linux proficient, please give it a try and leave your feedback below.