D74A and XLX Special Character Woes

A fellow New Jersey ham was having the hardest time using my XLX reflector. He could connect to a reflector module. He could hear conversations, but none of his transmissions were making it out over the reflector. Strangely, he had no such problems when using a DPlus reflector. His radio is a Kenwood D74A.

He uses a SharkRF openSpot2 as his hotspot. While helping to search for a solution, I remembered a thread I saw on the Pi-Star Forums. The author complained of not being heard on an XLX reflector via a D74A. The cause and the solution had nothing to do with Pi-Star, but rather it proved to be a quirk with the D74A and the XLX software.

Apparently the D74A allows any character to be entered into the Callsign Extension field. These are the 4 bytes following the “/”. While these characters were orignally made available to support reciprocal operations and portable suffixes, they are now commonly used to identify the type of radio being used. So my D74A callsign is setup as K2IE____/D74A (the underscores represent spaces). My friend’s radio had “@?” in the Callsign Extension field. These unexpcted characters seemed to cause the XLX reflector to ignore the attempted transmission.

The Icom radios support only A-Z and 0-9 in the callsign extension field. The D74A allows lowercase and special symbols too. Don’t use anything other than A-Z and 0-9 in the Callsign and the Callsign Extension fields and you won’t have this problem.

To make things more interesting, the ham who reported this issue is visually impaired. He relies upon the radio’s voice prompts. However, the Kenwood D74A voice prompting system ignored the @? characters completely, so he never had any idea that they were present. Another local ham who was alerted to the special character problem on the D74A spotted the issue and fixed things.

73 de K2IE

D-Star & DMR Interoperability

If you’re a fan of either D-Star or DMR, you have probably noticed the proliferation of multi-protocol gateways. These gateways, such as the XLX020 system, permit users of radios of one type to communication with users of radios of another type. Multiprotocol gateways help to defragement the amateur digital landscape.

However, there can be issues if the transmitting operator is not registered on both systems. Have you been on a DMR radio and seen the transmitting party display as radio id 0? They are a D-Star (or Fusion or P25 or NXDN) operator who has not registered a DMR radio number.

For DMR operators who have not registered with their nearest D-Star gateway, transmissions could even fail to pass through the D-Star gateway to connected D-Star repeaters.

Therefore, k2ie.net highly recommends that all amateurs using any digtial voice mode register for BOTH a DMR radio id and with a local D-Star gateway, whether or not you have a corresponding digital radio.

You can register for a DMR radio ID at http://www.radioid.net. Hams in Europe and Africa should register at http://www.ham-digital.org.

If you’re not sure of your local D-Star gateway, you can follow the instructions at https://www.dstargateway.org/D-Star_Registration.html.

73 de K2IE

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.

73

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

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]
Startup=020
Enabled=1
File=/usr/local/etc/XLXHosts.txt
Port=62030
Password=passw0rd
ReloadTime=60
Slot=1
TG=6
Base=64000
Relink=60
Debug=0
Id=1234567
UserControl=1
Module=A

My Brandmeister configuration:

[DMR Network 1]
Enabled=1
Address=107.191.99.14
Port=62031
TGRewrite0=2,9,2,9,1
PCRewrite0=2,94000,2,4000,1001
TypeRewrite0=2,9990,2,9990
SrcRewrite0=2,4000,2,9,1001
PassAllPC=2
PassAllTG=2
Password="passw0rd"
Debug=0
Name=BM_United_States_3101
Id=123456701

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:

/var/run/xlxd.pid
/var/log/xlxd.log
/var/lib/httpd/xlxd/callinghome.php

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.

73