Da sich in meinem Shack schon seit Langem NXDN-Funkgeräte von Kenwood langweilen, mir die Sprachqualität von NXDN jedoch sehr gut gefällt, wollte ich die Geräte gerne sinnvoll im Amateurfunk einsetzen.

Also war die Idee geboren über den Hotspot in der Betriebsart NXDN einzusteigen und mittels Transcodierung in DMR, C4FM oder D-Star mitspielen?

Auf meinen Hotspots lief seit Jahren Pi-Star sehr zuverlässig. Doch unterstützt Pi-Star offiziell nur den umgekehrten Web, DMR2NXDN. Man könnte so mittels DMR-Funkgerät in ein NXDN-Netzwerk einsteigen, nicht jedoch umgekehrt. Interessanterweise sind die erforderlichen Binaries NXDN2DMR im Pi-Star Image enthalten, jedoch lässt es sich nicht über die Oberfläche einfach konfigurieren. Hierzu muss Hand angelegt werden.

Umfangreiche Recherchen und einige Tests haben mich auf den richtigen Weg gebracht. Hierbei bin ich neben Pi-Star auch auf das WPSD-Image von W0CHP gestoßen. Im Gegensatz zu WPSD scheint bei Pi-Star die Entwicklung eingeschlafen zu sein. Die derzeit letzte als Download erhältliche Version 4.1.5 stammt von Oktober 2021.  Der letzte Eintrag im Change Log ist mit Version 4.1.4 sogar von Februar 2021. Über die Upgrade-Funktion wird auf Version 4.1.6 aktualisiert.

Das WPSD-Image wird aktuell ständig erweitert und aktualisiert, praktisch täglich stehen Updates zur Verfügung. Allerdings wird auch hier NXDN2DMR nicht direkt unterstützt. Auf Nachfrage im Discord Chat, wie der Service NXDN2DMR aktiviert werden kann, hat mich der Autor W0CHP sogar eindeutig darauf hingewiesen, dass man hierbei auf sich selbst gestellt ist und kein Support geleistet wird.

Die Binary NXDN2DMR war bis zum 24.12.2023 noch im Image enthalten, mit Update vom 26.12. wurde sie jedoch sogar gelöscht. Dies war eine anscheinend eindeutige Reaktion auf meine Anfrage…

Beim entscheidenden Durchbruch hat Michael DC9VQ mitgewirkt, dafür ein großes Dankeschön!

 

Was ist zu tun:

Image-Datei erstellen und Raspberry einsatzbereit machen

Man nehme ein frisch installliertes WPSD-Image, das bei "https://w0chp.radio/wpsd/" heruntergeladen werden kann. Wer statt WPSD das Pi-Star Image verwendet, muss im ersten Schritt das Dateisystem mit "rpi-rw beschreibbar machen!

Wie man das Image auf eine Speicherkarte und letztendlich den Raspberry damit ans Laufen bekommt erspare ich mir. Dies ist auf vielen Seiten im Internet, u. A. auch bei w0chp beschrieben.

Hat man den Raspberry am Laufen, müssen als erstes die Konfigurationsdateien angelegt bzw. angepasst werden. Ich erläutere dies am XLX Reflektor 169, den Michael, DC9VQ zur Verfügung stellt (auch dafür wieder ein großes Dankeschön!) und über den die verschiedenen Betriebsarten DMR, C4FM und D-Star im Reflektor 169 DL Hessen/Rheinland Pfalz zusammengeschaltet werden.

 

NXDN2DMR.ini erstellen

Unter /etc ist die Konfiguration für NXDN2DMR zu erstellen. Hierzu erstellen wir im Verzeichnis eine neue Datei mit dem Inhalt:

Alle fett und kursiv markierten Abschnitte müssen mit den eigenen Daten angepasst werden.

 

[Info]
RXFrequency=439825000
TXFrequency=439825000
Power=1
Latitude=xx.xx
Longitude=x.xx
Height=xxx
Location=Ort
Description=Beschreibungstext
URL=www.webseite.de
 
[NXDN Network]
Callsign=Rufzeichen
TG=20
DstAddress=127.0.0.1
DstPort=14050
LocalAddress=127.0.0.1
LocalPort=42022
DefaultID=65519
Daemon=0
 
[DMR Network]
Id=DMR-ID
XLXFile=/usr/local/etc/XLXHosts.txt
XLXReflector=169
XLXModule=A
# StartupDstId=9990
# For TG call: StartupPC=0
# StartupPC=1
Port=62030
Jitter=500
Password=PASSWORD
Options=
Debug=0
 
