Skip to main content

ROUTER vs ROUTER_CLIENT vs REPEATER: When to Use Each

MeshtasticMeshtastic's offers three primarycurrent infrastructure node roles,roles eachare ROUTER, ROUTER_LATE, and REPEATER (with CLIENT covering ordinary nodes, which also relay traffic via managed flooding). Each has distinct behaviors for packet forwarding, position broadcasting, and power management. Choosing the wrong role for your hardware leads to either wasted bandwidth or poor coverage. Note: ROUTER_CLIENT was retired in firmware 2.3.15 and is no longer a settable role - it now behaves as CLIENT. It is covered below only to explain what to use instead.

Role Behavior Summary

BehaviorROUTERROUTER_CLIENTROUTER_LATEREPEATER
Forwards packetsYes (high priority)Yes (rebroadcasts only after others)Yes (high priority)
Has user-facing interface (BLE/WiFi/Serial)No (off by default)No (off by default)YesNo (on by default)
Broadcasts own positionRarely/NeverReducedYes (configurable)ReducedNever
Appears in node listYesYesNo (stealth)
Sends telemetryMinimalReducedYesReducedNoNone
Preferred for infrastructureYes (stationary, well-placed)SemiYes (rebroadcast-late nodes)Yes (privacy-conscious)conscious / anonymous relay)

ROUTER

The ROUTER role is designed for dedicateddedicated, stationary, well-placed infrastructure nodes. It:

  • AggressivelyRebroadcasts forwards packets -with higher priority retransmission("cuts thanin CLIENTline") nodesand always rebroadcasts, even if it hears another node already rebroadcasting - unlike CLIENT, which suppresses its own rebroadcast if a neighbor already did. REPEATER shares this same high-priority always-rebroadcast behavior.
  • DisablesAutomatically directenables messagingpower-saving sleep (this cannot be turned off) and defaults BLE/WiFi/Serial to reduceOFF, channelso loadyou don't normally connect an app to it directly. (It can still originate and receive messages at the nodeprotocol doesn'tlevel have- athe "user"app connectivity is simply off by default.)
  • Reduces position and telemetry broadcasts to the minimum
  • Remains visible in the node list so operators can see it on the map

Use ROUTER when: You have a dedicated always-onon, stationary, well-placed infrastructure node (fixed repeater, backbone node) with no human user directly attached. For ordinary nodes, official guidance is to leave them on CLIENT rather than promoting them to ROUTER.

ROUTER_CLIENT (deprecated - use CLIENT or ROUTER instead)

ROUTER_CLIENT combineswas forwardingdeprecated withand fullremoved clientin functionality.firmware It's2.3.15; designedit is no longer a settable role and now behaves exactly as CLIENT. It was originally meant for nodes that serveserved double duty:

  • A base station that both serves a human operator AND forwards traffic for others
  • A vehicle-mounted node that forwards packets while its owner uses it for messaging

Limitation:Why it was retired: ROUTER_CLIENT nodes can createcreated traffic loops and increased channel utilization (consuming hops and causing collisions) when multipleseveral arewere deployed in close proximity.proximity In- infrastructure-heavythe deployments,developers preferhave ROUTERpublicly described it as a mistake. Do not treat it as a role you can merely "be cautious with"; it is gone.

What to use instead: For a node that one person uses AND that should also relay for others, leave it on CLIENT - CLIENT nodes already rebroadcast via managed flooding while keeping the full client interface. For a dedicated repeater nodes.

that

Useno ROUTER_CLIENT when: One person bothone uses theinteractively, nodeuse AND wants it to serve as a repeater for others. Typical for home base stations that cover a neighborhood.ROUTER.

REPEATER

The REPEATER role (formerly ALL_SKIP_DECODING) is the "silent repeater" option:option. (Note: REPEATER is a device.role; it is not "formerly ALL_SKIP_DECODING." ALL_SKIP_DECODING is a value of the separate device.rebroadcast_mode setting - the two are independent config axes.) REPEATER:

  • ForwardsRebroadcasts packetswith withouthigh decodingpriority thembut - highest possible efficiency, lowest CPU overhead
Doesdoes NOT appear in node lists and does not send NodeInfo - completelyit invisibleis anonymous on the mesh. It does not force power-saving sleep (unlike ROUTER). Can be combined with rebroadcast mode ALL_SKIP_DECODING to usersforward packets without decrypting them (low CPU overhead). Selecting the REPEATER role alone does not enable skip-decoding - you must set device.rebroadcast_mode ALL_SKIP_DECODING separately. DoesIs NOTnot acceptintended for direct messagesmessaging (it has no user interface and only responds to other nodes' packets rather than originating messages) Does NOT broadcast position or telemetry

Use REPEATER when: You want a completely silentsilent, anonymous infrastructure node - no node-list footprint, no management overhead. Ideal for stealth installations or when you want to avoid cluttering the node list.

Caveat: The REPEATER's invisibility makes it harder to diagnose.diagnose You- you won't see it on the map or in node lists. Use ROUTER instead if you need visibility for network management. (REPEATER is also deprecated as of firmware ~2.7.x; for most new infrastructure, prefer ROUTER or ROUTER_LATE.)

Configuration Commands

# Set role to ROUTER (dedicated infrastructure)
meshtastic --set device.role ROUTER

# SetROUTER_CLIENT rolewas toretired ROUTER_CLIENTin firmware 2.3.15 - do not use it.
# For a node that is both used and relays, leave it on CLIENT:
meshtastic --set device.role ROUTER_CLIENTCLIENT

# Set role to REPEATER (anonymous silent relay)
meshtastic --set device.role REPEATER

# (Optional) skip-decoding forwarding is a SEPARATE rebroadcast_mode setting,
# not a role - enable it explicitly if you want it:
meshtastic --set device.rebroadcast_mode ALL_SKIP_DECODING

# Verify current role
meshtastic --get device.role