Fix Ghost Nodes On Certain Node Orientation #103
Merged
+14
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changed?
If multiple link events occur at the same time,
handle them both individually,
rather than one or the other.
How does it make Bristlemouth better?
When node orientation is as follows, ADIN2111 port 2 downstream (towards the anchor) and port 1 is upstream (toward a sofar buoy), downstream nodes in a Bristlemouth network inconsistently appear properly in network topology and communicate on the network.
Why might this be happening in the first place?
During the link change callback registered to the driver (this is called when a link change event is detected), it only checks to see if one port or the other port has a link change event. Below is a snippet of that code:
Evaluating a weekend soak with a network in this improper orientation, port 2 facing Spotter, the first two nodes will always show up at the beginning of a sample interval, but every now and again only the first two show up.
Below is an example of that:
Source: SPOT-ZACDEV_07282025/0002_BRIDGE_CFG.log
By changing this callback function to handle the link events if they happen at the same time, the device can now pass this information properly to
L2:I left a unit soaking for about 20 hours and did not experience any missing nodes with a 5 minute sample interval.
Below is the file I utilized to validate this:
0001_BRIDGE_CFG.log
SPOT-MJK_07302025.zip
Where should reviewers focus?
All changes are in
bm_adin2111.c...Checklist