Hi,
I have a multitech conduit setup as a Lora Network Server and I can join an mDot on the network fine. What I’m trying to do now is move that configuration to the open source LoraServer.
I can confirm that the gateway/packet-forwarder is setup and is working (I’m receiving packets and they are getting forwarded to the LoraServer). However when the LoraServer accepts a Join Request (I’m using OTA) the transmit message doesn’t seem to reach the mDot (I get a joined failed).
I am in Australia so I’m using the Australian 915-925MHz bands.
The mDot has the following setup.
[INFO] general configuration
[INFO] =====================
[INFO] version ------------------ 2.0.17-1-mbed139
[INFO] device ID/EUI ------------ 008000000000a6b7
[INFO] frequency band ----------- AU915
[INFO] frequency sub band ------- 4
[INFO] public network ----------- off
[INFO] =========================
[INFO] credentials configuration
[INFO] =========================
[INFO] device class ------------- A
[INFO] network join mode -------- OTA
[INFO] network name ------------- xx
[INFO] network phrase ----------- xxxx
[INFO] network EUI -------------- 8b7c2172937dd4ef
[INFO] network KEY -------------- bce475938d4ba72b290fea7a3e315fa0
[INFO] ========================
[INFO] communication parameters
[INFO] ========================
[INFO] acks --------------------- off, 0 attempts
[INFO] TX datarate -------------- DR0
[INFO] TX power ----------------- 20 dBm
[INFO] atnenna gain ------------- 3 dBm
The working Multitech Lora Server setup has the following
“lora” : {
“ADRStep” : 30,
“antennaGain” : 3,
“beaconDelay” : 0,
“beaconInterval” : 0,
“beaconPower” : 27,
“channelPlan” : “AU915”,
“dutyCyclePeriod” : 60,
“dwelltimeDown” : 0,
“dwelltimeUp” : 0,
“enabled” : true,
“eui_1” : “00:80:00:00:00:00:A9:82”,
“frequencyAS” : 922600000,
“frequencyBand” : “AU915”,
“frequencyEU” : 869500000,
“frequencyKR” : 922900000,
“frequencySubBand” : 4,
“joinByteOrder” : “LSB”,
“joinDelay” : 1,
“maxDatarate” : 4,
“maxDatarateEU” : 5,
“maxDatarateUS” : 4,
“maxEIRP” : 20,
“maxTxPower” : 26,
“minDatarate” : 0,
“minDatarateEU” : 0,
“minDatarateUS” : 0,
“netID” : “000000”,
“nodeQueueSize” : 16,
“packetForwarderConfig” : “”,
“packetForwarderMode” : false,
“rx1DatarateOffset” : 0,
“rx1Delay” : 1,
“rx2Datarate” : 8,
“rx2Frequency” : 925100000
},
“mqtt” : {
“enabled” : true,
“host” : “127.0.0.1”,
“port” : 1883
},
“network” : {
“baseKey” : “”,
“eui” : “8b7c2172937dd4ef”,
“key” : “bce475938d4ba72b290fea7a3e315fa0”,
“leasetime” : 0,
“name” : “xxx”,
“passphrase” : “xx”,
“public” : false,
“salt” : “”
},
I am trying to setup the Loraserver to match these settings exactly so I can use it on a Raspberry Pi.
I don’t know how to extract the LoraServer config data however I can confirm that I am receiving and attempting to transmit messages from the log: These messages are from the packet-forwarder. We can see the LoraServer accepts the join request and attempts to transmit back the join accept message (from my understanding).
INFO: Received pkt from mote: 937DD4EF (fcnt=31777)
JSON up: {"rxpk":[{"tmst":12899618,"chan":8,"rfch":0,"freq":920.700000,"stat":1,"modu":"LORA","datr":"SF8BW500","codr":"4/5","lsnr":10.8,"rssi":0,"size":23,"data":"AO/UfZNyIXyLt6YAAAAAgACU2dZ+T2I="}]}
INFO: [up] PUSH_ACK received in 0 ms
INFO: [down] PULL_RESP received - token[184:219] :)
JSON down: {"txpk":{"powe":20,"imme":false,"tmst":17899618,"codr":"4/5","datr":"SF7BW500","freq":925.1,"modu":"LORA","rfch":0,"ipol":true,"size":17,"data":"IFtjIqhqnvZPlHYgEC+ojzM="}}
INFO: tx_start_delay=1497 (1497.000000) - (1497, bw_delay=0.000000, notch_delay=0.000000)
In comparison to the working messages from the Multitech Conduit
0:56:38:487|INFO|GW:00:80:00:00:00:00:a9:82|FRAME-RX|Parsing 1 packets
0:56:38:488|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|DATA: 00efd47d9372217c8bb7a6000000008000b7e09bfdf6f9
0:56:38:489|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|FREQ: 921.000000 MHz DR0 RSSI: -42 dB SNR: 92 cB
0:56:38:489|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|TYPE: Join Request
0:56:38:490|DEBUG|GW:00:80:00:00:00:00:a9:82|JOINREQ-RX|00efd47d9372217c8bb7a6000000008000b7e0
0:56:38:490|DEBUG|GW:00:80:00:00:00:00:a9:82|DEV-EUI|00-80-00-00-00-00-a6-b7
0:56:38:490|DEBUG|GW:00:80:00:00:00:00:a9:82|APP-EUI|8b-7c-21-72-93-7d-d4-ef
0:56:38:490|DEBUG|GW:00:80:00:00:00:00:a9:82|DEV-NONCE|e0b7
0:56:38:491|DEBUG|ED:00-80-00-00-00-00-a6-b7|CHECK-KEY|MIC Valid
0:56:38:492|DEBUG|ED:00-80-00-00-00-00-a6-b7|APP-NONCE|ef0b90
0:56:38:494|INFO|ED:00-80-00-00-00-00-a6-b7|DEV-ADDR|Found in DB 1
0:56:38:495|DEBUG|Update session keys
0:56:38:499|DEBUG|GenerateJoinRequestIntegrityCode
0:56:38:500|DEBUG|node is active
0:56:38:501|INFO|ED:00-80-00-00-00-00-a6-b7|QUEUE-TX|JOIN SIZE: 17
0:56:38:501|DEBUG|Update stats
0:56:38:501|DEBUG|Join packet received
0:56:38:502|DEBUG|transmitController.ReceivedFrame
0:56:38:502|DEBUG|ED:00-80-00-00-00-00-a6-b7|PACKET-RX|GW:00:80:00:00:00:00:a9:82 Time_us:20759604
0:56:38:502|DEBUG|ED:00-80-00-00-00-00-a6-b7|PACKET-RX|Downlink Packets Queued: 1
0:56:38:530|INFO|Send Join Accept - EUI: 00-80-00-00-00-00-a6-b7 ADDR: 00000001
0:56:38:531|INFO|Schedule TX Time on air: 92 ms
0:56:38:532|DEBUG|Scheduling for Rx Window 1 00:00:00:01
0:56:38:533|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|JSON: {“chan”:5,“codr”:“4/5”,“data”:“AO/UfZNyIXyLt6YAAAAAgAC34Jv99vk=”,“datr”:“SF10BW125”,“freq”:921,“lsnr”:9.1999999999999993,“modu”:“LORA”,“rfch”:1,“rssi”:-42,“size”:23,“stat”:1,“time”:“2017-11-08T00:56:38.483687Z”,“tmst”:20759604}
0:56:39:243|INFO|GW:00:80:00:00:00:00:a9:82|FRAME-TX|IP: 127.0.0.1:55739 CH: LC6 NODE: 00:00:00:01 FCNT: 00000000 REPEAT: 0
0:56:39:255|INFO|ED:00-80-00-00-00-00-a6-b7|SCHED-TX|Q-SIZE: 1 PKT-SIZE: 17 PKT-ROOM: 242
0:56:39:255|TRACE|App Data Queue - Join Popped
0:56:39:255|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-TX|DATA: 202db3ac132b72cb2222dcb93aacfb91b1
0:56:39:257|DEBUG|GW:00:80:00:00:00:00:a9:82|PACKET-TX|RX1 OFFSET: 1000000
0:56:39:260|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-TX|JSON: {“txpk”:{“appeui”:“8b-7c-21-72-93-7d-d4-ef”,“codr”:“4/5”,“data”:“IC2zrBMrcssiIty5Oqz7kbE”,“datr”:“SF10BW500”,“deveui”:“00-80-00-00-00-00-a6-b7”,“freq”:925.10000000000002,“ipol”:true,“modu”:“LORA”,“ncrc”:true,“powe”:29,“rfch”:0,“size”:17,“tmst”:21759604}}
0:56:39:262|INFO|GW:00:80:00:00:00:00:a9:82|UDP-TX|JSON-SIZE:255
0:56:42:56|TRACE|GW:00:80:00:00:00:00:a9:82|SEEN|127.0.0.1:55739
0:56:44:959|TRACE|GW:00:80:00:00:00:00:a9:82|SEEN|
0:56:44:960|INFO|GW:00:80:00:00:00:00:a9:82|FRAME-RX|Parsing 1 packets
0:56:44:960|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|DATA: 400100000000000001f6608a5f13cc46da57fd37
0:56:44:961|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|FREQ: 920.400000 MHz DR0 RSSI: -40 dB SNR: 70 cB
0:56:44:961|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|TYPE: Unconfirmed Up
0:56:44:961|DEBUG|GW:00:80:00:00:00:00:a9:82|PACKET-RX|ADDR: 00:00:00:01 FCnt:0000
0:56:44:962|TRACE|Checking 00000000 sequence number
0:56:44:963|INFO|ED:00-80-00-00-00-00-a6-b7|CHECK-PKT|FCNT: 00000000 LAST-FCNT: 00000000 Duplicate: no
0:56:44:963|INFO|ED:00-80-00-00-00-00-a6-b7|CHECK-MIC|ADDR: 00:00:00:01 passed
0:56:44:963|INFO|ED:00-80-00-00-00-00-a6-b7|PER|nan%
0:56:44:969|DEBUG|ED:00-80-00-00-00-00-a6-b7|PACKET-RX|GW:00:80:00:00:00:00:a9:82 Time_us:27237132
0:56:44:969|DEBUG|ED:00-80-00-00-00-00-a6-b7|PACKET-RX|Downlink Packets Queued: 0
0:56:44:969|INFO|ED:00-80-00-00-00-00-a6-b7|FCTRL|ADR:0 ADRACK:0 ACK:0 CLASS:A OPTS:0
0:56:44:984|INFO|ED:00-80-00-00-00-00-a6-b7|SCHED-TX|Use RX1 TOA:82 ms
0:56:44:986|DEBUG|GW:00:80:00:00:00:00:a9:82|FRAME-RX|JSON: {“chan”:2,“codr”:“4/5”,“data”:“QAEAAAAAAAAB9mCKXxPMRtpX/Tc=”,“datr”:“SF10BW125”,“freq”:920.39999999999998,“lsnr”:7,“modu”:“LORA”,“rfch”:0,“rssi”:-40,“size”:20,“stat”:1,“time”:“2017-11-08T00:56:44.958092Z”,“tmst”:27237132}
0:56:45:715|INFO|ED:00-80-00-00-00-00-a6-b7|FRAME-TX|Nothing to transmit
From the mDot when it tries to join I get the following for an unsuccessful join.
[INFO] Send join request RxDelay: 1 Rx1Offset: 0 Rx2Freq: 923300000 Rx2Dr: 8
[INFO] Configure radio for TX
[INFO] Configure radio for TX
[INFO] Configure radio for TX
[INFO] Rx Window 1
[INFO] Rx Window 2
[ERROR] Failed to join network
[ERROR] failed to join network -4:Join Error
What I notice straight up is that the Rx2 frequency of the mDot is 923.3MHz wheras both the working Multitech Conduit and the not working Loraserver are transmitting on 925.1MHz.
I’m not exactly sure what I should be looking at, any help would be much appreciated.