MeshCore firmware 1.17.0: minder botsingen en vier nieuwe commando’s

Gestopt
Taal
Thema
MeshCore firmware 1.17.0: minder botsingen en vier nieuwe commando’s

MeshCore firmware 1.17.0: minder botsingen en vier nieuwe commando’s

Redactie 7 min leestijd

MeshCore bracht op zaterdag 9 augustus 2026 firmware v1.17.0 uit, voor alle drie de varianten: de companion die aan je telefoon hangt, de repeater die het netwerk uitbreidt, en de room server die berichten bewaart. Het is een release met veel kleine dingen en één grote, en dat grote gaat precies over het probleem waar een drukker wordend mesh als eerste tegenaan loopt: nodes die door elkaar heen praten. (Bron: release 1.17.0 en de releasepagina op GitHub.)

Minder botsingen, zonder dat je iets hoeft in te stellen

De belangrijkste verbetering kost je geen enkele instelling, en de knop die er wel bij komt zat er eigenlijk al.

De winst zit in het luisteren

Twee nodes die op hetzelfde moment zenden overstemmen elkaar, en dan komt geen van beide berichten aan. MeshCore hield dat tot nu toe vooral op afstand met een willekeurige wachttijd, zodat twee repeaters die hetzelfde bericht opvangen niet tegelijk aan het doorsturen beginnen. Deze release legt daar een tweede laag onder: voor het zenden luistert de radio eerst of het kanaal vrij is, en hij houdt zich in als er al iemand bezig is. Dat luisteren zat er al langer in, maar het herkende het begin van een uitzending niet betrouwbaar, bleef soms in een halve toestand hangen en wachtte te lang of te kort op een signaal. Alle drie zijn rechtgezet. MeshCore schrijft er zelf over dat het "could be the most significant performance improvement for all meshes". (Bron: release 1.17.0, hoofdstuk Packet Collision Improvements.)

Je merkt dat aan de kant van de ontvanger, niet in een instellingenscherm. Een repeater die minder botsingen veroorzaakt levert meer berichten af bij dezelfde hoeveelheid zendtijd, en dat effect wordt sterker naarmate er meer nodes binnen gehoorsafstand van elkaar staan. Hier in de Drechtsteden is het daarvoor nog rustig genoeg, dus verwacht geen zichtbare sprong. Elders in het land zitten de nodes flink dichter op elkaar, en daar valt met deze release het meeste te winnen.

De nieuwe knop was er al, alleen niet als knop

LoRa-chips hebben ook zelf een kanaalscan aan boord, Channel Activity Detection. Die zat al in MeshCore. Wat nieuw is, is dat je er zelf bij kunt met set cad on of off, standaard uit. (Bron: cad in de CLI-documentatie.)

Tot deze release hing die scan namelijk vast aan een andere instelling, int.thresh, waarmee je aangeeft hoeveel storing je nog acceptabel vindt voordat je je zending uitstelt. Wie die drempel had gezet kreeg de hardwarescan er ongevraagd bij, en wie hem op nul liet staan kreeg geen van beide. In deze release zijn ze losgekoppeld: int.thresh vergelijkt sindsdien alleen nog de signaalsterkte met de ruisvloer, en de scan is een eigen schakelaar geworden. (Te zien in de wijziging aan isChannelActive(), waar één gekoppelde controle twee losse controles wordt. De huidige code staat in RadioLibWrappers.cpp.)

Dat verklaart ook waarom hij standaard uit staat. MeshCore schrijft over de vernieuwde softwarematige aanpak:

Also, he found that the new scheme performs on par with hardware CAD, but without the 4 second lock-up glitches that CAD still suffers from. So, we are still leaving hardware CAD off by default.

Dat woordje still is het sleutelwoord: de standaard stond al uit en blijft uit, omdat er in hun tests geen winst tegenover die vastlopers staat. Er staat nergens dat je hem niet moet gebruiken. De schakelaar bestaat juist zodat je zelf kunt uitproberen of het in jouw omgeving anders uitpakt. (Bron: release 1.17.0, hoofdstuk Packet Collision Improvements.)

Let er bij het bijwerken wel op als je int.thresh had ingesteld. Dan draaide je met hardware CAD aan zonder dat je daarvoor gekozen hebt, en na de update is dat niet meer zo tenzij je set cad on geeft. Die bijwerking staat niet in de release notes; hij is af te lezen uit de wijziging hierboven.

Voor de Nederlandse regels verandert er niets

Een Nederlandse node op 868 MHz mag maar een klein deel van de tijd zenden. Die grens staat in Bijlage 11 van de Regeling gebruik van frequentieruimte zonder vergunning en zonder meldingsplicht 2015, en die kent één uitweg: je mag de tijdslimiet vervangen door technieken om interferentie te onderdrukken, in de praktijk luisteren voordat je zendt in combinatie met springen tussen kanalen. MeshCore doet sinds deze release het eerste een stuk beter, maar het tweede niet: alle Nederlandse nodes staan op één vaste frequentie. De uitzondering geldt dus niet en set dutycycle 10 blijft nodig. (Bron: de Regeling hierboven, en dutycycle in de CLI-documentatie. Uitgebreider op Over MeshCore.)

