Dieser Vortrag behandelt das Open-Source-Projekt Open RTX, eine freie Firmware für kommerzielle digitale Handfunkgeräte. Der Fokus liegt auf dem Reverse Engineering und der Software-Portierung für das kostengünstige DMR-Funkgerät Ratel RT4D (Dualband, 144/430 MHz). Das Gerät basiert auf dem 32-Bit ARM-Mikrocontroller Artery AT32 sowie dem weit verbreiteten HF-Transceiver Beken BK4819. Durch die Dekompilierung des Windows-basierten .NET-Flash-Programms und die Analyse des Bootloaders wurde ein plattformunabhängiges, UART-basiertes Programmierwerkzeug entwickelt. Der Entwicklungsfortschritt umfasst die erfolgreiche Implementierung nativer Treiber für GPIO, das Monochrom-LCD, die Tastatur-Matrix und den externen SPI-Flash zur Sicherung gerätespezifischer Kalibrierungsdaten. Open RTX bietet Funkamateuren eine intuitive Benutzeroberfläche, erweiterte Funktionen wie das paketbasierte Ortungssystem APRS, den offenen digitalen Sprachstandard M17 sowie integrierte Sprachausgabe für barrierefreie Bedienung.
Wichtigste Punkte & Zeitstempel
0:16 Open RTX & Amateurfunkrecht: Lizenzierte Funkamateure besitzen das Recht, eigene Modifikationen an Hard- und Software vorzunehmen, was den Einsatz maßgeschneiderter Firmware auf kommerziellen Funkgeräten legalisiert.
2:47 Architektur von Open RTX: Die Firmware setzt auf ein Betriebssystem mit einer POSIX-kompatiblen API auf. Dies ermöglicht eine strikte Trennung von gerätespezifischen Hardware-Treibern und der plattformübergreifend einheitlichen Benutzeroberfläche.
3:33 Ratel RT4D Hardware-Architektur: Das DMR-Funkgerät nutzt einen ARM Artery AT32-Hauptprozessor, einen sekundären ARM-Coprozessor für die DMR-Protokollabwicklung mit 2 MB Firmware-Größe, einen externen SPI-Flash für Kalibrierungsdaten sowie den Transceiver-Chip Beken BK4819.
7:05 Reverse Engineering des Flash-Vorgangs: Durch die Analyse der .NET-basierten Flash-Software mit Decompiler-Tools wurde aufgedeckt, dass die Hersteller-Firmware unverschlüsselt als Intel-Hex-String im Programmcode eingebettet war. Dies ermöglichte die Entwicklung eines plattformunabhängigen Flash-Tools.
11:36 Native Treiber-Entwicklung: Für die Portierung wurden Gpio- und Delay-Treiber implementiert (symbolisiert durch eine blinkende LED), gefolgt von einem Display-Treiber für den Monochrom-LCD-Controller, einem Tastatur-Matrix-Treiber und einem Flash-Treiber zum Schutz der werkseitigen Abgleichdaten.
13:58 HF- und Audio-Schnittstellen: Die Kopplung von Audio-Routing und dem Transceiver-Chip BK4819 befindet sich in der Entwicklung, um eine universelle, plattformübergreifend wiederverwendbare Implementierung zu schaffen.
14:27 Funktionale Erweiterungen: Open RTX erweitert den Funktionsumfang der Funkgeräte um das Ortungs- und Datenprotokoll APRS, den offenen digitalen Sprachmodus M17 sowie synthetisierte Sprachmenüs zur Gewährleistung der Barrierefreiheit für sehbehinderte Bediener.
16:07 Zukünftige Zielplattformen: Evaluierung leistungsfähigerer Funkgeräte wie der AnyTone-Modelle, die mit signifikantem Speicher (512 MB Flash) und performanten ARM-Prozessoren ausgestattet sind, für zukünftige Open-RTX-Portierungen.
Glossar
DMR (Digital Mobile Radio): Ein internationaler, offener Standard für den digitalen Mobilfunk, der Sprache und Daten über zwei Zeitschlitze (TDMA) im 12,5-kHz-Kanalraster überträgt.
POSIX (Portable Operating System Interface): Eine standardisierte Schnittstelle zwischen Betriebssystemen und Anwendungssoftware, die die Portierbarkeit von Programmcode zwischen verschiedenen Systemen vereinfacht.
APRS (Automatic Packet Reporting System): Ein taktisches Datenfunknetzwerk im Amateurfunk zur Übertragung von Positionsdaten (GPS), Wetterdaten und Kurznachrichten.
M17: Ein vollständig offenes, patentfreies digitales Protokoll für die Sprach- und Datenübertragung im Amateurfunk, entwickelt als freie Alternative zu proprietären Codecs.
UART (Universal Asynchronous Receiver-Transmitter): Eine serielle Schnittstelle zur asynchronen Datenübertragung, die hier für die Kommunikation und das Flashen des Funkgeräts verwendet wird.
SPI-Flash: Ein nichtflüchtiger Speicherbaustein, der über das Serial Peripheral Interface (SPI) an den Mikrocontroller angebunden ist und im Funkgerät Kalibrierungs- und Konfigurationsparameter sichert.
GPIO (General-Purpose Input/Output): Universelle, programmierbare Ein- und Ausgangskontakte eines Mikrocontrollers zur Steuerung externer Komponenten (z. B. LEDs oder Tasten).
Intel Hex: Ein standardisiertes Dateiformat, das Binärdaten (wie Firmware-Images) in Textform (ASCII) codiert darstellt.
AT32 (Artery AT32): Eine Familie kostengünstiger 32-Bit-Mikrocontroller, die auf dem ARM Cortex-M-Prozessorkern basieren.
BK4819 (Beken BK4819): Ein hochintegrierter Ein-Chip-FM-SDR-Transceiver, der die Signalverarbeitung für Frequenzen im VHF- und UHF-Bereich übernimmt.