Du möchtest M17-Signale direkt im OpenWebRX+ empfangen und dekodieren? Wir zeigen dir, wie du die fehlende Unterstützung ganz einfach selbst nachrüstest.
Hinweis:
Die folgende Anleitung bezieht sich auf ein System mit OpenWebRX+ v1.2.85, laufend auf einem Raspberry Pi 5B mit Debian 12 Bookworm (64 Bit, aarch64). Bei anderen Versionen oder Architekturen können einzelne Schritte abweichen.
OpenWebRX+ ist eine vielseitige Web-SDR-Software, die ideal geeignet ist, um Funkverkehr auch digital bequem über den Browser mitzuhören. Besonders im VHF- und UHF-Bereich lassen sich damit digitale Relais und Betriebsarten wie D-STAR, DMR, C4FM und NXDN direkt empfangen und dekodieren und das ganz ohne zusätzliche Software.
Ein Modus ist bislang allerdings nicht integriert: M17. Dabei handelt es sich um einen noch nicht so weit verbreiteten, offenen Standard für digitalen Sprachfunk, der zunehmend an Bedeutung gewinnt. Die gute Nachricht: Du kannst die Unterstützung für M17 selbst hinzufügen. Dafür sind allerdings ein paar grundlegende Linux-Kenntnisse und etwas Erfahrung mit der Konsole nötig. In dieser Anleitung zeigen wir dir, wie du Schritt für Schritt vorgehst.
Vorbereitungen
Bevor wir mit dem eigentlichen Nachrüsten des M17-Dekoders beginnen, solltest du dich zunächst per SSH auf dem Rechner einloggen, auf dem OpenWebRX+ installiert ist. Anschließend sorgen wir dafür, dass dein System auf dem aktuellen Stand ist und alle nötigen Werkzeuge zur Verfügung stehen.
sudo apt update
sudo apt full-upgrade
sudo apt install -y git cmake build-essential libboost-all-dev libgtest-dev libspeexdsp-dev
Hinweis:
Ich habe mir angewöhnt, den Sourcecode selbst zu kompilierender Programme im Verzeichnis /usr/local/src abzulegen und dort zu kompilieren. Dafür sind allerdings sudo-Rechte erforderlich. Ganz ohne sudo-Rechte kannst du die Kompilierung auch im Home-Verzeichnis deines Nutzers durchführen. Ersetze dazu im Folgenden einfach die Zeile
cd /usr/local/src
durch
cd ~
Codec2 installieren
M17 verwendet den offenen Codec2 zur effizienten Sprachcodierung und -dekodierung. Damit der M17-Dekoder richtig funktioniert, muss Codec2 auf deinem System installiert sein.
cd /usr/local/src/
sudo git clone https://github.com/drowe67/codec2.git
cd codec2/
sudo mkdir build && cd build
sudo cmake ..
sudo make -j$(nproc)
sudo make install
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/codec2.conf
sudo ldconfig
M17-Dekoder installieren
Wenn bis hierhin alles fehlerfrei gelaufen ist, können wir nun mit der eigentlichen Installation des M17-Dekoders beginnen.
cd /usr/local/src/
sudo git clone https://github.com/mobilinkd/m17-cxx-demod.git
cd m17-cxx-demod/
sudo mkdir build && cd build/
sudo cmake ..
sudo make -j$(nproc)
sudo make test
sudo make install
sudo ln -s /usr/local/bin/m17-demod /usr/bin/m17-demod
Test
Nach der Installation prüfen wir, ob der M17-Dekoder korrekt funktioniert und OpenWebRX+ die M17-Signale erfolgreich dekodieren kann. Dazu müssen wir den OpenWebRX+ Service zunächst neu starten.
sudo service openwebrx restart
Auf der Weboberfläche deines OpenWebRX+ solltest du jetzt im Fenster „Receiver“ unter „Modes“ eine neue Schaltfläche mit der Beschriftung M17 sehen. Aktiviere diese, um den M17-Dekoder einzuschalten.

Mit etwas Vorbereitung und ein paar Kommandos in der Konsole lässt sich OpenWebRX+ um die Unterstützung für den digitalen Betriebsmodus M17 erweitern.
Die hier beschriebene Vorgehensweise sollte sich grundsätzlich auch auf OpenWebRX (ohne Plus) und andere Linux-basierte Systeme übertragen lassen, eventuell mit kleinen Anpassungen.
Viel Erfolg und Spaß beim Ausprobieren und Experimentieren mit M17!
Betreibt ihr bereits einen OpenWebRX und habt diesen erfolgreich um weitere Funktionen erweitert? Habt ihr Ergänzungen oder Hinweise, die wir in diese Anleitung aufnehmen sollten? Dann schreibt es gerne in die Kommentare unter diesem Beitrag oder diskutiert sie mit uns in unserer Telegram- oder WhatsApp-Gruppe.
Hier findet ihr weitere Beiträge zu M17:
Möchtest du das DL-Nordwest Projekt unterstützen? Dann freuen wir uns über deinen Gastbeitrag, das Teilen unserer Inhalte oder eine (kleine) Spende 🤑 Vielen Dank für deine Unterstützung! 😘