What’s the difference between a repeater and a router? They seem to do very similar things but I can’t figure out what the differences are. Thanks!
Both re-broadcast a little earlier than other nodes and are assumed to be in an advantageous location. Repeater does just repeating of packets, has very limited functionality, a router has the other meshtastic features.
Okay. Does a repeater just repeat whatever it hears without checking the validity of the data where a router would confirm the packet it received is valid before passing it along? Why would one use a repeater instead of a router? Is it a power/computing issue?
As far as I understood, repeaters are far more power efficient, as they leave off any communication except message forwarding, display is off etc. Plus they should not appear in your node list to keep the mesh view tidier.
BTW: Do not store your crypto keys on repeaters, they are not required to have them for forwarding messages and it reduces risk of your communication to be intercepted.
There is no difference as far as any packet validation, the mesh algorithm is the same on every device. Repeater and router rebroadcast a little earlier allowing them to go first from a better location than other nodes.
Repeaters could actually use more power considering they’re transmitting more often.
Hopefully someone can answer my noob questions:
- Is there a fallback logic if e.g., the repeater is no longer in range between 2 nodes? For example, let’s say I had nodes A to B to C, where B is a repeater and A is trying to communicate with C. If B goes offline, how will this work? Will A be able to directly communicate with C?
- Is there a retry logic / limit for messages if a node is out of range? For example, let’s say I send a message from A to B, and B walks just one step out of range. Will A start retrying, and if so, for how long?
Thanks!!
Repeaters and routers don’t have any extra routing logic other than rebroadcasting a little sooner than regular nodes.
To answer your specific questions:
- If A is in range of C, then yes, they will still communicate directly. If B is not necessary, it will simply not be used to hop over.
- A will retry three times quickly after each other (see Mesh Broadcast Algorithm | Meshtastic). If B is out of range for a longer time, you could use the Store & Forward module to overcome this. Note that this module is still work in progress and requires an ESP32 device with PSRAM.
@Bricks - when you say it is not required to store crypto keys on a repeater device, does this mean that we should not program channels on devices configured as repeaters at all (including the default LongFast channel) and that any packet heard will be repeated no matter what (for any/all frequencies in the band)? Also, if the crypto keys are not present on the repeater, should I choose the Rebroadcast Mode of ALL_SKIP_DECODING for that to work?
The repeater has to be configured to the same mode like Long Fast as your devices and you should use the skip decoding setting you mentioned. It will repeat all messages it receives.
Sorry for the noob question. I have setup repeater mode, does this show on the screen of the board(mine says unset and the screen sort of flickers every 6 seconds or so) and also in repeater mode does it show up with the device ID when searching from another device or am I correct in gathering from previous comments that you can only tell this by increased distance? Sorry if this has already been asked elsewhere.
My objective it to set up a meshtastic device which is left remotely, using minimal power, to increase distance of other meshtastic users.