Whats the deal with "2 Byte Hashes?
In MeshCore, a 2-byte hash is an updated routing setting, introduced in firmware version 1.14 to significantly reduce packet ID collisions and improve network analytics in dense mesh environments.
By expanding the repeater public key path trace from 1 byte (which offers only 256 unique IDs) to 2 bytes, the number of available unique node identifier combinations increases to 65,536 options. This prevents analytical tools from confusing different physical repeaters that happen to share the same first byte ID.
Because El Paso's Mesh network has expanded beyond our local city limits into New Mexico (Las Cruces, Alamogordo, Albuquerque and beyond), we are seeing repeaters that have the same 1 Byte ID which causes mesh packets to get mis-routed and sometime dropped from our repeaters. We expect this growth to continue as additional communities begin bringing their mesh networks online (Deming, Silver City, Juarez, etc.)
Repeater owners are being asked to update their repeaters and room servers (preferably to the latest Meshcore Firmware, V 1.16 and enable them to use 2 byte hashes following the instructions below.
Key Performance Trade-Offs
- Maximum Hops: Switching a packet's path size to 2-byte mode reduces the maximum allowable path length to 32 hops (compared to the 64-hop maximum allowed under legacy 1-byte modes).
- Packet Size Overhead: Every hop recorded along a packet's path consumes 2 bytes instead of 1. For example, a 5-hop transmission requires a 10-byte path payload.
- Repeater Forwarding: Any repeater running v1.14 or later can automatically repeat packets regardless of whether they use 1-byte, 2-byte, or 3-byte hashes. Legacy repeaters (v1.13 and older) cannot interpret 2-byte messages and will drop them.
- Companion Devices: Client/companion mobile apps must be manually configured to generate 2-byte messages. Most regional communities recommend updating all area repeaters to v1.14+ first before switching companion settings over to 2-byte mode.
Compatibility Rules
How to Configure 2-Byte Mode
First make sure that your repeater is running at least the 1.14 version of the Meshcore firmware. If its not, then use the Meshcore Web Flasher to upgrade the firmware on your repeater to Verion 1.16. Then:
On your Repeater (CLI Command)
To switch your repeater's broadcast advertising to 2-byte mode, access its command line interface and enter:
> set path.hash.mode 1 (then hit return)
To verify if it has been updated, enter:
> get path.hash.mode (then hit return) .
A return value of 1 confirms 2-byte mode is active; 0 indicates it is still using the legacy 1-byte mode. You may need to reboot your repeater for the setting to take effect.
We are currently recomending that users not upgrade their companions to use 2 byte hashs. We need to get the majority of our network repeaters upgraded before we take the next step and change our companion settings. We will let everyone know, hopefully in the near future when we are ready to move to 2 bytes hashes on companions.
On your Companion App (Phone/Tablet Client)
1. Ensure your companion hardware is flashed with firmware v1.14 or later.
2. Open the official phone app and navigate to Experimental Settings.
3. Locate Default Path-Hash Size and select 2-byte.