Naar inhoud springen

Wel ontvangen niet zenden

Uit MeshWiki

Wel ontvangen, niet zenden

Een veelgehoorde vraag in MeshCore-netwerken: je ziet berichten van anderen binnenkomen, maar je eigen berichten lijken niet aan te komen. De meest voorkomende oorzaak is een asymmetrische radioverbinding: het signaal werkt in één richting beter dan in de andere.

Asymmetrisch bereik

Een LoRa-verbinding bestaat uit twee aparte paden: van A naar B, en van B naar A. Die paden hoeven niet even goed te werken. Als de ene kant een betere antenne of meer zendvermogen heeft, reikt het signaal in die richting verder. Je ontvangt dan wél pakketten van die kant, maar jouw signaal haalt de andere richting niet.

Dit kan op twee niveaus spelen:

Companion naar repeater

Een Companion node met een kleine antenne ontvangt berichten van een Repeater met een sterkere antenne. Maar het signaal van de companion is te zwak om de repeater te bereiken, waardoor je eigen berichten het netwerk niet in komen. Je herkent dit doordat berichten in rooms en DM's blijven retry'en, en berichten in channels geen repeat krijgen.

flowchart LR R["🗼 Repeater sterke antenne"] C["📱 Companion kleine antenne"] R -- "✅ signaal bereikt companion" --> C C -. "❌ signaal te zwak" .-> R

Repeater naar repeater

Ook tussen repeaters onderling kan asymmetrie optreden. Als repeater A een betere antenne heeft dan repeater B, stuurt A succesvol pakketten naar B, maar de pakketten van B halen A niet. Berichten die via A het netwerk in komen bereiken B, maar de omgekeerde route werkt niet. Nodes die alleen via repeater B het netwerk bereiken ontvangen dan wel berichten, maar hun antwoorden komen niet terug bij A. Dit is lastiger te herkennen: je krijgt wél een repeat van je eigen repeater, waardoor het lijkt alsof je bericht is verstuurd — maar het komt niet verder.

flowchart LR U["👤 Gebruiker"] A["🗼 Repeater A sterke antenne"] B["🗼 Repeater B zwakke antenne"] U --- A A -- "✅ pakketten bereiken B" --> B B -. "❌ pakketten halen A niet" .-> A

Klok niet in sync

Een minder voor de hand liggende oorzaak: de klok van een Repeater loopt niet gelijk. MeshCore gebruikt timestamps om replay attacks te detecteren. Wanneer een repeater een advertisement ontvangt, vergelijkt hij de timestamp met de vorige. Is de nieuwe timestamp niet hoger dan de vorige, dan wordt het pakket stilzwijgend weggegooid — ook als het een legitiem bericht is.

Dit kan gebeuren als de klok van je node of van een repeater in het pad niet goed is ingesteld. Je berichten worden dan gedropt zonder foutmelding. Een symptoom is dat contacten verschijnen als "last seen many days ago".

De klok kan gesynchroniseerd worden via:

  • GPS (als beschikbaar)
  • De companion app (automatisch via BLE)
  • USB serial console met het time commando
  • Remote door een admin via een T-Deck

Testen met observers

Een handige manier om te controleren of je pakketten het netwerk in komen is een bericht sturen in #mc-radar. Dit channel wordt opgepikt door observers die het doorsturen naar het internet. Als je bericht verschijnt, weet je dat je signaal ten minste één Repeater bereikt. Verschijnt er niets, dan komt je signaal het netwerk niet in. Zie Testen met MC-Radar voor meer informatie.

Antennepatroon

De meeste LoRa-antennes zijn omnidirectioneel: ze zenden en ontvangen vooral in het horizontale vlak, als een donut om de antenne heen. Recht omhoog en omlaag is het signaal juist zwak. Dat betekent dat hoogte helpt, niet omdat je "dichter bij" een andere node bent, maar omdat je signaal horizontaal verder reikt zonder obstakels.

Eigen repeater als oplossing

Als je alleen een Companion node hebt en vanuit huis niet ver komt, kan een eigen Repeater helpen. De companion hoeft dan alleen de korte afstand naar je eigen repeater te overbruggen. De repeater zendt vervolgens vanuit een hogere positie horizontaal het netwerk in, waar het antennepatroon het beste werkt.

Wat kun je proberen?

  • Stuur een bericht in #mc-radar en controleer of het op een Observer verschijnt (zie Testen met MC-Radar)
  • Probeer vanaf een hogere locatie te zenden
  • Gebruik een betere antenne op je node
  • Overweeg een eigen Repeater als je alleen een Companion node hebt

Zie ook