Skip to main content

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

  • Is the device powered? (check LED, screen, or measure supply voltage)
  • Is an antenna connected? (transmitting without an antenna canis damagepoor practice and stresses the radio)
  • Is the antenna connected to the LoRa SMA port, not the BLE u.FL? (Heltec V3/V4 have separate connectors)
  • Is the device running repeater firmware, not Meshtastic or blank?
  • Is it configured with the correct preset for your regional network?

Problem: Repeater is not appearing in MeshCore app contacts

Scenario A: Repeater has zero-hop advertisements

A repeater configuredsending withonly 0-zero-hop advertisementsadverts (not flood adverts) is visible only visible to nodes within direct radio range. If you're testing from a distant location, it won't appear. Connect via USB serial and confirmcheck advertisementthe hoprole setting:and flood-advert configuration:

meshcliget inforole           # CheckConfirm advert_hopsthe valuenode's configured role
get flood.advert.interval   # Flood advert cadence in hours (0 = zero-hop only)

ChangeTo to flood if you wantmake the repeater visible network-wide:wide, enable periodic flood adverts by setting a non-zero interval (default 12 hours), or send one immediately:

meshcli set advert-hopsflood.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 ana 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

meshcliget inforole # LookReturns forthe "role:node's repeater"configured role

A nodedevice setrunning toCompanion "client"(client) rolefirmware will not relay messages for other nodes. MustTo beforward setpackets tothe "repeater"device must run Repeater firmware (or "router"Room forServer activefirmware). forwarding.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: HopFlood limithop maximum

IfMeshCore theuses destinationpath-based noderouting rather than a Meshtastic-style per-message hop-limit. The flood hop maximum (flood.max) defaults to 64, so there is moreno thanlow 3default to "raise" — three to five hops away from the sender (across multiple repeaters), and the hop limit is seta practical reliability target, not a configured limit. If you have a specific reason to thecap defaultflood ofpropagation, 3,you somecan pathsadjust may be cut off. Check and increase if needed:it:

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

Problem: Repeater was working but stopped

Check: Power system

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

  • Battery voltage low: for a single LiFePO4 cell, ~3.2 V is the normal mid-charge plateau — concern begins below ~3.2V0 V and the cell is empty near 2.5 V. For a 4-cell (LiFePO4)12 meansV) it'sLiFePO4 pack, nominal is ~12.8 V and it is nearly discharged -around check12.0 V. Check the solar panel and charge controllercontroller.
  • Charge controller LED indicators: verify charging when sun is on the panel
  • Winter: reduced daylight hours may be insufficient for the panel size. Consider adding battery capacity for winter.
  • Snow or debris covering the panel: physically inspect

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 thea leadingcommon 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: ARG-58 loses roughly 0.5 dB/m at 915 MHz, so a 15-foot run ofloses cheapabout RG58 can lose 3+2-2.5 dB atand 915a MHz.~50-foot run approaches 3 dB. Use LMR-200200/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: meshcliget infotx