TTN gateway not accepting join for second device


(Prg281) #1

My TTN gateway is not accepting the join request for my second device.
The first device is a TTN node: it has properly joined the TTN and is transmitting payload to the application.
The second device is an Elsys ELT-2 that is registered in the gateway with the corresponding appEui and appKey set on the device (https://www.thethingsnetwork.org/marketplace/product/lora-elt-1-elt-2-hp).

I have triple-checked the device EUI, appEui and appKey in the TTN console and the second device and they all match.

Here are the join request and join accept messages captured in the gateway:
join request

{
  "gw_id": "herdlogix01",
  "payload": "AFlBAdB+1bNwR/UaAAujBADNa6QaXDs=",
  "dev_eui": "0004A30B001AF547",
  "lora": {
    "spreading_factor": 10,
    "bandwidth": 125,
    "air_time": 370688000
  },
  "coding_rate": "4/5",
  "timestamp": "2018-11-14T18:29:48.640Z",
  "rssi": -60,
  "snr": 11,
  "app_eui": "7******159",
  "frequency": 904500000
}

Join accepted

{
  "gw_id": "herdlogix01",
  "payload": "IJjLViLK0DPG+cwj0IUiim0=",
  "lora": {
    "spreading_factor": 10,
    "bandwidth": 500,
    "air_time": 82432000
  },
  "coding_rate": "4/5",
  "timestamp": "2018-11-14T18:29:52.663Z",
  "frequency": 925100000
}

Now here is the join request for the second device:

{
  "gw_id": "herdlogix01",
  "payload": "AFlBAdB+1bNwfs8D/v9YF6hfKm15SOU=",
  "dev_eui": "A81758FFFE03CF7E",
  "lora": {
    "spreading_factor": 9,
    "bandwidth": 125,
    "air_time": 205824000
  },
  "coding_rate": "4/5",
  "timestamp": "2018-11-14T18:07:25.360Z",
  "rssi": -91,
  "snr": 12,
  "app_eui": "7******159",
  "frequency": 905100000
}

Any idea what I am doing wrong?

Thanks,


#2

gw%20trafficc

dev addr (browser console) should always start with 26 for the TTN network


(Arjan) #3

Confirming the obvious: so you do not see a Join Accept for that device in TTN Console? Any chance the Join Request for that device has been received by multiple gateways? Click the Join Request in TTN Console to see more details, and maybe even an error.

Are you sure you’ve got MSB or LSB right? See Hex, lsb or msb?

As an aside: it’s not the gateway that is accepting anything; it’s the network, hence TTN, which processes the Join Accept. Also, the AppEUI is not a secret; anyone can decode that from the radio transmission, or the payload you posted above.


(Prg281) #4

Thanks for your responses.
@arjanvanb Correct: I couldn’t see the Join Accept in the TTN console (which I confused with the gateway in my initial post).
@BoRRoZ the dev addr: wasn’t displayed in the TTN console for the join request; is that not expected?

I deleted and recreated the second device then updated the device accordingly and now the join is accepted and the activation shows up in the TTN device screen:
image
I must have had a misconfiguration that I couldn’t see…

So now I have 2 types of devices requiring different decoding; is there a best practice for this? Should I create one application per device/decoding type?


(Arjan) #5

Correct. For OTAA, the DevAddr changes with each Join Accept. The Join Request has no notion of a DevAddr.

As for decoding: if they’re very different I would indeed create multiple applications. If they’re almost the same, maybe you can determine the device type by payload length or port number. See How to best write an application that contains many nodes with different measure data types.