meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
3.64k stars 913 forks source link

Add setting to transmit NeighborInfo over LoRa #5286

Closed GUVWAF closed 2 weeks ago

GUVWAF commented 2 weeks ago

As discussed in #5082 and https://github.com/meshtastic/protobufs/pull/618.

When setting neighbor_info.transmit_over_lora to true (default to false), next to sending it to MQTT/PhoneAPI, it will also broadcast it over LoRa to be able to obtain it from remote nodes. This happens only when not using the default channel as primary, and the channel utilization allows it.

Furthermore, the absolute minimum you can set the NeighborInfo broadcast interval to is bumped to 14400 (4 hours).

macvenez commented 2 weeks ago

This happens only when not using the default channel as primary, and the channel utilization allows it.

Hi, does this mean that NeighborInfo data is only transmitted to the default channel if it's not primary? I don't know if there's still this limitation but I remember position data was sent only on primary channel, would this mean we'll have neighbor info on default channel but not position?

What's the purpose of this? Wouldn't this still generate the same traffic? Thanks!

GUVWAF commented 2 weeks ago

Hi @macvenez, indeed, periodic broadcasts only go out on the primary channel, so if that is the default channel, it won’t allow it. It was added upon request here https://github.com/meshtastic/protobufs/pull/618.

When you have a private primary channel, it will automatically use a different frequency slot. When using EU_868 there is only one, so indeed then it would lead to the same channel utilization on the mesh.

ragnarblackmane commented 1 week ago

@GUVWAF

So: -if a default channel (e.g. MediumFast), is primary: no NeighborInfo over LoRa (as per pull #5286); -if a default channel (e.g. MediumFast), is secondary: no NeighborInfo over LoRA (normal behaviour since periodic broadcasts happen only on Primary channel); -wherever can be used more than one frequency (e.g. USA): NeighborInfo traffic goes on another frequency (since a private primary channel is used); -in EU (single slot): we'll have a bit less channel utilization because by effectively disabling NeighborInfo over LoRa on primary+default channel.

Am i right?

GUVWAF commented 1 week ago
noon92 commented 1 week ago

That's a shame - on our mesh we use neighborinfo quite a bit on default channel.