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?

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:

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:

  1. Your first message to that contact is sent as a flood, so the network can discover a route.
  2. When it arrives, your contact's node sends back a delivery report listing the repeaters the message travelled through.
  3. Your app stores that path and uses it for every future message to that contact, sending directly through those specific repeaters instead of flooding.
  4. 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

  1. Open the contact's chat in the MeshCore app
  2. Tap the menu
  3. Choose Clear Path (the exact label varies by app version)
  4. 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.