End Device not hearing Join Accept (CN470-510)

Greetings everyone,

Our engineering team is currently developing LoRaWAN products for all across the globe. We already have devices in the US and EU. I am now working on a China model. Unfortunately, our Multitech xDots do not have a module for the CN470-510 band. We are using a Lierda LSD4WN-2L817M90 as our module and a Tektelic Kona Macro 16 as our gateway. For development purposes we are using TTN network server instead of our usual network server provider. This is because they do not support the CN470-510 band.

The problem we are having is regarding the Join Process. I have all of my keys properly placed (DevEUI, AppKey, and AppEUI). BTW my device is a Class A device using OTAA. I believe the issue is somewhere in the uplink and downlink frequencies.

When I make a join request, I see it appear in the gateway traffic logs. Along with the join request, I see a Join Accept sent 5 seconds later. However, it seems like my device does not hear the accept (2 pins on my module are set high after a successful join attempt).

Initially, using the default settings of the gateway and the module, I was not able to see any communication between the two. It wasn’t until I looked at the frequency channels of the module and the gateway and saw the two were not the same. The module frequency table was:

CH0: 475300000
CH1: 475500000
CH2: 475700000
CH3: 475900000
CH4: 476100000
CH5: 476300000
CH6: 476500000
CH7: 476700000

while the gateway frequency table was:

“chan_multiSF_0”: { “chan_rx_freq”: 470300000
“chan_multiSF_1”: { “chan_rx_freq”: 470500000
“chan_multiSF_2”: { “chan_rx_freq”: 470700000
“chan_multiSF_3”: { “chan_rx_freq”: 470900000
“chan_multiSF_4”: { “chan_rx_freq”: 471100000
“chan_multiSF_5”: { “chan_rx_freq”: 471300000
“chan_multiSF_6”: { “chan_rx_freq”: 471500000
“chan_multiSF_7”: { “chan_rx_freq”: 471700000
“chan_multiSF_0”: { “chan_rx_freq”: 471900000
“chan_multiSF_1”: { “chan_rx_freq”: 472100000
“chan_multiSF_2”: { “chan_rx_freq”: 472300000
“chan_multiSF_3”: { “chan_rx_freq”: 472500000
“chan_multiSF_4”: { “chan_rx_freq”: 472700000
“chan_multiSF_5”: { “chan_rx_freq”: 472900000
“chan_multiSF_6”: { “chan_rx_freq”: 473100000
“chan_multiSF_7”: { “chan_rx_freq”: 473300000

So I then set the module’s frequency table to be the same as the gateway’s and began to see some join messages on TTN gateway traffic sniffer. However, my module still was not receiving the join accept messages.

image

I noticed the join accept messages were on different frequencies so I even set the modules downlink frequency table to match what I saw from the traffic logs and still was unsuccessful. I then went to this link
https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html
and matched everything according to these frequencies and still nothing.

I even used an RF spectrum analyzer to see the activities on the frequencies being used by the gateway and module and saw traffic for both uplinks and downlinks. So I know each device and gateway are sending their packets, however, the module seems to reject them.

I am looking for any help/advice on how to fix this issue.

Thank you,

Derrick

There’s far more to regional settings than just frequency.

You need to take time to understand how the network server things a response to an uplink should look, and make sure that is what the node thinks as well.

Time, spreading factor, bandwidth, etc all matter, not just uplink to downlink frequency mapping.