Zuiniger, vooral op de nRF-borden

Twee onafhankelijke verbeteringen die allebei op de accu drukken.

De eerste staat in de release notes als één regel:

nrf52 targets now use CC310 hardware crypto functions

De CC310 is een aparte crypto-eenheid die in de nRF52840 zit, de chip die onder meer in de RAK4631, de Heltec T114 en T096 en de LilyGo T-Echo gebruikt wordt. Versleutelwerk dat de processor eerst zelf moest doen gaat nu naar hardware die daar speciaal voor gemaakt is. Dat scheelt rekentijd, en rekentijd is stroom. Aan de buitenkant verandert er niets: het is hetzelfde rekenwerk door andere hardware, en de release noemt geen gevolgen voor sleutels of voor de omgang met nodes die nog niet zijn bijgewerkt. (Wat een CC310 precies is staat in de productspecificatie van Nordic. Welke borden een nRF52840 aan boord hebben is te zien aan hun bouwinstellingen in de MeshCore-broncode.)

De tweede verbetering geldt breder: het stroomverbruik in slaapstand en na uitschakelen is omlaag gebracht. Voor een node die het grootste deel van de dag ligt te wachten telt dat zwaarder dan een nieuwe functie. In dezelfde hoek zit een toevoeging voor repeaters: die zet je nu ook uit met een lange druk op de knop. (Bron: release 1.17.0. Het bestaande poweroff-commando blijft daarnaast gewoon in de documentatie staan.)

Vier nieuwe commando's

Naast cad hierboven kun je je node op drie nieuwe manieren uitvragen of bijsturen.

room.post laat een room server zelf een bericht in een room plaatsen, in plaats van alleen berichten van anderen te bewaren. Denk aan een welkomsttekst die iedereen te zien krijgt die de room later ophaalt. Let op: dit commando staat wel in de release notes maar nog niet in de CLI-documentatie van MeshCore. (Bron: release 1.17.0, waar het onder de nieuwe functies staat.)

get pwrmgt.bootreason vertelt waarom je node voor het laatst opnieuw is opgestart. Een watchdog, een lege accu en een gewone reset zien er in de berichten hetzelfde uit maar vragen om een ander antwoord. Op nRF-borden kon dit al, ESP32-borden hebben het sinds deze release. (Bron: release 1.17.0 voor de uitbreiding naar ESP-borden, en de commandobeschrijving, die vermeldt dat borden zonder power management een foutmelding teruggeven.)

get/set radio.fem.rxgain schakelt de ontvangstversterker van een front-end module, de chip tussen de radio en de antenne die sommige borden hebben. Dit staat los van radio.rxgain, dat de radiochip zelf regelt. Ondersteunt je bord het niet, dan krijg je een foutmelding terug. Meer versterking is niet vanzelf betere ontvangst: een versterker tilt behalve het signaal ook de ruis op, dus meet het verschil voor je hem laat staan. (Bron: de commandobeschrijving, die het onderscheid met radio.rxgain expliciet maakt.)

get eth.status hoort bij de nieuwe RAK-ethernetmodules en toont of de netwerkverbinding staat. (Bron: de CLI-documentatie.)

Verder in deze release

Drie dingen die het vermelden waard zijn, en één waarschuwing.

Noteer je instellingen voordat je bijwerkt. Deze versie slaat de configuratie van een node op een andere manier op, in JSON, op alle firmwaretypes. Of bestaande instellingen daarbij meeverhuizen staat niet in de release notes, en wij hebben het niet getest. Alles opnieuw invoeren kost hoe dan ook tijd, en hoeveel hangt af van waar je node hangt: op je bureau is het typewerk, bij een repeater op het dak van een flat, in een mast of in een boom komt daar een hele expeditie bij. Vraag de waarden die je zelf hebt gezet dus op en bewaar ze voor je begint. (Bron: release 1.17.0, hoofdstuk JSON Config.)

Tien nieuwe borden, onder meer de Sensecap X1 en MeshTracker X1, de Thinknode M7 en M9, de Heltec RC32, V4 R8 en Tower V2, en de RAK-ethernetmodules. Ook nieuw is ondersteuning voor de LR2021-radiochip. De images per bord staan op de releasepagina. (Bron: release 1.17.0.)

Ruim twintig bugfixes, waaronder een tijdsynchronisatie via GPS die op nodes met een lange looptijd bleef hangen, problemen met opnieuw verbinden via bluetooth op ESP32, en strengere controle op onzinnige routelengtes in binnenkomende pakketten. De release noemt geen enkele wijziging aan het pakketformaat zelf. (Bron: release 1.17.0, de lijst met issuenummers onderaan.)

Waar je de firmware vindt

De links naar de nieuwste firmware voor companion, repeater en room server staan op MeshCore Software.

Bronnen

Meer nieuws