Changes for page LoRaWAN Communication Debug
Last modified by Edwin Chen on 2025/01/29 20:30
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 6 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,9 @@ 1 1 **~ Contents:** 2 2 3 +((( 4 + 5 +))) 6 + 3 3 {{toc/}} 4 4 5 5 ... ... @@ -19,7 +19,7 @@ 19 19 * If the device is sending join request to server? 20 20 * What frequency the device is sending? 21 21 22 -[[image: https://wiki.dragino.com/images/thumb/0/0f/OTAA_Join-1.jpg/600px-OTAA_Join-1.jpg||height="316" width="600"]]26 +[[image:image-20220526163523-1.png]] 23 23 24 24 Console Output from End device to see the transmit frequency 25 25 ... ... @@ -29,7 +29,7 @@ 29 29 * If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency) 30 30 * If the gateway gets the Join Accept message from server and transmit it via LoRa? 31 31 32 -[[image: https://wiki.dragino.com/images/thumb/1/1c/OTAA_Join-2.png/600px-OTAA_Join-2.png||height="325" width="600"]]36 +[[image:image-20220526163608-2.png]] 33 33 34 34 Console Output from Gateway to see packets between end node and server. 35 35 ... ... @@ -40,7 +40,7 @@ 40 40 * If the server send back a Join Accept for the Join Request? if not, check if the keys from the device match the keys you put in the server, or try to choose a different server route for this end device. 41 41 * If the Join Accept message are in correct frequency? If you set the server to use US915 band, and your end node and gateway is EU868, you will see the Join Accept message are in US915 band so no possible to Join success. 42 42 43 -[[image: https://wiki.dragino.com/images/thumb/5/5c/OTAA_Join-3.png/600px-OTAA_Join-3.png||height="301" width="600"]]47 +[[image:image-20220526163633-3.png]] 44 44 45 45 The Traffic for the End node in the server, use TTN as example 46 46 ... ... @@ -49,11 +49,11 @@ 49 49 50 50 * If this data page shows the Join Request message from the end node? If not, most properly you have wrong settings in the keys. Keys in the server doesn't match the keys in End Node. 51 51 52 -[[image: https://wiki.dragino.com/images/thumb/e/ec/OTAA_Join-4.png/600px-OTAA_Join-4.png||height="181" width="600"]]56 +[[image:image-20220526163704-4.png]] 53 53 54 54 The data for the end device set in server 55 55 56 -[[image: https://wiki.dragino.com/images/thumb/b/b1/OTAA_Join-5.png/600px-OTAA_Join-5.png||height="166" width="600"]]60 +[[image:image-20220526163732-5.png]] 57 57 58 58 Check if OTAA Keys match the keys in device 59 59 ... ... @@ -94,25 +94,33 @@ 94 94 Here are the freuqency tables for these bands as reference: 95 95 ))) 96 96 97 -[[image: https://wiki.dragino.com/images/thumb/3/3f/US915_FRE_BAND-1.png/600px-US915_FRE_BAND-1.png||height="170" width="600"]]101 +[[image:image-20220526163801-6.png]] 98 98 99 99 US915 Channels 100 100 101 -[[image:https://wiki.dragino.com/images/ thumb/8/8a/AU915_FRE_BAND-1.png/600px-AU915_FRE_BAND-1.png||height="167" width="600"]]105 +[[image:https://wiki.dragino.com/images/8/8a/AU915_FRE_BAND-1.png]] 102 102 103 103 AU915 Channels 104 104 105 105 [[image:https://wiki.dragino.com/images/thumb/3/3a/CN470_FRE_BAND-1.png/600px-CN470_FRE_BAND-1.png||height="205" width="600"]] 106 106 111 +((( 107 107 CN470 Channels 113 +))) 108 108 115 +((( 109 109 If we look at the [[TTN network server frequency plan>>url:https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html]], we can see the US915 frequency band use the channel 8~~15.So the End Node must work at the same frequency in US915 8~~15 channels for TTN server. 117 +))) 110 110 111 111 [[image:https://wiki.dragino.com/images/thumb/9/9a/US915_FRE_BAND-2.png/600px-US915_FRE_BAND-2.png||height="288" width="600"]] 112 112 121 +((( 113 113 TTN FREQUENCY PLAN 123 +))) 114 114 125 +((( 115 115 In dragino end node, user can use AT+CHE command to set what frequencies set the end node will use. The default settings for Dragino end node are preconfigure for TTN server, so use 8~~15 channels, which is **AT+CHE=2**. (AT+CHE=1 for first 8 channels, AT+CHE=2 for second 8 channels.. etc, and AT+CHE=0 for all 72 channels. ) 127 +))) 116 116 117 117 118 118 = 3. Why i see data lost/unperiocially uplink data? Even the signal strength is good = ... ... @@ -123,18 +123,40 @@ 123 123 * **Gateway** ~-~-> Use Sub-band2 (Channel 8,9,10,11,12,13,14,15) for Dragino Gateway. this is the default settings for dragino sensors. 124 124 * **LoRaWAN server** ~-~-> ChirpStack default installation and use Sub-band1, **enabled_uplink_channels=[0, 1, 2, 3, 4, 5, 6, 7]** in the file chirpstack-network-server.toml. 125 125 138 +((( 126 126 When Sensor power on, it will use sub-band2 to join the network, the frequency matches the settings in gateway so all Join Request will be passed to the server for Join. Server will ask the sensor to change to Sub-band1 in the Join Accept downlink message. Sensor will change to sub-band1 for data upload. This cause the sensor and gateway have different frequencies so user see lost of most data or even no data. 140 +))) 127 127 142 +((( 143 + 144 +))) 145 + 146 +((( 128 128 Use Subband2 as a default subband cause the sensor to have problem to work with the LoRaWAN server which use other subband, and use need to access to the end node to change the subband by console. that is not user frendily,. So since Dragino LoRaWAN Stack version DLS-005(release on end of 2020), we have changed the device to use All Subbands for OTAA join, for example, device will use the first frequency in Sub-Band1 as firt OTAA join packet, then use the first frequency in Sub-Band 2 , then first frequency in sub-band 3, and so on. LoRaWAN server will normally provide the required subband in the OTAA accept process, so end node will know what subband it use after join. If LoRaWAN server doesn't provide subband info in OTAA join, end node will use the subband which join success as the working subband. So the new method cause a longer OTAA Join time but will be compatible with all LoRaWAN server. And new method won't affect the normal uplink after Join Success. 148 +))) 129 129 130 130 131 131 = 4. Transmision on ABP Mode = 132 132 153 +((( 133 133 In ABP mode, there is a Frame Counter Checks. With this check enabled, the server will only accept the frame with a higher counter. If you reboot the device in ABP mode, the device will start from count 0, so you won't be able to see the frame update in server. 155 +))) 134 134 157 +((( 158 + 159 +))) 160 + 161 +((( 135 135 So in ABP mode, first check if the packet already arrive your gateway, if the packet arrive gatewat but didn't arrive server. Please check if this is the issue. 163 +))) 136 136 165 +((( 166 + 167 +))) 168 + 169 +((( 137 137 To solve this, disable the Frame Counter Check will solve this issue , or reset the frame counter in the device page. 171 +))) 138 138 139 139 [[~[~[image:https://wiki.dragino.com/images/thumb/1/19/ABP_Issue-1.jpg/600px-ABP_Issue-1.jpg~|~|height="340" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:ABP_Issue-1.jpg]] 140 140 ... ... @@ -147,7 +147,9 @@ 147 147 148 148 LoRaWAN End node will open two receive windows to receive the downstream data. If the downstream packets arrive the end node at these receive windows, the end node will be able to get this packet and process it. 149 149 184 +((( 150 150 Depends on Class A or Class C, the receive windows will be a little difference, 186 +))) 151 151 152 152 [[image:https://wiki.dragino.com/images/thumb/1/1a/Downstream_LoRaWAN-1.png/600px-Downstream_LoRaWAN-1.png||height="590" width="600"]] 153 153 ... ... @@ -163,81 +163,104 @@ 163 163 164 164 == 5.2 See Debug Info == 165 165 202 +((( 166 166 **For LoRaWAN Server** 204 +))) 167 167 206 +((( 168 168 We can check if there is downlink message for this end node, use TTN for example: 208 +))) 169 169 210 +((( 170 170 Configure a downstream to the end device 212 +))) 171 171 172 172 [[image:https://wiki.dragino.com/images/thumb/8/82/Downstream_debug_1.png/600px-Downstream_debug_1.png||height="217" width="600"]] 173 173 216 +((( 174 174 Set a downstream in TTN and see it is sent 218 +))) 175 175 176 176 221 +((( 177 177 This downstream info will then pass to the gateway downstream list. and include the DR which is used (SF9BW125) in EU868 is DR3 223 +))) 178 178 179 179 [[image:https://wiki.dragino.com/images/thumb/d/dc/Downstream_debug_2.png/600px-Downstream_debug_2.png||height="245" width="600"]] 180 180 227 +((( 181 181 Gateway Traffic can see this downstream info 229 +))) 182 182 183 183 232 +((( 184 184 **For LoRaWAN Gateway** 234 +))) 185 185 236 +((( 186 186 When the downstream packet appear on the traffic of Gateway page. The LoRaWAN gateway can get it from LoRaWAN server and transmit it. In Dragion Gateway, this can be checked by runinng "logread -f" in the SSH console. and see below: 238 +))) 187 187 188 188 [[image:https://wiki.dragino.com/images/thumb/2/21/Downstream_debug_3.png/600px-Downstream_debug_3.png||height="195" width="600"]] 189 189 242 +((( 190 190 Gateway Sent out this packet 244 +))) 191 191 192 192 247 +((( 193 193 **For End Node** 249 +))) 194 194 251 +((( 195 195 we can use AT Command (AT+CFG) to check the RX1 configure and RX2 configure. as below: 253 +))) 196 196 197 -(% class="box infomessage" %) 198 198 ((( 199 - AT+RX2FQ=869525000~-~--> The RX2 Window frequency256 + 200 200 ))) 201 201 259 +((( 202 202 (% class="box infomessage" %) 203 203 ((( 204 -AT+RX2DR=3 ~-~--> The RX2 DataRate 262 +AT+RX2FQ=869525000 ~-~--> The RX2 Window frequency 263 +AT+RX2DR=3 ~-~--> The RX2 DataRate 264 +AT+RX1DL=1000 ~-~--> Receive Delay 1 265 +AT+RX2DL=2000 ~-~--> Receive Delay 2 205 205 ))) 267 +))) 206 206 207 -(% class="box infomessage" %) 208 208 ((( 209 - AT+RX1DL=1000~-~-->ReceiveDelay1270 +**when the device running, we can see below info:** 210 210 ))) 211 211 212 -(% class="box infomessage" %) 273 +{{{ [12502]***** UpLinkCounter= 0 ***** 274 + [12503]TX on freq 868500000 Hz at DR 0 275 + [13992]txDone 276 + [15022]RX on freq 868500000 Hz at DR 0 --> RX1 window open at frequency: 868500000, DR0, after 15022-13992= 1030ms of txdone 277 + [15222]rxTimeOut --> no packet arrive in RX1 window. (duration: 200ms) 278 + [15987]RX on freq 869525000 Hz at DR 3 --> RX2 window open at frequency: 869525000, DR3, after 15987-13992= 1995ms of txdone 279 + [16027]rxTimeOut --> no packet arrive in RX2 window. (duration: 40 ms)}}} 280 + 213 213 ((( 214 - AT+RX2DL=2000~-~--> Receive Delay 2282 + 215 215 ))) 216 216 217 -when the device running, we can see below info: 285 +((( 286 +**Another message:** 287 +))) 218 218 219 -{{{[12502]***** UpLinkCounter= 0 ***** 220 -[12503]TX on freq 868500000 Hz at DR 0 221 -[13992]txDone 222 -[15022]RX on freq 868500000 Hz at DR 0 --> RX1 window open at frequency: 868500000, DR0, after 15022-13992= 1030ms of txdone 223 -[15222]rxTimeOut --> no packet arrive in RX1 window. (duration: 200ms) 224 -[15987]RX on freq 869525000 Hz at DR 3 --> RX2 window open at frequency: 869525000, DR3, after 15987-13992= 1995ms of txdone 225 -[16027]rxTimeOut --> no packet arrive in RX2 window. (duration: 40 ms) 226 -}}} 289 +{{{ [12502]***** UpLinkCounter= 0 ***** 290 + [12503]TX on freq 868100000 Hz at DR 0 291 + [13992]txDone 292 + [15022]RX on freq 868100000 Hz at DR 0 293 + [15222]rxTimeOut 294 + [15987]RX on freq 869525000 Hz at DR 3 295 + [16185]rxDone --> We have got the downstream packet. 296 + Rssi= -64 297 + Receive data 298 + 1:0012345678}}} 227 227 228 -{{{Another message: 229 -[12502]***** UpLinkCounter= 0 ***** 230 -[12503]TX on freq 868100000 Hz at DR 0 231 -[13992]txDone 232 -[15022]RX on freq 868100000 Hz at DR 0 233 -[15222]rxTimeOut 234 -[15987]RX on freq 869525000 Hz at DR 3 235 -[16185]rxDone --> We have got the downstream packet. 236 -Rssi= -64 237 -Receive data 238 -1:0012345678 239 -}}} 240 - 241 241 == 5.3 If problem doesn’t solve == 242 242 243 243 **If user has checked below steps and still can't solve the problem, please send us (support @ dragino.com) the sceenshots for each step to check. They include:** ... ... @@ -249,14 +249,27 @@ 249 249 250 250 = 6. Downlink Issue ~-~- Packet REJECTED, unsupported frequency = 251 251 311 +((( 252 252 In LoRaWAN, the gatewat will use the frequency specify by the server to transmit a packet as downlink purpose. Each Frequency band has different downlink frequency. and the gateway has a frequency range limited to transmit downlink. 313 +))) 253 253 315 +((( 316 + 317 +))) 318 + 319 +((( 254 254 So if the LoRaWAN server is an AS923 server which ask the gateway to transmit at 923.2Mhz frequency, but the gateway is IN868 frequency band (support 865~~867Mhz to transmit). In the gateway log it will show something like below: 321 +))) 255 255 256 -{{{Sat Nov 21 08:04:17 2020 daemon.info lora_pkt_fwd[1680]: ERROR~ Packet REJECTED, unsupported frequency - 923200000 (min:865000000,max:867000000) 257 -}}} 323 +{{{Sat Nov 21 08:04:17 2020 daemon.info lora_pkt_fwd[1680]: ERROR~ Packet REJECTED, unsupported frequency - 923200000 (min:865000000,max:867000000)}}} 258 258 325 +((( 326 + 327 +))) 328 + 329 +((( 259 259 In this case, please double check the gateway frequency and the server frequency band. 331 +))) 260 260 261 261 262 262 = 7. Decrypt a LoRaWAN Packet = ... ... @@ -304,7 +304,9 @@ 304 304 305 305 [[image:https://wiki.dragino.com/images/7/77/Decrypt_a_LoRaWAN_Packet4.png||alt="Decrypt a LoRaWAN Packet4.png" height="390" width="558"]] 306 306 307 -The FRMPayload is the device payload. 379 +((( 380 + The FRMPayload is the device payload. 381 +))) 308 308 309 309 310 310 = 8. Why i see uplink 0x00 periodcally on the LHT65 v1.8 firmware = ... ... @@ -313,32 +313,83 @@ 313 313 314 314 = 9. Why do I see a "MIC Mismatch" error message from the server? = 315 315 390 +((( 316 316 1)If the user receives a "MIC Mismatch" message after registering the node on the server. 392 +))) 317 317 394 +((( 318 318 It is likely that the user filled in the wrong APPKEY when registering the node. Many users fill in "APPSKEY". 396 +))) 319 319 320 -* Please note the distinction between "APPKEY" and "APPSKEY". 398 +* ((( 399 +Please note the distinction between "APPKEY" and "APPSKEY". 400 +))) 321 321 402 +((( 322 322 2)If the node works on the server for a period of time, the device stops working and receives a "MIC Mismatch" message. 404 +))) 323 323 406 +((( 324 324 The user needs a USB-TTL adapter to connect the serial port to modify the node APPKEY. 408 +))) 325 325 326 -* If a node is registered with multiple servers, it may also cause the "mic mismatch" error. 410 +* ((( 411 +If a node is registered with multiple servers, it may also cause the "mic mismatch" error. 327 327 413 + 414 +))) 415 + 328 328 = 10. Why i got the payload only with "0x00" or "AA~=~="? = 329 329 330 330 * If you are using US915, AU915 and AS923 frequencies.This is normal phenomenon. 331 331 420 +((( 332 332 When using the frequency mentioned above, the server sometimes adjusts the rate of the node, because the node defaults to the adaptive rate. 422 +))) 333 333 334 -When the server adjusts your node rate to 0, the maximum payload length is 11 bytes. The server sometimes sends an ADR packet to the node, 424 +((( 425 +When the server adjusts your node rate to 0, the maximum payload length is 11 bytes. The server sometimes sends an ADR packet to the node,and the node will reply to the server after receiving the ADR packet, but the number of payload bytes exceeds the limit,so it will send a normal uplink packet, and an additional 00 data packet. 426 +))) 335 335 336 -and the node will reply to the server after receiving the ADR packet, but the number of payload bytes exceeds the limit, 428 +* ((( 429 +Solution: Use the decoder to filter out this 00 packet. 430 +))) 431 +* ((( 432 +Some node decoders may not have filtering function, or you need decoders of other servers and formats. Please send an email to [[david.huang@dragino.cc>>mailto:david.huang@dragino.cc]] 337 337 338 -so it will send a normal uplink packet, and an additional 00 data packet. 339 339 340 - *Solution: Use the decoder to filter out this 00 packet.341 - * Some node decoders may not have filtering function, or you need decoders of other servers and formats. Please send an email to david.huang@dragino.cc435 + 436 +))) 342 342 343 -(% class="wikigeneratedid" id="H" %) 438 += 11. Why my Dev EUI and APP EUI is 0x000000000000, how to solve? = 439 + 440 +It is possible the keys is erased during upgrading of firmware. and the console output shows below after AT+CFG 441 + 442 +AT+APPKEY=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 443 + 444 +AT+NWKSKEY=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 445 + 446 +AT+APPSKEY=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 447 + 448 +AT+APPEUI=00 00 00 00 00 00 00 00 449 + 450 + 451 +You can get the keys from the box sticker or send mail to Dragino Support to check keys with the provided SN number. 452 + 453 +You can rewrites the keys by running commands in AT Console 454 + 455 +For example: 456 + 457 +AT+APPKEY=85 41 47 20 45 58 28 14 16 82 A0 F0 80 0D DD EE 458 + 459 +AT+NWKSKEY=AA CC B0 20 30 45 37 32 14 1E 14 93 E2 3B 20 11 460 + 461 +AT+APPSKEY=11 23 02 20 30 20 30 60 80 20 20 30 30 20 10 10 462 + 463 +AT+APPEUI=2C 45 47 E3 24 12 23 24 464 + 465 +(Any combination of 16 bit codes can be used) 466 + 467 + 468 +(% class="wikigeneratedid" %) 344 344
- image-20220526163523-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +633.8 KB - Content
- image-20220526163608-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +116.4 KB - Content
- image-20220526163633-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +65.6 KB - Content
- image-20220526163704-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +78.8 KB - Content
- image-20220526163732-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +18.5 KB - Content
- image-20220526163801-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +19.3 KB - Content