Diagnosing MeshCore Repeater Problems

A systematic approach to diagnosing MeshCore repeater issues. Work from the physical layer up: radio first, then configuration, then network behavior.

Quick pre-diagnosis checklist

Problem: Repeater is not appearing in MeshCore app contacts

Scenario A: Repeater has zero-hop advertisements

A repeater sending only zero-hop adverts (not flood adverts) is visible only to nodes within direct radio range. If you're testing from a distant location, it won't appear. Connect via USB serial and check the role and flood-advert configuration:

get role           # Confirm the node's configured role
get flood.advert.interval   # Flood advert cadence in hours (0 = zero-hop only)

To make the repeater visible network-wide, enable periodic flood adverts by setting a non-zero interval (default 12 hours), or send one immediately:

set flood.advert.interval 12   # Send a flood advert every 12 hours
advert                          # Send a flood advert immediately

Scenario B: Wrong preset

A repeater on a different preset than your phone is on cannot be heard. The phone and repeater must use identical preset settings (same SF, BW, CR, frequency). Verify both devices use the USA/Canada preset.

Scenario C: Not yet advertised

A freshly configured repeater won't be visible until it broadcasts its first advertisement. Default flood-advert interval is 12 hours. Force an immediate advertisement via the serial CLI:

advert # Serial CLI command to immediately broadcast a flood advertisement

Scenario D: Out of radio range

Test with a device you control. Bring it within 100 feet of the repeater (direct physical proximity, no obstacles). If it appears in contacts at that range, the repeater is working and the issue is range/placement. If it still doesn't appear at 100 feet, it's a configuration or hardware issue.

Problem: Repeater visible but messages not routing through it

Check: Repeater role set correctly

get role # Returns the node's configured role

A device running Companion (client) firmware will not relay messages for other nodes. To forward packets the device must run Repeater firmware (or Room Server firmware). The forwarding role is determined by which firmware variant you flash, not by a runtime command.

Check: Path discovery is completing

MeshCore must complete a route discovery (path discovery/acknowledgment exchange) before messages can be delivered. If messages are failing immediately after the repeater appears in contacts, path discovery may not have completed. Wait 60 seconds after first seeing the repeater, then try sending.

Check: Flood hop maximum

MeshCore uses path-based routing rather than a Meshtastic-style per-message hop-limit. The flood hop maximum (flood.max) defaults to 64, so there is no low default to "raise" — three to five hops is a practical reliability target, not a configured limit. If you have a specific reason to cap flood propagation, you can adjust it:

get flood.max         # Read the current flood hop maximum (default 64)
set flood.max 64      # Range 0-64

Problem: Repeater was working but stopped

Check: Power system

The most common cause of intermittent repeater failure. For solar-powered nodes:

Check: Firmware crash or lock

Firmware can occasionally hang, especially after a power interruption during a write operation. A full power cycle (disconnect and reconnect power) usually resolves this. If the device is cycling rapidly (power LED flashing repeatedly), it may be boot-looping - likely a firmware corruption requiring reflash.

Check: Physical damage

Water intrusion is a common cause of permanent field failure. Signs: corrosion on the PCB, moisture beads inside the enclosure, condensation on components. Once water has infiltrated, the board often needs replacement. Prevention is much easier than cure - inspect enclosure seals annually.

Problem: Range is less than expected

  1. Antenna connected? Transmitting into an open or disconnected SMA port causes VSWR problems and poor radiation.
  2. Correct antenna for 915 MHz? An 868 MHz (EU-band) antenna on a US repeater will have higher SWR and reduced efficiency. US operation must stay within the 902-928 MHz ISM band under 47 CFR 15.247. Test with a NanoVNA (see the Antennas & RF section).
  3. Antenna mount location: An antenna at 10 feet has dramatically less coverage than one at 30 feet. Every additional meter of height helps.
  4. Coax cable length and quality: RG-58 loses roughly 0.5 dB/m at 915 MHz, so a 15-foot run loses about 2-2.5 dB and a ~50-foot run approaches 3 dB. Use LMR-200/240 or better and keep runs short.
  5. Obstructions at antenna level: Metal roof edges, HVAC equipment, or tree branches within a few feet of the antenna scatter and attenuate signal significantly.
  6. TX power setting: Verify TX power hasn't been accidentally lowered: get tx

Revision #6
Created 2026-05-03 03:57:45 UTC by Mesh America Admin
Updated 2026-06-09 00:59:51 UTC by Mesh America Admin