MeshCore firmware v1.16 nuove funzioni

Con l’arrivo del nuovo firmware MeshCore v1.16, vengono introdotti alcuni comandi molto interessanti dedicati soprattutto alla gestione dei repeater e del traffico radio generato in modalità Flood.

Si tratta di novità importanti perché permettono ai gestori dei ripetitori di controllare meglio la propagazione dei pacchetti, riducendo il rischio di traffico eccessivo, instradamenti non desiderati e possibili congestioni della rete, soprattutto in scenari dove sono presenti molti repeater attivi.

L’obiettivo principale è quello di rendere la rete MeshCore più ordinata, più efficiente e più coerente con il concetto di Regional Scope, cioè la possibilità di limitare o organizzare la propagazione dei pacchetti in base a una determinata area geografica.

Il nuovo parametro flood.max.unscoped

Uno dei comandi più interessanti introdotti con il firmware v1.16 è:

flood.max.unscoped

Questo parametro consente di impostare il numero massimo di HOP che un repeater accetterà per qualsiasi pacchetto inviato in modalità FLOOD ma senza Regional Scope.

In pratica, quando un pacchetto Flood non contiene uno scope geografico definito, il repeater potrà decidere fino a quanti passaggi accettarlo prima di bloccarlo.

Questa funzione rappresenta un’alternativa molto più precisa rispetto al comando:

denyf *

che risulta troppo generico perché lavora con una logica “tutto o niente”, bloccando in maniera indiscriminata il traffico Flood.

Con flood.max.unscoped, invece, il comportamento diventa più raffinato: non si blocca tutto, ma si stabilisce un limite operativo per i pacchetti Flood privi di scope.

Comandi principali

Per verificare il valore attualmente impostato:

get flood.max.unscoped

Per impostare un nuovo valore:

set flood.max.unscoped <value>

Dove <value> rappresenta il numero massimo di HOP consentiti per i pacchetti Flood non associati a uno scope regionale.

Attenzione: il default scope resta fondamentale

È importante chiarire un aspetto: utilizzare flood.max.unscoped oppure denyf * può diventare poco utile, o addirittura dannoso, se i gestori dei repeater non iniziano a configurare correttamente il default scope sui propri sistemi.

Ancora oggi molti repeater continuano a generare e inoltrare traffico Flood senza alcun Regional Scope. Questo riguarda, ad esempio:

FLOOD ADVERT
FLOOD REQUEST
FLOOD RESPONSE

e più in generale tutto ciò che viene trasmesso semplicemente come FLOOD.

Questo comportamento è facilmente verificabile dai log del proprio Companion: quando nei log compare solo FLOOD <qualcosa>, significa che quel traffico non sta utilizzando un Regional Scope.

Quando invece un repeater è configurato correttamente con il default scope, il traffico generato dal repeater, come gli advert, dovrebbe apparire come:

TRANSPORT FLOOD

Questo indica che il traffico viene gestito con una logica più ordinata e coerente con la struttura regionale della rete.

Perché configurare region default

Il parametro region default permette di assegnare uno scope predefinito al repeater.

Per una buona propagazione a livello nazionale, i gestori dei repeater italiani dovrebbero iniziare almeno con lo scope:

it

In questo modo il traffico generato dal repeater viene associato allo scope nazionale italiano, evitando che venga trasmesso come Flood completamente privo di riferimento geografico.

Per verificare lo stato attuale del default scope:

region default

In molti casi il valore potrebbe risultare null, cioè non impostato.

Per impostare lo scope nazionale italiano:

region default it

Per salvare la configurazione:

region save

Questa configurazione rappresenta un passaggio importante per migliorare il comportamento generale della rete MeshCore, soprattutto in presenza di più repeater distribuiti sul territorio.

Il nuovo comando region def

Un’altra novità molto utile introdotta con il firmware v1.16 è il comando:

region def <token> [<token> ...]

Questo comando consente di definire le regioni direttamente sul repeater in forma gerarchica, utilizzando una singola linea di comando.

Si tratta di una soluzione più rapida rispetto alla gestione tramite comandi multipli o tramite region load.

Esempio di gerarchia lineare

Con il seguente comando:

region def a b c d e
region save

viene creata una gerarchia lineare in cui ogni Regional Scope eredita i permessi di flood dal precedente.

In questo esempio, la struttura è progressiva:

a → b → c → d → e

Ogni livello è collegato al precedente, formando una catena ordinata.

Esempio di alberatura

È possibile creare anche una struttura più articolata, simile a quella che si otterrebbe con comandi multipli come:

region put a
region put b a
region put c b
region put d c
region put e b
region put f e

La stessa logica può essere espressa con:

region def a b c d|b e f
region save

In questo caso viene creata una struttura ad albero, dove alcuni elementi non seguono semplicemente la catena lineare, ma vengono collegati a specifici rami della gerarchia.

Esempio di struttura piatta

È possibile anche definire una struttura piatta, dove ogni regione è figlia di allowf *

Esempio:

region def a|* b|* c|* d|* e|* f
region save

Questa configurazione può essere utile quando si desidera che più regioni siano gestite allo stesso livello, senza una gerarchia progressiva tra loro.

Considerazioni operative per i gestori dei repeater

Queste nuove funzioni rappresentano un passo avanti importante nella gestione del traffico Flood all’interno della rete MeshCore.

Tuttavia, il punto centrale resta uno: i repeater dovrebbero essere configurati correttamente con un Regional Scope predefinito.

L’adozione del solo parametro flood.max.unscoped, senza impostare anche region default, rischia di limitare il traffico in maniera non ottimale, perché buona parte dei pacchetti potrebbe continuare a essere generata senza scope.

La strada consigliata è quindi:

  1. verificare se il repeater ha già un default scope configurato;

  2. impostare almeno lo scope nazionale it;

  3. salvare la configurazione;

  4. solo dopo valutare l’uso di flood.max.unscoped per limitare il traffico Flood non correttamente scopato.

Comandi consigliati

Verifica dello scope attuale:

region default

Impostazione dello scope nazionale italiano:

region default it

Salvataggio della configurazione:

region save

Verifica del valore Flood massimo per pacchetti senza scope:

get flood.max.unscoped

Impostazione del valore massimo di HOP per Flood senza scope:

set flood.max.unscoped <value>

Salvataggio finale della configurazione, se richiesto dal contesto operativo:

region save
Conclusione

Il firmware MeshCore v1.16 introduce strumenti molto utili per migliorare la gestione dei repeater e rendere più ordinato il traffico Flood all’interno della rete.
La corretta configurazione del Regional Scope diventa sempre più importante, soprattutto in una rete in crescita come quella italiana, dove la presenza di più repeater richiede regole chiare, coordinate e coerenti.
L’invito per tutti i gestori di repeater è quindi quello di verificare la propria configurazione, impostare almeno il default scope nazionale it e valutare con attenzione i nuovi parametri disponibili.

Un sentito ringraziamento ad Armando per il prezioso contributo tecnico e per la segnalazione di queste importanti novità operative.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *