There’s a parameter in MeshCore called path.hash.mode that almost nobody understands. The firmware developers seem to have deliberately hidden it in the configuration docs with a note saying “DO NOT USE” and then no explanation whatsoever.

Let me explain what it actually does, because it matters for how your network behaves.

What Is Path Hash?

Every node in MeshCore periodically sends advertisement packets—basically saying “Hey, I’m here, I exist, talk to me.”

Each advertisement gets stamped with a hash value. This hash is a fingerprint of that advertisement. Other nodes in the network use this fingerprint to answer one crucial question: have I already seen this packet?

If yes, they drop it. If no, they forward it along.

Without this system, advertisements would loop forever, consuming bandwidth and battery life. The hash prevents duplicate flooding.

The Problem

Here’s where it gets interesting: the default hash calculation is based on node ID and some other parameters. This means every advertisement from the same node produces the same hash.

In certain network topologies, this can lead to issues. Legitimate advertisements might get dropped because another path through the network already delivered them. Network resilience suffers.

Configuration Options

path.hash.mode lets you change how hashes are calculated. Options typically include:

Default mode: Hash based on static node information (current default)

Random mode: Hash includes random component (hashes differ for each advertisement)

Time-based mode: Hash changes based on timestamp

Each has tradeoffs in terms of bandwidth consumption, battery life, and network resilience.

When This Matters

Most small mesh networks (fewer than 20 nodes) won’t notice the difference. Default hash mode works fine.

Large networks (50+ nodes) or dense deployments might benefit from exploring different hash modes. Random mode increases bandwidth but improves resilience. Time-based mode balances both.

How to Adjust

Configuration depends on your specific MeshCore implementation, but typically:

  1. Access your node’s configuration interface
  2. Locate the path.hash.mode parameter
  3. Experiment with different settings
  4. Monitor network behavior and adjust accordingly

Start with defaults. Only change this if you observe problems like:

  • Advertisements not reaching distant nodes
  • Inconsistent network topology
  • Nodes dropping off and re-joining excessively

The Lesson

This parameter exists for legitimate reasons, but it’s hidden because understanding it requires understanding packet routing, hash functions, and mesh network topology. Not exactly casual operator material.

Most people don’t need to touch this setting. But if you’re running a large, complex mesh network and running into topology issues, understanding hash mode might be the solution.


73