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
| Behavior | ROUTER | REPEATER | ||
|---|---|---|---|---|
| Forwards packets | Yes (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) | Yes | |
| Broadcasts own position | Never | |||
| Appears in node list | Yes | Yes | No (stealth) | |
| Sends telemetry | ||||
| Preferred for infrastructure | Yes (stationary, well-placed) | Yes (privacy- |
ROUTER
The ROUTER role is designed for dedicateddedicated, stationary, well-placed infrastructure nodes. It:
AggressivelyRebroadcastsforwards packets -with higher priorityretransmission("cutsthaninCLIENTline")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.DisablesAutomaticallydirectenablesmessagingpower-saving sleep (this cannot be turned off) and defaults BLE/WiFi/Serial toreduceOFF,channelsoloadyou don't normally connect an app to it directly. (It can still originate and receive messages at thenodeprotocoldoesn'tlevelhave-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.
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:
ForwardsRebroadcastspacketswithwithouthighdecodingprioritythembut- highest possible efficiency, lowest CPU overhead
device.rebroadcast_mode ALL_SKIP_DECODING separately.
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