Forward join-accept message, but RAK811 says LoRa join failed

Hi!

I issued a join request from my end-device, and I can see that it is received and accepted in the console. However, the confirmation message does not seem to be received by my device since it outputs “error 99: LoRa join failed”

A few times it worked, but 95% of the time i either get uplink channel not found, our the message described above…

What is the distance between your gateway and the RAK811? There should be a few 10m or some walls in between.

Yes, there are a couple of walls separating them

1 Like

Hello @trymjb
I had the same issue. I asked on this form and kersing informed me that one of the channels that the rak811 chips was attempting to connect on was incorrect. So I did some digging on the RAKWireless forum and found that the RAK811 is setup to work with the RAKWireless gateway that isn’t exactly standard. The good news is that they plan to make a fix in the next FW release (no clue when that will be)

Better news is that after issuing the following commands the issue goes away:
at+set_config=lora:ch_mask:8:0
at+set_config=lora:ch_mask:7:0
at+set_config=lora:ch_mask:6:0
at+set_config=lora:ch_mask:5:0
at+set_config=lora:ch_mask:4:0
at+set_config=lora:ch_mask:3:0
at+set_config=lora:ch_mask:2:0

Leave channels 0 and 1 ON

This seems to fix the connection issue.

1 Like

Thank you my friend! I will definitely try this :slight_smile:

Just out of curiosity, is this configuration applicable to only the join scenario or does it disable those channels for the message transmission too?

This is a chip wide setting. It will keep these settings after joining too, you can find this by issuing at+get_config=lora:channel. What I did was write a method to set these channels on/off all at once just for the join.

For EU868 leave channel 2 on as well.

Thanks to @Kevin192291 and @kersing for providing this preliminary solution.

This thread may be closed or marked as solved :smiley:

Actually, I still have some issues :smiley: hahaha…

The join procedure is now working 100% of the time, as the live data pane in the console suggests!!
Screenshot 2021-05-19 at 19.23.59

HOWEVER, the python script ends up giving me a join failed, even though the join accept message is sent.

Does this mean that the node does not receive the join accept message? Anyone else who have come across this problem?

I know everyone asks this, but are you at the latest version of the FW (at+version)?

Yes…

How about if you don’t reset the channels after you join? I mean just leave it at channels 0,1, and 2?

I believe that would leave you with a non-LoRaWAN device - This requires you to distribute traffic randomly across all 8 channels. Concentrating your traffic to one, two or three channels is detrimental to other users in terms of congestion, and where you may need a response form a GW ideally in the RX1 window this is always at the same channel as the node Tx so you would be forcing the GW’s to over use channels 0,1 & 2 potentially limiting their capacity through duty cycle limits and channel over use… please dont! :wink:

UPDATE:

I managed to receive the join accept message from another gateway, meaning the issue is likely on my local gateway at home.

It says the gateway (at home) successfully transmitted the join accept message, however my node did not receive it.

I guess there are some wrong configurations on my gateway

Il do some more troubleshooting and get back!

If the GW says it sent it more likely its a node issue - device timing? firmware implementation? RX2 timing? etc. Or it could be a long delay in the NS-GW backhaul connections causing GW to send late?

Originally you said

So likely something variable related to device operation or environment. Can you post you RSSI/SNR values (I know you responded earlier saying you had a couple of walls as absorbers so not too close…)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.