Skip to main content
Candra SN.
Associate III
October 25, 2021
Solved

How to make custom re-join request LoRa process on LoRaWAN End Node STM32WL program ?

Hi,

I am a bit confused about re-join request process on the lora STM32WL. I want to make my end node will join request to the gateway for five times when the join accepted process is not happening. After five times the join request process and end node failed to join accepted, then the system enters stop 2 mode (idle by default firmware package STM32WL).

Is there any reference or information about it ? Maybe, how to implement my need on LoRaWAN End Node STM32WL program ?

I really appreciate your attention, thank you.

This topic has been closed for replies.
Candra SN.
Candra SN.Best answer
Associate III
June 8, 2023

Thank you @Imen DAHMEN​ & @Arvid Bläser​ 

I've got a solution from this topic, namely by modifying the function of

OnJoinRequest(LmHandlerJoinParams_t *joinParams)

9 replies

ST Technical Moderator
October 29, 2021
In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Candra SN.
Associate III
November 2, 2021

Thank you @Imen DAHMEN​ for your reply

But, i still confuse & dont know how to code on LoRa application layer based my need. Maybe you can help me technically or where should I edit the code to suit my needs ?

Fyi, my system use STM32WLE5CBU6 (single core)

ABläs.1
Associate II
September 21, 2022

Did you learn what you needed?

I'm trying to figure out how take make sure the join procedure is more robust.

After failing a join a few times with

LmHandlerJoin(ActivationType, ForceRejoin);

It stops sending join messages, even when calling it again.

By resetting the whole device I can of cource restart the process but preferrebly I want to only restart the join process again after a timer event. I guess it is possible to reset some sort of join counter somewhere?

Candra SN.
Candra SN.AuthorBest answer
Associate III
June 8, 2023

Thank you @Imen DAHMEN​ & @Arvid Bläser​ 

I've got a solution from this topic, namely by modifying the function of

OnJoinRequest(LmHandlerJoinParams_t *joinParams)

Mr._Nileshkumar_Solanki
Associate II
December 30, 2023

What kind of modification I have do??

Associate III
July 31, 2023

Hello @Candra SN. I want to perform same kind of operation, can you suggest me how to do same? Which parameters of  OnJoinRequest(LmHandlerJoinParams_t *joinParams) function needs to be modified?

Associate
September 16, 2023

I'm having the exact same problem.   Can anyone describe how you addressed this situation?  I'm somewhat familiar with OnJoinRequest().  The reason I need to re-join is because either my end-device RAK3172 (Class A) or the RAK7268 router seems to loose the device credentials after about 24 hours - which isn't good.  This device wakes up about every 24 hours on an external event. (Hardware: RAK3172/19003 baseboard, Software: STM32Wl end-node STM32WL SDK 1.3)

Associate
December 30, 2023

This worked for me.  Place this join request below in the appropriate location in your lora_app.c.

        LmHandlerJoin(ActivationType, ForceRejoin);

Mr._Nileshkumar_Solanki
Associate II
January 1, 2024

How your "lora_app.c" file look like??
Can you provide that function??