-
Notifications
You must be signed in to change notification settings - Fork 291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: Add relay basics #548
doc: Add relay basics #548
Conversation
- relay-placement.png | ||
--- | ||
|
||
Relays are suitable for bridging wireless communication gaps in areas where the gateway and end device cannot directly communicate with each other due to weak signal strength because of factors such as extreme distance or obstacles between the gateway and end device. They are low-cost, low-power devices. A relay's hardware is equivalent to a standard LoRaWAN end device. A single relay can serve up to 16 end devices. For the Network Server, a relay appears as a standard end device. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Relays are suitable for bridging wireless communication gaps in areas where the gateway and end device cannot directly communicate with each other due to weak signal strength because of factors such as extreme distance or obstacles between the gateway and end device. They are low-cost, low-power devices. A relay's hardware is equivalent to a standard LoRaWAN end device. A single relay can serve up to 16 end devices. For the Network Server, a relay appears as a standard end device. | |
LoRaWAN relays are suitable for bridging wireless communication gaps in areas where the gateway and the end device cannot directly communicate with each other due to weak signal strength caused by factors such as extreme distance or obstacles between them. They are low-cost, low-power devices. A relay's hardware is equivalent to a standard LoRaWAN end device. A single relay can serve up to 16 end devices. For the Network Server, a relay appears as a standard end device. |
|
||
{{< figure src="relay-placement.png" alt="Relay Placement" >}} | ||
|
||
{{< note "Adding a new gateway is a good idea if many devices have a lack of signal reception. But if it's just a few devices, using a relay is a cheaper solution." />}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove note tags
|
||
## Relay Requirments | ||
|
||
- End device should run the LoRaWAN stack (TS001-LoRaWAN L2 1.0.4 and Regional Parameters RP2-1.0.3 specifications) + LoRa Basics Modem firmware. The experimental release of this firmware can be found at https://github.com/Lora-net/SWL2001 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- End device should run the LoRaWAN stack (TS001-LoRaWAN L2 1.0.4 and Regional Parameters RP2-1.0.3 specifications) + LoRa Basics Modem firmware. The experimental release of this firmware can be found at https://github.com/Lora-net/SWL2001 | |
- End device should implement the LoRaWAN stack, precisely TS001-LoRaWAN L2 1.0.4 and Regional Parameters RP2-1.0.3 specifications, and LoRa Basics Modem firmware. The experimental release of the LoRa Basics Modem firmware can be found [here](https://github.com/Lora-net/SWL2001). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you pls link specifications
|
||
- End device should run the LoRaWAN stack (TS001-LoRaWAN L2 1.0.4 and Regional Parameters RP2-1.0.3 specifications) + LoRa Basics Modem firmware. The experimental release of this firmware can be found at https://github.com/Lora-net/SWL2001 | ||
- End device should be implemented with SX1261/2, LR1110, LR1120, or LR1121 sub-GHz LoRa transceiver. | ||
- A Network Server supporting the relay specification. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which network server?
- End device should run the LoRaWAN stack (TS001-LoRaWAN L2 1.0.4 and Regional Parameters RP2-1.0.3 specifications) + LoRa Basics Modem firmware. The experimental release of this firmware can be found at https://github.com/Lora-net/SWL2001 | ||
- End device should be implemented with SX1261/2, LR1110, LR1120, or LR1121 sub-GHz LoRa transceiver. | ||
- A Network Server supporting the relay specification. | ||
- The gateways do not need to be updated to support relays. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not a requirement, so remove it from this bullet list, you can put it below
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I put it in the note box.
In EU868, four dedicated channels with a bandwidth of 125 kHz and a spreading factor of 9 are used to communicate between the end device and the relay. Among them, | ||
|
||
Two channels are used to send the WOR frame from the end device to the relay: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In EU868, four dedicated channels with a bandwidth of 125 kHz and a spreading factor of 9 are used to communicate between the end device and the relay. Among them, | |
Two channels are used to send the WOR frame from the end device to the relay: | |
In EU868, four dedicated channels with a bandwidth of 125 kHz and a spreading factor of 9 are used to communicate between the end device and the relay. Among them, two channels are used to send the WOR frame from the end device to the relay: |
In US915, four dedicated channels with a bandwidth of 500 kHz and a spreading factor of 10 are used to communicate between the end device and the relay. Among them, | ||
|
||
Two channels are used to send the WOR frame from the end device to the relay: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In US915, four dedicated channels with a bandwidth of 500 kHz and a spreading factor of 10 are used to communicate between the end device and the relay. Among them, | |
Two channels are used to send the WOR frame from the end device to the relay: | |
In US915, four dedicated channels with a bandwidth of 500 kHz and a spreading factor of 10 are used to communicate between the end device and the relay. Among them, two channels are used to send the WOR frame from the end device to the relay: |
|
||
The end device derives the RootWorSKey from its NwkSkey (LoRaWAN Version 1.0.X) or NwkSEncKey (LoRaWAN Version 1.1.X and higher). The relay will also receive a copy of the RootWorSKey from the Network Server. | ||
|
||
The RootWorSKey is an intermediate key and is never used directly to calculate MIC or encrypt/decrypt data. Therefore, based on the RootWorSKey and the DevAddr, two session keys are derived by both the end device and the relay: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you're mentioning twice that it cannot be used to calculate MIC and encrypt/decrypt payload
- WOR Integrity Session Key (WorSIntKey) - used by both the end device and the relay to calculate and verify the MIC of the WOR and WOR-ACK frames. | ||
- WOR Encryption Session Key (WorSEncKey) - used by both the end device and the relay to encrypt/decrypt the payload field of the WOR and WOR-ACK frames. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- WOR Integrity Session Key (WorSIntKey) - used by both the end device and the relay to calculate and verify the MIC of the WOR and WOR-ACK frames. | |
- WOR Encryption Session Key (WorSEncKey) - used by both the end device and the relay to encrypt/decrypt the payload field of the WOR and WOR-ACK frames. | |
- WOR Integrity Session Key (WorSIntKey) - used by both the end device and the relay to calculate and verify the MIC of the WOR and WOR-ACK frames | |
- WOR Encryption Session Key (WorSEncKey) - used by both the end device and the relay to encrypt/decrypt the payload field of the WOR and WOR-ACK frames |
section: The Things Fundamentals | ||
weight: 50 | ||
images: | ||
- relay-placement.png |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where is this image from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://www.thethingsindustries.com/news/the-things-industries-announces-support-for-lorawan-relay-to-enhance-iot-connectivity/
I have updated it to show how the relay can fill the communication gap.
Summary
Add LoRaWAN relay basics.
Closes #544
Screenshots
Changes
Notes for Reviewers
@KrishnaIyer @adriansmares @nejraselimovic
https://info.semtech.com/lorawan-relay-white-paper
https://resources.lora-alliance.org/faq/faq-lorawan-relay
https://www.youtube.com/watch?v=wydJ2BsflIQ
https://resources.lora-alliance.org/technical-specifications/ts011-1-0-0-relay
https://resources.lora-alliance.org/technical-specifications/rp002-1-0-4-regional-parameters
Checklist
make server
, posted screenshots, verified external links.