Meshtastic Portugal · corredor norte–sul

Backbone da malha: regras e limitações

Um mapa das ligações rádio da malha, tirado do MQTT da comunidade, para descobrir que favoritos levam uma mensagem do Minho ao Algarve sem internet, com os zero-cost hops do firmware 2.7.11+.

5hop limit de referência
≥ 2pacotes por ligação
≥ −18 dBSNR mediano
14 diasde histórico no mapa
≤ 250 kmpara inferir um relay

Os valores com que este mapa está configurado. A Meshtastic PT recomenda hop limit 4.

Recolha

Como se desenha uma ligação

Uma ligação A → B quer dizer que B ouviu A diretamente, por rádio. Há quatro fontes, da mais certa para a menos certa:

FonteComo se obtém
Traceroute Cada salto da ida e da volta, com o SNR desse salto. Saltos com SNR 0 vieram pela internet e não contam. O mesmo salto repetido em menos de 5 minutos conta uma vez.
Direto Um gateway ouviu o pacote com 0 hops gastos.
Vizinhos O NeighborInfo que o próprio nó publica.
Relay O relay_node é só o último byte de quem retransmitiu. Conta apenas quando há um único candidato: um nó com esse byte que o gateway já ouviu diretamente, a menos de 250 km. Na dúvida, descarta-se.

Nunca contam os pacotes que vieram pela internet (via_mqtt). Para entrar nos caminhos, uma ligação precisa de 2 ou mais pacotes e SNR mediano de −18 dB ou melhor.

O mapa

SNR mediano ≥ −5 dB
de −5 a −10 dB
abaixo de −10 dB
Mais grossa: mais pacotes vistos
Tracejada: inferida só pelo relay byte, a menos certa
Nó sem GPS, em posição estimada

Um nó sem GPS é posto no centro dos vizinhos que têm GPS, com 1 a 2 km de desvio para não ficar por cima de outro. Serve para o desenhar; não é a posição real.

Caminhos e zero-cost hops

Um salto é grátis quando se cumprem as três condições:

  1. Quem retransmite é ROUTER, ROUTER_LATE ou CLIENT_BASE, com firmware 2.7.11 ou mais recente.
  2. Não é o primeiro salto.
  3. Quem lhe passou o pacote é um ROUTER ou ROUTER_LATE que ele tem nos favoritos. Com firmware 2.7.18 ou mais recente em quem retransmite, também um CLIENT_BASE.

A partir do firmware 2.8.0 há mais uma condição: o relay byte de quem passou o pacote (o último byte do ID) só pode corresponder a esse nó na lista de nós de quem retransmite. Se outro router, CLIENT_BASE, favorito ou vizinho direto tiver o mesmo byte, o salto gasta hop. O mapa não vê a lista de nós de cada rádio, por isso marca estes casos como aviso.

Um CLIENT_MUTE nunca retransmite, por isso nunca é quem passa o pacote: favoritá-lo não poupa hops. Um CLIENT retransmite, mas gasta sempre.

hop limit que sobra 5 4 4 4 origem R1 R2 R3 destino −1 (1.º salto) 0 (R1 nos fav.) 0 (R2 nos fav.)
Uma cadeia de routers que se favoritam uns aos outros gasta 1 hop só. Um rádio só retransmite se ainda tiver hop limit acima de 0, mesmo num salto grátis: o hop limit necessário pode ser os hops gastos mais 1.

Limitações

Como ajudar