[DMR Id Lookup]
File=DMRIds.dat
Time=24
 
[NXDN Id Lookup]
File=NXDN.csv
Time=24
 
[Log]
# Logging levels, 0=No logging
DisplayLevel=1
FileLevel=1
FilePath=/var/log/pi-star
FileRoot=NXDN2DMR

 


XLXHosts.txt anpassen

In der Datei /usr/local/etc/XLXHosts.txt muss der XLX-Server mit Reflektor, IP-Adresse und Port angegeben werden. Die zu ergänzende Zeile lautet für den XLX169:

169;217.72.202.215;4004

 

Ich habe die Zeile an der richtigen Stelle ergänzt. Ein Auszug der Datei schaut dann wie folgt aus:

 

164;44.98.254.88;4004
165;84.254.24.85;4004
166;79.137.85.89;4004
169;217.72.202.215;4004
170;46.254.106.21;4004
171;62.113.103.244;4004
174;81.169.128.244;4004

 

NXDNHosts.txt anpassen

In der Datei NXDNHostsLocal.txt muss der NXDN-Server eingetragen werden

/usr/local/etc/NXDNHostsLocal.txt

Man kann die Datei mittels Editor ergänzen. Alternativ kann dies auch über die Oberfläche von WPSD erfolgen, unter: Configuration / Advanced/Hosts File Editors /NXDNHosts

Wichtig hierbei ist, die Werte müssen mit Tabulator getrennt sein, _nicht_ mit Leerzeichen! Dies funktioniert in der Weboberfläche nur, indem man den Eintrag in einem Editor erstellt und dann in die Datei hineinkopiert. Für den XLX169 sieht die Zeile wie folgt aus:

 

##############################################
#                                                                                               #
# NXDN_Hosts.txt - Local Add-on                                            #
# Written by Andy Taylor (MW0MWZ) for Pi-Star                    #
#                                                                                               #
##############################################
#                                                                                                #
# Add your over-ride lines below, following the example        #
# please make sure that lines are tab delimited and NOT        #
# space delimited.                                                                     #
#                                                                                                #
###############################################
# TG Number        IP/Hostname        Port Number                   #
###############################################
# Example Host
#10123                1.1.1.1                41000
 
26269        xlx169.db0htv.de        62030

 

Repository von Github laden und kompilieren - kann bei Pi-Star entfallen!

Sollte im Verzeichnis "/usr/local/bin" das Binary "NXDN2DMR" bereits vorhanden sein, ist es nicht notwendig das Repository von Gitub zu laden. Der folgende Abschnitt kann übersprungen werden.

 

In das Home-Verzeichnis "/home/pi-star" wechseln und folgenden Befehl ausführen:

git clone https://github.com/juribeparada/MMDVM_CM

 

Anschließend mit "cd MMDVM_CM" in das Verzeichnis wechseln und

"make" ausführen, damit die Binaries kompiliert werden. Dies kann einige Zeit dauern.

 

Wenn das Kompilieren abgeschlossen ist sollte im Verzeichnis /usr/local/bin unter Anderem das Programm "NXDN2DMR" erstellt worden sein.

Mit dem Befehl "NXDN2DMR" kann das Programm nun aufgerufen werden und sollte eine ähnliche Ausgabe erzeugen:

