Duplex Hotspot Reliability Solution

So you’ve bought a new duplex MMDVM hotspot such as the one from N5BOC. You want to experiment with different DMR networks on each of the timeslots. You’ve set the recommended offset values in the MMDVM Expert settings. Yet every third or fourth PTT press results in a lost transmission. You’re so frustrated you want to throw your radio and hotspot across the room. Sound familiar?

I’ve spent a couple of months chasing down this issue, reading post after article on this subject. The consensus so far has been:

1) Update to the latest firmware.
2) Run the MMDVMcal procedure to minimize the BER.
3) Set the DMR preamble time on your radio to 960 ms.

After weeks of poor results, I came upon the solution that has worked for me (and for others) in a manual for the Anytone 878 produced by Bridgecom. Bridgecom recommends a DMR preamble duration of 100 ms.

1) Update to the latest firmware.
2) Run the MMDVMcal procedure (or enter the sticker offset
values for RXOffset and TXOffset).
3) Set the DMR preamble to 100 ms.

Well, I was testing on an Alinco MD-DJ5, a radio very similar to the Anytone 878. So I tried the preamble setting (called Wake Head Period in my software).

I have now achieved the mystical “five 9s” of reliability. I press PTT, I talk, my transmission gets received.

Ah, the sweet smell of success… And kudos to Bridgecom for the level of support that provide for Anytone 878 users.

This solution has worked so far with an Alinco DJ-MD5, a Motorola XPR, and a CS-700 (where I had to use 120 ms because the dropdown increments in steps of 60.). Oddly, my Hytera PD-365 does not support values lower than 360.


Greek Pirates on the AM Band

When I travel to other countries, I try to take out a few minutes to scan the AM broadcast band. I have observed that over the past few years I am hearing less and less. Sometimes there is nothing to hear but static and local noise. Many counties are completely abandoning AM broadcasting in favor of FM and digital (DAB). The urban environmental interferance levels don’t help things either.

A recent bandscan in Athens provided a nice surprise. The standard AM broadcast band was full of strong signals, most playing music. I settled on a strong station on 828 kHz playing a program of American standards and light fare. There were a few short announcements in Greek but I was listening as I fell asleep, so didn’t catch anything I could remember.

A bit of research the next morning showed that 828 kHz, and most other stations heard on the AM band in Athens, are unlicensed hobby stations. The Greek government does not seem to care much and these stations are providing a service.

If your travels include Athens, don’t forget to bring along an AM radio. You won’t be disappointed.

AllStarLink, Inc. Obtains Copyright

There are a couple of warring camps in the Allstar (app_rpt) development world. One group, AllStarLink, Inc., has claimed to represent the vision and interests of Jim Dixon <WB6NIL>, the original developer of app_rpt. Another group, HamVoip, has made some significant changes in that code in an effort to improve it.

So why can’t we all get along?

Jim Dixon released his code under the terms of the Gnu Public License. The short explanation of GPL is that anyone is free to use the code but any enhancements must be shared back with the community. AllStarLink, Inc. has insisted that HamVoip share the source code to its enhancements. HamVoip has declined.

The acrimony in some online forums has been thick enough to cut with a knife. Some have branded HamVoip as pirates and some have said that AllStarLink ought to get over itself and has no authority to enforce anything.

The scale has shifted in favor of the AllStarLink, Inc. defense of “open source”. In a recent announcement, the Board of Directors reports that:

AllStarLink, Inc., the extension of Jim Dixon’s vision for AllStar, has obtained all rights including Copyright to app_rpt and associated material. In the spirit of Open Source, we encourage code contributions to the project. Thank you for your continued support in keeping the AllStar vision alive.

Hopefully this settles matters once and for all. May Jim Dixon’s vision of an open, community based solution for analog repeater linking live long and prosper.

You Say Protocol, I Say Reflector…

Is XLX a protocol? Is it a type of reflector? Why are we asking these questions?

There is a bit of a debate going on now in D-Star circles as to how the end user (you OM or YL) of a hotspot or repeater should connect to an XLX reflector. I’ve exchanged emails with some notable folks in amateur radio software development circles (Luc LX1IQ, Andy MW0MWZ, and Tom N7TAE) on the subject. The software developers are all in agreement. XLX is not a protocol, it is a type of reflector. On that point, they are quite correct.

To varying extents, each have indicated that the preferred way to access a reflector is via the protocol, node and module notation. Using this paradigm, to access XLX020A via DExtra protocol, you’d connect to XRF020A. But there could be an XRF020A that is not XLX020A. We’ll get to that in a couple of paragraphs.

On the other hand, Jonathan Naylor (G4KLX) has implemented the ability for ircDDBGateway to access XLX reflectors by name. Since all XLX reflectors support DCS protocol and DCS is the most modern of the three D-Star reflector protocols, ircddbgateway defaults to DCS connections. This make perfect sense to me. And it works!

Note: In case you did not know, ircDDBGateway is part of the software suite that comprises the exceedingly popular Pi-Star distribution. May of the tools provided as part of Pi-Star were developed by G4KLX.

