Understanding the Basics
Before you can diagnose a problem, you need to know what MeshCore is actually doing when it sends a message. This page explains the handful of concepts that every other troubleshooting page depends on.
Contents
- What Is an Advert?
- What Are RSSI and SNR?
- What Is a Hop?
- How Routing Actually Works
- What Is the Noise Floor?
- Packet Types
What Is an Advert?
An advert is how your node introduces itself to the mesh. When you send one, your node broadcasts its name, its position (if set), and its public key over LoRa. Other nodes and repeaters hear it and add you to their contact lists.
There are two kinds:
- Zero-hop advert — heard only by nodes within direct radio range of you. Nobody relays it.
- Flood advert — broadcast, then repeated by every repeater that hears it, spreading your presence across the whole network.
If nobody can find you, send a flood advert and wait 60 seconds. Adverts propagate hop by hop, so responses are not instant.
Repeaters also send a flood advert automatically on a timer (default every 12 hours). See MC Repeater Tools for how to send one from the app.
What Are RSSI and SNR?
When your radio receives a packet it measures two things about the signal.
RSSI (Received Signal Strength Indicator) is raw signal power in dBm. Values closer to zero are stronger.
SNR (Signal-to-Noise Ratio) is how far the signal sits above the background noise, in dB. Positive is good. Negative means the signal is buried in noise and packets will start to corrupt.
| RSSI | Quality | Meaning |
|---|---|---|
| Above -90 dBm | Excellent | Strong local signal |
| -90 to -105 dBm | Good | Reliable link |
| -105 to -115 dBm | Marginal | Packets may fail under interference |
| Below -115 dBm | Poor | Expect high packet loss |
| SNR | Quality | Meaning |
|---|---|---|
| Above +5 dB | Excellent | Well above the noise |
| 0 to +5 dB | Good | Solid link |
| -5 to 0 dB | Marginal | May fail when interference appears |
| Below -5 dB | Poor | Buried in noise, high loss |
The two together tell the story. A packet can have poor RSSI and still get through fine if the noise floor is also very low. Judge a link on both numbers, never one alone.
What Is a Hop?
A hop is one forward by a repeater. A message to someone in direct range is 0 hops. Through one repeater is 1 hop. MeshCore allows up to 64 hops, but real traffic on the Inland NW Mesh rarely goes beyond a handful.
How Routing Actually Works
This is the single most important thing to understand, and it is where people coming from Meshtastic get tripped up.
MeshCore does not flood every message. Here is what really happens when you message a contact:
- Your first message to that contact is sent as a flood, so the network can discover a route.
- When it arrives, your contact's node sends back a delivery report listing the repeaters the message travelled through.
- Your app stores that path and uses it for every future message to that contact, sending directly through those specific repeaters instead of flooding.
- If the path breaks (a repeater goes offline), your app retries three times, then falls back to flooding to find a new route.
Why this matters: if messages to someone used to work and suddenly stopped, the stored path is probably stale. Clearing the saved path forces a fresh route discovery, and that alone fixes a large share of "it worked yesterday" reports.
Clearing a Stale Path
- Open the contact's chat in the MeshCore app
- Tap the ⋮ menu
- Choose Clear Path (the exact label varies by app version)
- Send a new message. It will flood and rediscover a working route.
What Is the Noise Floor?
The noise floor is the baseline level of RF interference your radio is sitting in, in dBm. A low noise floor (around -120 dBm) means a quiet environment where weak signals are still readable. A high noise floor (around -90 dBm) means heavy local interference, and your radio goes effectively deaf to distant nodes.
You can watch it live in the app with Tools → Noise Floor (see MC Client Tools), or read it from a repeater with stats-radio (see Repeater CLI Diagnostics).
A high noise floor is one of the most commonly missed causes of a repeater that looks online but hears nothing.
Packet Types
If you are reading an RX log, a T-Deck diagnostics screen, or a packet in CoreScope, packets are tagged by type:
| Type | Value | Meaning |
|---|---|---|
| REQ | 0x00 | Request |
| RESPONSE | 0x01 | Response to a request |
| TXT_MSG | 0x02 | Direct text message |
| ACK | 0x03 | Acknowledgement |
| ADVERT | 0x04 | Node advertisement |
| GRP_TXT | 0x05 | Group or channel message |
| GRP_DATA | 0x06 | Group data packet |
| ANON_REQ | 0x07 | Anonymous request |
| PATH | 0x08 | Path or route information |
T-Deck Diagnostics Screen
T-Decks have a built-in diagnostics screen reachable from the menu. Each line reads:
{hops} l:{packet-length}({payload-len}) t:{packet-type} snr:{n} rssi:{n}
Use it to confirm your node is hearing the mesh at all. If you see steady activity here but cannot send, the problem is outbound: TX power, antenna, or a frequency mismatch.
Next: Common Scenarios walks through specific problems step by step.