NodeInfos with destination node on non-primary channels incorrectly change node's reported channel #63

Open
opened 2026-10-05 06:04:29 +02:00 by adam · 1 comment
Owner

While nodeinfo broadcasts to all are only sent on a node's primary channel, Nodes may send NodeInfos directed to nodes that are only accessible on secondary channels when they are discovered. In Meshview this results in a node's reported channel being the secondary channel it most recently sent a NodeInfo on even when no broadcasts to all have been sent on that channel.

The correct behavior should be to ignore directed NodeInfos and only count NodeInfos without a destination when determining a node's primary channel.

Tested on v3.0.7

Reproduction steps:

Configure a network-connected node with UDP meshing enabled and a common secondary channel with default key that is uplinked to MQTT

Configure another node on the same network with UDP meshing enabled and the aformentioned secondary channel as its primary channel

Observe meshview as the nodes discover each other, it will incorrectly report the first node on the default channel as being on the secondary after the directed nodeinfo is sent, and this will persist until the first node broadcasts another nodeinfo to primary.

While nodeinfo broadcasts to all are only sent on a node's primary channel, Nodes may send NodeInfos directed to nodes that are only accessible on secondary channels when they are discovered. In Meshview this results in a node's reported channel being the secondary channel it most recently sent a NodeInfo on even when no broadcasts to all have been sent on that channel. The correct behavior should be to ignore directed NodeInfos and only count NodeInfos without a destination when determining a node's primary channel. Tested on v3.0.7 Reproduction steps: Configure a network-connected node with UDP meshing enabled and a common secondary channel with default key that is uplinked to MQTT Configure another node on the same network with UDP meshing enabled and the aformentioned secondary channel as its primary channel Observe meshview as the nodes discover each other, it will incorrectly report the first node on the default channel as being on the secondary after the directed nodeinfo is sent, and this will persist until the first node broadcasts another nodeinfo to primary. <!-- github-sync-id:4868259770 -->
Author
Owner

It's worth noting I abused this bug to make my anthrocon specific meshview instance work (https://awoo.corg.ski) but it resulted in undesired behavior on the main WPAMesh meshview as a result.

It's worth noting I abused this bug to make my anthrocon specific meshview instance work (https://awoo.corg.ski) but it resulted in undesired behavior on the main WPAMesh meshview as a result. <!-- github-comment-id:4952309562 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/meshview#63