MeshCore-Ausblick: Der „New Direct Mode" kommt

Im Entwicklungszweig von MeshCore entsteht ein neues Direct-Routing: robuster gegen Ausfälle, verschlüsselt mit Sitzungs-ID und kompatibel zu alten Geräten. Ein Blick unter die Haube.

 

Hinweis: Grundlage ist der aktuelle Code im Branch new-direct-mode. Es gibt noch keine offizielle Dokumentation, Details können sich ändern, und ein Releasetermin steht nicht fest.

Das Problem heute

Direkt adressierte Nachrichten (Direct) folgen einem gespeicherten Pfad aus Repeater-Kennungen. Fällt ein Repeater auf dem Pfad aus, geht die Nachricht ins Leere, bis der Absender den Pfad verwirft und per Flood neu sucht. Außerdem schneidet jeder Repeater seine eigene Kennung aus dem Pfad ab. Am Ziel ist der Weg also nicht mehr nachvollziehbar.

Was sich ändert

1. Ein Zeiger statt Abschneiden. Der Pfad bleibt unverändert im Paket, ein Zähler (Cursor) wandert pro Hop weiter. Jeder Repeater prüft nur, ob an der aktuellen Stelle seine Kennung steht. Das nutzt das bestehende Paketformat „Transport Direct". Die Zusatzfelder tragen jetzt Modus, Cursor, Sequenznummer, Sitzungs-ID und Verschlüsselungstyp.

2. Vier Modi

  • Normal: wie bisher, nur mit Cursor.
  • Wide: Steht an der Cursor-Stelle ein anderer Repeater, aber der ist ein direkter Nachbar mit ausreichendem Signal, leitet dieser Knoten das Paket stellvertretend weiter. Dabei trägt er seine Kennung in den Pfad ein und markiert ihn als „modifiziert". So lernt der Empfänger, welchen Weg das Paket wirklich genommen hat. Die Wartezeit entspricht der von Flood-Paketen, damit sich Nachbarn nicht gegenseitig überfahren.
  • Wide (modifiziert): der markierte Zustand nach so einem Sprung.
  • Link-ID: ein fester Verbindungs-Bezeichner. Im Code noch nicht umgesetzt.

3. Neue Option für Repeater-Betreiber. Mit wide.snr.thresh legt man fest, ab welchem SNR ein Nachbar als Ersatz infrage kommt. Der Wert taucht auch in den Statistiken auf.

4. Neue Verschlüsselung. Statt des bisherigen Verfahrens wird ein Streaming-Modus mit 8-Byte-Authentifizierungstag verwendet. Als IV dienen Sitzungs-ID und Sequenznummer, damit sind Pakete eindeutig. Zwei weitere Verschlüsselungstypen sind schon reserviert.

5. Sanfter Umstieg. Jeder Kontakt startet im alten Modus. Kommt von ihm ein Paket im neuen Verfahren, merkt sich der Companion: „kann das" und antwortet fortan ebenso. Alte und neue Firmware sollten also weiter zusammen funktionieren. Quittungen (ACKs) laufen auf demselben Weg zurück.

Was daraus werden kann

Die Sequenznummer bildet die Basis für Verlust-Statistiken pro Verbindung. Im Code ist das als Aufgabe vermerkt, aber noch leer. Die Companion-Schnittstelle erhält dafür neue Kontakt-Felder, die Apps müssen sie also lernen.

Was noch offen ist

  • Link-ID-Modus fehlt.
  • Ein Kommentar im Code hinterfragt das Zusammenspiel mit Zero-Hop-Paketen.
  • Es werden Randfälle abgefangen, etwa wenn der nächste Pfad-Eintrag der eigene Knoten ist.

Für uns heißt das: Repeater-Standorte mit mehreren erreichbaren Nachbarn profitieren am meisten. Das Netz wird weniger auf Floods zurückfallen müssen.

Außerdem im dev-Zweig

  • BLE + WiFi für T-Beam Supreme, Heltec V4 (TFT) und ThinkNode M5
  • Zeitzonen in Viertelstunden (z. B. Nepal +5:45)
  • Auto-Erkennung für SH1106/SSD1306-Displays, überarbeitetes E-Ink-Verhalten
  • Verfeinerter LR2021-Support, Fix für negative Sendeleistung
  • Scope-0-Korrekturen, Härtung gegen ungültige Eingaben, Build-Fixes

Quelle: Branches dev und new-direct-mode im MeshCore-Repository, Stand 29. Oktober 2026.

Weitere News

Mit Version 1.18.0 (15. Oktober 2026) bekommt die Companion-Firmware eine eigene CLI, lässt sich aus der Ferne verwalten – und viele Geräte sprechen…

Weiterlesen

MeshCore erweitert seine Firmware um einen KISS-Modem-Modus. Damit lässt sich unterstützte LoRa-Hardware als Funkmodem an einen Computer anschließen…

Weiterlesen

Pull Request #1727 ist im MeshCore-Dev-Branch gelandet. Repeater, Room Server und Companions können den Kanal künftig per Hardware Channel Activity…

Weiterlesen