Rx1 window causes join issue


I work with a sx1262 and based my code on the SWL2001 project.
I have an issue with the Rx1 window.

In stmc_real.c/smtc_real_get_rx_window_parameters(…), when I keep as is, below code, JOIN doesn’t work.

*rx_window_symb =
MIN(MAX(((*rx_timeout_symb_in_ms * 1000) / tsymbol_us), MIN_RX_WINDOW_SYMB), MAX_RX_WINDOW_SYMB);
*rx_timeout_preamble_locked_in_ms = 3000;

The work around consists in defining those variable as below :

*rx_window_symb = 0;
*rx_timeout_preamble_locked_in_ms = 10000;

Once JOIN is done former parameters work well.

Do you have any clue where it comes from?

Sincerely yours,


It looks to me like the work-around you’re using uses a much longer window to receive a JoinAccept, which could be needed if there is some latency in gateway transmission. Out of curiosity, what LoRa gateway and network server are you using?
Have you tried waiting ~10 minutes for it to join?
During the join procedure, the end device cycles through each 8-channel LoRa sub-band to find one that the gateway is set to. This may take a minute or two, then it starts again with slightly adjusted RX window timing.

Hello kmuster,

Thank you for your answer.
LoRa gateway is Dragino, connected to AWS IOT LoRa servers.
When I set back SWL2001 original code.
On device boot, I have my first JoinFail around 5s after smtc_modem_init.
Then, handled by smtc_modem_run_engine, I have an other JoinFail around 185s.

It is not working

Any advice?