Hi all,
I’m looking into a problem we’re seeing with activation/join of a device. All I’m seeing on the data tab for the device are lots of Activations:
After digging through the gateway logs I can see:
JSON up: {"rxpk":[{"tmst":813635164,"time":"2020-04-16T11:12:56.665149Z","tmms":1271070776665,"chan":7,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF7BW125","codr":"4/5","lsnr":-4.8,"lsnr_min":-9.2,"lsnr_max":-1.8,"rssi":-120,"size":23,"data
":"AAABAAAAAACgR8iBAQBBQKj0ks8Kav4="}]}
Decoded:
Assuming base64-encoded packet
AAABAAAAAACgR8iBAQBBQKj0ks8Kav4=
Message Type = Join Request
PHYPayload = 0000010000000000A047C88101004140A8F492CF0A6AFE
( PHYPayload = MHDR[1] | MACPayload[..] | MIC[4] )
MHDR = 00
MACPayload = 00010000000000A047C88101004140A8F492
MIC = CF0A6AFE
( MACPayload = AppEUI[8] | DevEUI[8] | DevNonce[2] )
AppEUI = A000000000000100
DevEUI = A84041000181C847
DevNonce = 92F4
and then
JSON down: {"txpk":{"imme":false,"tmst":818635164,"freq":868.5,"rfch":0,"powe":14,"modu":"LORA","datr":"SF7BW125","codr":"4/5","ipol":true,"size":33,"ncrc":true,"data":"IMP/IJD4aY6yt2zDy/upJk8CxNHv6JGe0OqwKD5XG3ie"}}
Decode:
Assuming base64-encoded packet
IMP/IJD4aY6yt2zDy/upJk8CxNHv6JGe0OqwKD5XG3ie
Message Type = Join Accept -- WARNING: The values below have not been decrypted
PHYPayload = 20C3FF2090F8698EB2B76CC3CBFBA9264F02C4D1EFE8919ED0EAB0283E571B789E
( PHYPayload = MHDR[1] | MACPayload[..] | MIC[4] )
MHDR = 20
MACPayload = C3FF2090F8698EB2B76CC3CBFBA9264F02C4D1EFE8919ED0EAB0283E
MIC = 571B789E
( MACPayload = AppNonce[3] | NetID[3] | DevAddr[4] | DLSettings[1] | RxDelay[1] | CFList[0|15] )
AppNonce = 20FFC3
NetID = 69F890
DevAddr = 6CB7B28E
DLSettings = C3
RxDelay = CB
CFList = FBA9264F02C4D1EFE8919ED0EAB0283E
DLSettings.RX1DRoffset = 4
DLSettings.RX2DataRate = 3
RxDelay.Del = 11
So the Join Request
is reaching the gateway. The gateway is sending a Join Accept
but for some reason the device is not receiving this and, I assume, is sending another Join Request
.
Additional Details
The distance between the device and gateway is about 250m.
The gateway is TTOG.
The device is a Dragino LHT65
We are using OTAA activation.
We normally activated before deploying but in this case forgot and so were trying to activate at distance.
My Theory
Because of the relatively long range between the gateway and device and the relatively poor antenna on the device compared to the gateway, uplink (the initial join request) is received fine but the device is unable to receive the downlink Join Accept
with it’s new keys.
I’ve done some googling but haven’t been able to find much information on the difference in range between an up and downlink given the different properties of a gateway and device, although logically it makes sense that the gateway has a better ability receive than a a device does.
I’ve also been unable to find any advice that an activation should be done in closer proximity to a gateway than standard operation where only uplinks are generally important (until you want to change something via a downlink, that is).
Would this lack of ability to activate also signify a likely issue with getting downlink messages to the device?
Would anyone be able to confirm or deny my theory based on the information I’ve provided? Would be much obliged.
Many thanks