pi-star@pistar:~$ sudo NXDN2DMR
I: 2023-12-26 19:08:45.039 This software is for use on amateur radio networks only,
I: 2023-12-26 19:08:45.041 it is to be used for educational purposes only. Its use on
I: 2023-12-26 19:08:45.042 commercial networks is strictly prohibited.
I: 2023-12-26 19:08:45.042 Copyright(C) 2018 by CA6JAU, G4KLX and others
I: 2023-12-26 19:08:45.050 Loaded 688 XLX reflectors
M: 2023-12-26 19:08:45.052 Opening NXDN network connection
M: 2023-12-26 19:08:45.054 DMR Network Parameters
M: 2023-12-26 19:08:45.057     ID: 2626030
M: 2023-12-26 19:08:45.059     Default SrcID: 2626030
M: 2023-12-26 19:08:45.061     XLX Reflector: 169
M: 2023-12-26 19:08:45.062     XLX Module: A (4001)
M: 2023-12-26 19:08:45.062     Port: 62030
M: 2023-12-26 19:08:45.063     Local: random
M: 2023-12-26 19:08:45.063     Jitter: 500ms
M: 2023-12-26 19:08:45.063 Info Parameters
M: 2023-12-26 19:08:45.065     Callsign: DJ2VA
M: 2023-12-26 19:08:45.066     RX Frequency: 439625000Hz
M: 2023-12-26 19:08:45.068     TX Frequency: 439625000Hz
M: 2023-12-26 19:08:45.068     Power: 1W
M: 2023-12-26 19:08:45.068     Latitude: 50.119999deg N
M: 2023-12-26 19:08:45.068     Longitude: 8.830000deg E
M: 2023-12-26 19:08:45.069     Height: 100m
M: 2023-12-26 19:08:45.069     Location: "Muehlheim"
M: 2023-12-26 19:08:45.069     Description: "Multi-Mode Repeater"
M: 2023-12-26 19:08:45.070     URL: "www.dj2va.de"
M: 2023-12-26 19:08:45.071 DMR, Opening DMR Network
W: 2023-12-26 19:08:45.071 Cannot open the DMR Id lookup file - DMRIds.dat
W: 2023-12-26 19:08:45.073 Cannot open the NXDN Id lookup file - NXDN.csv
M: 2023-12-26 19:08:45.076 Starting NXDN2DMR-20200503
I: 2023-12-26 19:08:45.078 Started the DMR Id lookup reload thread
I: 2023-12-26 19:08:45.079 Started the NXDN Id lookup reload thread
D: 2023-12-26 19:08:55.194 DMR, Sending authorisation
D: 2023-12-26 19:08:55.216 DMR, Sending configuration
M: 2023-12-26 19:08:55.234 DMR, Logged into the master successfully
M: 2023-12-26 19:08:55.240 XLX, Linking to reflector XLX169, module A

 

Entscheidend sind die beiden letzten Zeilen

"Logged into…"
"XLX, Linking to…"
 
Das bedeutet, dass sich unser Hotspot mit dem Server verbunden hat. Sind wir mit dem Master verbunden und der Reflektor wurde verlinkt, sollte die Anbindung per NXDN stehen. Wird der Hotspot auf der NXDN-Talkgroup 20 angesprochen, werden die Aussendung über den Reflektor 169 ausgesendet. Umgedreht sendet der Hotspot alle Gespräche des Reflektors ebenfalls über die NXDN-Talkgroup 20 über HF aus.

 

Um nun noch dafür zu sorgen, dass NXDN2DMR automatisch beim Start des Hotspots gestartet wird, habe ich am Ende der Datei /etc/rc.local folgenden Zeilen hinzugefügt:

# starte NXDN2DMR für die Brücke NXDN2DMR
/usr/local/bin/NXDN2DMR

Wichtig: Die Zeilen müssen vor der letzten Zeile "exit 0" stehen!

Wenn alles richtig eingetragen ist, sollte sich der Hotspot nach dem Start automatisch mit dem Server verbinden. Dies kann unter

https://xlx169.db0htv.de/xlx2/

 

Unter der Spalte DL Hessen/RLP A sollte dieser aufgeführt sein:

 

Sobald der Hotspot hier erscheint, haben wir alles richtig gemacht und können über NXDN am Hotspot einsteigen.

Anpassen der Lautstärke

Die Modulation über NXDN2DMR ist deutlich lauter und eckt teilweise schon an. Dies kann über den Parameter "RXLevel" in der Datei MMDVMHost angepaßt werden. Im Abschnitt [Modem] muß hierzu der RXLevel reduziert werden. Als Standard ist 50 eingestellt. Ich habe den Wert auf 30 reduziert. Dadurch habe ich die gleiche Lautstärke wie beim Einstieg über DMR erreicht. Nachteil: Wechselt man die Betriebsart des Hotspot und nutzt DMR, D-Star oder C4FM ist die Modulation vermutlich zu leise und der Wert muss wieder auf 50 erhöht werden.

 

Falls jemand auf einem anderen Reflektor über NXDN einsteigen möchte, muss dies am entsprechenden XLX-Server auch entsprechend konfiguriert werden. Bei Fragen steht Michael, DC9VQ gerne zur Verfügung.

 

Ein wichtiger Hinweis zum Schluß: Offiziell wird die Variante NXDN2DMR weder von Pi-Star noch von WPSD unterstützt. Meine Anfragen bzgl. Support sind teilweise recht eindeutig "abgeschmettert" worden. Man ist hier auf sich alleine gestellt. Dies zeigt sich unter Anderem daran, dass das Binary "NXDN2DMR" nach meinen Anfragen aus dem Image entfernt wurde. Mit der obigen Beschreibung funktioniert derzeit der Einstieg über NXDN. Ob dies mit einem der nächsten Updates von Pi-Star oder WPSD weiterhin so bleibt, wird sich zeigen.