As an end user of a hotspot or repeater, I just want to connect. There is also the problem of amgibuity. You can have an REF123, an XRF123, a DCS123, and an XLX123. They may or may not be the same destination. But XLX123 is a specific destination, as are the other three. So the best way to connect to an XLX reflector for the end user would be to allow the end user to specify that destination.

To continue to require that XLX connection requests specify a particular protocol, when there is no specific reason to do so, would be as confusing as requiring the end user of a mobile phone to specify what network the called party is connected to. Yes, the option is there, but let’s make this simple.

I’d like to see the various hotspot platforms adopt this aproach. What do you think?

73 de K2DLS

XLX Support Updates

There are a couple of big announcements to make in terms of support for the XLX reflector world this week.

The first development is that Kenwood has released firmware version 1.09 for the popular D74A handheld transceiver. Among the improvements contained in this release is direct support for selecting XLX reflectors by name on the “Link to Reflector” menu.

The second development is that Andy Tayor <MW0MWZ>, developer of the extremely popular Pi-Star hotspot software distribution for the Raspberry Pi, has made a change that allows the radio operator to directly select an XLX reflector. Previously, you would have to make a local host table override entry for an XRF or DCS reflector in order to make this work.

06-28 Alert: After some more testing, it seems that the Pi-Star change to allow connection via the XLX name isn’t working properly. Testers experienced one way audio with the initiator of the connection not hearing the remote end.

07-11 Update: XLX Linking is now working, with some tweaks to the ircddbgateway config. See this thread on the Pi-Star Forum for more info.

XLX reflectors just got a whole lot better thanks to these updates!

73 de K2DLS

Raspberry Pi 4 Available!

The UK based Raspberry Pi Foundation has announced the availability of the latest advancement in the Raspberry Pi single board computer series. The Raspberry Pi 4 Model B offers:

  • 1.5 GHz quad-core 64 bit Arm Cortex-A72 CPU
  • Up to 4 GB RAM
  • Full throughput gigabit ethernet speed
  • Dual band wireless networking
  • 4k video decode in hardware

For the first time, the amount of memory is an option selected at time of purchase.

While some may view this upgrade as incrememental, those with larger memory or dual monitor needs will see this as a transformative improvement. A new release of the Raspian operating system based upon Debian Buster will support the RPi 4 B+ and its new features.

A complete desktop kit is also being offered. Can the Raspberry Pi replace your desktop PC? Perhaps.

N5BOC Duplex Hotspot

I managed to get my hands on one of the hot items in the MMDVM world — an N5BOC Duplex Hotspot. This is really a mini-repeater which uses both timeslots on DMR and has a separate transmit and receive antenna connector. Initial results have been as expected — excellent!

My idea was to have a hotspot where I could configure XLX on TS1 and Brandmeister on TS2. With the N5BOC board and Pi-Star this was a breeze. The key is in the DMR Gateway configuration.

My XLX configuration:

[XLX Network]

My Brandmeister configuration:

[DMR Network 1]

If you’re not currently using DMRGateway, make sure that you have activated it by setting the DMR Master on the configuration page to DMR Gateway. This will reveal options to help you manage Brandmeister, DMR+, and XLX, all on the same hotspot.

XRF020B Hamvention Connection

XRF020B is your link to Dayton Hamvention through the end of this weekend. In cooperation with VA3UV and KA8SCP, we’ve linked XRF020B and XRF038C to Dayton D-Star repeater W8RTL. So feel free to connect through the course of the weekend for updates from your fellow radio amateurs.

You can also connect via DMR to XLX020B using TG6. Key up with an initial private call to 64002.

Feel free to post any big Dayton news in the comments.

73 to everyone in Dayton and those who wish they were.

xlxd and SELinux

TL;DR — If you’re not running an xlxd based reflector using SELinux you can skip this post.

I recently migrated the XLX reflector from Debian Stretch to Fedora FC30. Debian is the platform recommended by the software author, but xlxd runs fine under Fedora as well. However, since I’m running with SELinux enabled, there were a couple of issues to tackle.

SELinux tags filesystem elements with a security context and in some cases, xlxd fails to access certain files for which it does not have authorization. There are three files that will require some special attention.

xlxd.pid -- contains the running process number
xlxd.log -- the XML log file used by the dashboard
callinghome.php -- contains the hash value used for registration

In my system, the files are installed in the following directories:


I had to create new rules to put the files in the correct security contexts.

semanage fcontext -a -t httpd_sys_content_t /var/log/xlxd.xml
semanage fcontext -a -t httpd_sys_content_t /var/run/xlxd.pid
semanage fcontext -a -t httpd_sys_rw_content_t \
/var/lib/httpd /xlxd/callinghome.php

One issue I discovered is that the contexts do not handle the creation of a new file. For that, I installed restorecond. This system daemon watches for specified files to be created and relabels the security context.

dnf install restorecon

Then, add the 3 fully pathed file names to /etc/selinux/targeted/contexts/files/file_contexts.local. Restart the restorecond service and you’re ready to start the xlxd, httpd, and php-fpm services.

A very useful command is ls -lZ. On an SELinux enabled system it will list the security context labels for each file.

ls -lZ
total 4
-rwxrwxrwx. 1 apache apache system_u:object_r:httpd_sys_rw_content_t:s0 66 May 16 14:12 callinghome.php

Another useful command is restorecon. RTFM.