-
Hi, I face some issues when end-device had joined in NS but it cannot communicate with NS. After we check the debug log of end-device and the message on NS. We found that LoRaMac will think of itself joined once receive Join-Accept from NS, but as we know that end_device must send a ‘ConfirmDataUp’ to NS after receive Join-Accept, So a complete network join process should like as below:
And one more question, under what condition that end-device ofter got a “RX 2 timeout” error? Is it relative to “RECEIVE_DELAY” and “JOIN_ACCEPT_DELAY” definition? Because most time it got this error when use default value, which is 1000mS and 5000mS where in <RegionCommon.h>. But when I change to 980mS and 4950mS, it will have higher success rate.
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
Could you please indicate the following elements:
Back to your questions. Once an end-device receives the JoinAccept message it means it has joined the Network. It has all the required information to operate under the specific NS (session keys as well as some basic network parameters). This stack will send automatically confirmed uplinks even in case the user tries to send unconfirmed uplinks. LoRaMac-node/src/mac/LoRaMac.c Lines 5231 to 5239 in 05353ff In addition this behavior is checked by the LoRaWAN certification process and this project fulfills the requirement. Please refer to Releases pre-certification results wiki page chapter Release Version 4.5.2 to see the pre-certification results. Concerning the second question. The files under this project In case you have timing issues related to your platform porting process you may increase the maximum tolerated time errors value. LoRaMac-node/src/mac/region/Region.h Lines 940 to 977 in 05353ff The change of the LoRaMac-node/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL476/main.c Lines 291 to 292 in 05353ff As it looks like you have timing issues I would recommend that you first validate your porting by setting your end-device in Class A mode of operation. Once you have validated the Class A operation then you can enable the Class C mode of operation. While doing your platform debug please try to keep things simple at beginning (Class A) and then increase the difficulty (activate Class C). In case you are a LoRa-Alliance member you can have access to the LCTT tool. This tool is used to pre-certify the end-devices. Please take a look at LoRa-Alliance web server certification page https://lora-alliance.org/lorawan-certification/ for further details. |
Beta Was this translation helpful? Give feedback.
-
where can i set this discussion to answered? |
Beta Was this translation helpful? Give feedback.
Could you please indicate the following elements:
Back to your questions.
Once an end-device receives the JoinAccept message it means it has joined the Network. It has all the required information to operate under the specific NS (session keys as well as some basic network parameters).
In case of Class C end-devices the specification asks the end-devices to send Confirmed Uplinks up until they receive the ACK. These confirmed uplinks are there to inform the NS that the end-device is ready to receive downlinks on RXC windows.