Checkliste für einen Repeater im CarinthiaMesh. Die Befehle gibst du seriell über die CLI ein oder in der App, nachdem du dich als Admin am Repeater angemeldet hast.
password <deinPasswort>
set name RPT-VI-Dobratsch
set radio 869.618,62.5,8,5
set path.hash.mode 1
set multi.acks 1
set owner.info OE8XYZ|oe8xyz@example.at
set lat 46.6030
set lon 13.6720
set advert.interval 0
set flood.advert.interval 24
set repeat on
Danach mit get <name> kontrollieren. Details zu jedem Punkt weiter unten.
password <deinPasswort>
Als Erstes, vor allem anderen. Solange das Standardpasswort drin ist, kann sich jeder in Funkreichweite auf deinem Repeater anmelden und ihn umkonfigurieren.
Optional für Nur-Lese-Zugang:
set guest.password <anderesPasswort>
set allow.read.only on
set name RPT-VI-Dobratsch
Der Name steht auf der Karte und in jeder Kontaktliste. Er soll erkennen lassen, wo das Ding steht.
Schema im CarinthiaMesh: Rolle – Bezirk – Standort
| Bezirk | Kürzel |
|---|---|
| Klagenfurt Stadt | K |
| Klagenfurt Land | KL |
| Villach Stadt | VI |
| Villach Land | VL |
| Feldkirchen | FE |
| Hermagor | HE |
| St. Veit an der Glan | SV |
| Spittal an der Drau | SP |
| Völkermarkt | VK |
| Wolfsberg | WO |
Beispiele: RPT-SP-Speikkogel, RPT-VI-Dobratsch, ROOM-K-Zentrum
Was nicht hilft: Heltec V3, ThinkNode M6, Repeater1. Davon stehen mehrere auf der Karte und keiner weiß, wer dahintersteckt.
set radio 869.618,62.5,8,5
Reihenfolge: Frequenz, Bandbreite, Spreading Factor, Coding Rate
Frequenz, Bandbreite und SF müssen exakt stimmen – 869,618 MHz / 62,5 kHz / SF8. Wer hier abweicht, ist für alle anderen unsichtbar.
Die Coding Rate ist die Ausnahme. Sie steht im LoRa-Header jedes Pakets, der Empfänger liest sie dort aus. Sender und Empfänger müssen sie deshalb nicht gleich haben. Geräte mit CR5 und CR8 verstehen einander problemlos.
Praktisch heißt das:
| CR | Fehlerkorrektur | Sendezeit |
|---|---|---|
| 5 | weniger | kürzer |
| 8 | mehr | länger |
Auf Repeatern ist CR5 die bessere Wahl: kürzere Sendezeit pro Paket, mehr Pakete im selben Duty-Cycle-Budget. Bei sehr schwachen Verbindungen kann CR8 einzelne Pakete retten, die sonst verloren gehen – im Regelbetrieb überwiegt der Sendezeitvorteil.
Mehr → Funkeinstellungen
set path.hash.mode 1
MeshCore kennzeichnet Wegpunkte in den Paketen mit einem gekürzten Hash. Die Einstellung legt fest, wie lang der ist:
| Wert | Hash-Länge |
|---|---|
| 0 | 1 Byte |
| 1 | 2 Byte |
| 2 | 3 Byte |
Mit einem Byte gibt es bei wachsendem Netz Kollisionen – zwei verschiedene Nodes bekommen denselben Hash, und die Wegfindung greift daneben. Zwei Byte machen das ausreichend unwahrscheinlich, ohne die Pakete spürbar zu verlängern.
Auf Repeatern und Companions gleich setzen. Es bringt nichts, wenn nur eine Seite mit 2 Byte arbeitet.
set owner.info OE8XYZ|oe8xyz@example.at|Standort Dobratsch
Damit weiß jeder, wer den Repeater betreibt und wen man bei Problemen erreicht. Ein | wird als Zeilenumbruch übernommen, du kannst also mehrere Zeilen in einem Befehl setzen.
Ohne Owner Info steht auf der Karte ein anonymer Node, den niemand zuordnen kann.
set lat 46.6030
set lon 13.6720
Ohne Position erscheint der Repeater nicht sinnvoll auf der Karte, und niemand kann einschätzen, welches Gebiet er abdeckt. Bei einem festen Standort gibt es keinen Grund, sie wegzulassen.
Zwei getrennte Einstellungen:
set advert.interval <Minuten> # lokal, Zero-Hop
set flood.advert.interval <Stunden> # netzweit, Flood
| Einstellung | Erlaubter Bereich | Bedeutung |
|---|---|---|
advert.interval |
60–240 Minuten, oder 0 | nur direkte Nachbarn hören es |
flood.advert.interval |
3–168 Stunden | läuft durchs ganze Netz |
Frisch geflashte Repeater senden alle 2 Minuten einen lokalen Advert, damit man sie beim Aufbau findet. Sobald du das Intervall manuell setzt, schaltet die Firmware diesen Startmodus ab. Lass ihn nicht aus Versehen laufen – das ist Dauerfeuer.
Empfehlung für einen fertig aufgebauten Repeater:
set advert.interval 0
set flood.advert.interval 24
Der lokale Advert bringt an einem festen Standort wenig, der Flood-Advert einmal am Tag reicht, damit das Netz den Repeater kennt. Werkseinstellung sind 47 Stunden.
Jeder Flood-Advert beschäftigt jeden Repeater im Netz. Kurze Intervalle skalieren nicht.
set repeat on
Muss an sein, sonst ist es kein Repeater. set repeat off schaltet die Weiterleitung ab – nützlich zum Testen, nicht im Betrieb.
set tx 22
Angabe in dBm. 22 dBm sind rund 158 mW – die üblichen Module liefern das.
Der rechtliche Grenzwert von 500 mW ist e.r.p., also inklusive Antennengewinn. Mit einer Richtantenne kann die Reserve schnell aufgebraucht sein → Rechtliches
get name
get radio
get path.hash.mode
get advert.interval
get flood.advert.interval
get owner.info
Nach dem Setzen einmal alles zurücklesen. Tippfehler in der Frequenz fallen sonst erst auf, wenn wochenlang niemand den Repeater hört.
set loop.detect moderate # off | minimal | moderate | strict
set rxdelay <s>
set txdelay <faktor>
set radio.rxgain <n>
clock sync
loop.detect erkennt im Kreis laufende Pakete. Bei dichter werdendem Netz sinnvoll.
set multi.acks 1
Sorgt dafür, dass Direktnachrichten zweimal bestätigt werden statt einmal. Geht die erste Bestätigung auf dem Rückweg verloren, kommt die zweite an – der Absender sieht dann korrekt, dass seine Nachricht angekommen ist, statt sie unnötig zu wiederholen.
Der Wert zählt die zusätzlichen ACKs, nicht die Gesamtzahl.
Wert ACKs gesamt 0 1 (Werkseinstellung) 1 2 Gültig sind nur 0 und 1. Ein
set multi.acks 2wird zwar angenommen, beim nächsten Neustart aber auf 1 zurückgesetzt – die Firmware begrenzt den Wert beim Laden der Einstellungen.
Geprüft an meshcore-dev/MeshCore, Commit 03b6ef4 vom 28.07.2026: getExtraAckTransmitCount() liefert diesen Wert, und die offizielle CLI-Doku nennt als gültige Werte 0 und 1.
Nach dem Setzen einmal get multi.acks prüfen.
Start · Schnellstart · Funkeinstellungen · Kanäle · Geräte · Rollen · Repeater konfigurieren · Karte · FAQ · Glossar · Mitmachen · Alle Themen