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, 0 added, 4 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,5 @@ 1 1 **~ Contents:** 2 2 3 -((( 4 - 5 -))) 6 - 7 7 {{toc/}} 8 8 9 9 ... ... @@ -23,7 +23,7 @@ 23 23 * If the device is sending join request to server? 24 24 * What frequency the device is sending? 25 25 26 -[[image:image -20220526163523-1.png]]22 +[[image:https://wiki.dragino.com/images/thumb/0/0f/OTAA_Join-1.jpg/600px-OTAA_Join-1.jpg||height="316" width="600"]] 27 27 28 28 Console Output from End device to see the transmit frequency 29 29 ... ... @@ -33,7 +33,7 @@ 33 33 * If the gateway receive the Join request packet from sensor? (If this fail, check if the gateway and sensor works on the match frequency) 34 34 * If the gateway gets the Join Accept message from server and transmit it via LoRa? 35 35 36 -[[image:image-2 0220526163608-2.png]]32 +[[image:https://wiki.dragino.com/images/thumb/1/1c/OTAA_Join-2.png/600px-OTAA_Join-2.png||height="325" width="600"]] 37 37 38 38 Console Output from Gateway to see packets between end node and server. 39 39 ... ... @@ -108,23 +108,15 @@ 108 108 109 109 [[image:https://wiki.dragino.com/images/thumb/3/3a/CN470_FRE_BAND-1.png/600px-CN470_FRE_BAND-1.png||height="205" width="600"]] 110 110 111 -((( 112 112 CN470 Channels 113 -))) 114 114 115 -((( 116 116 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 -))) 118 118 119 119 [[image:https://wiki.dragino.com/images/thumb/9/9a/US915_FRE_BAND-2.png/600px-US915_FRE_BAND-2.png||height="288" width="600"]] 120 120 121 -((( 122 122 TTN FREQUENCY PLAN 123 -))) 124 124 125 -((( 126 126 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 -))) 128 128 129 129 130 130 = 3. Why i see data lost/unperiocially uplink data? Even the signal strength is good = ... ... @@ -135,40 +135,18 @@ 135 135 * **Gateway** ~-~-> Use Sub-band2 (Channel 8,9,10,11,12,13,14,15) for Dragino Gateway. this is the default settings for dragino sensors. 136 136 * **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. 137 137 138 -((( 139 139 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 -))) 141 141 142 -((( 143 - 144 -))) 145 - 146 -((( 147 147 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 -))) 149 149 150 150 151 151 = 4. Transmision on ABP Mode = 152 152 153 -((( 154 154 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 -))) 156 156 157 -((( 158 - 159 -))) 160 - 161 -((( 162 162 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 -))) 164 164 165 -((( 166 - 167 -))) 168 - 169 -((( 170 170 To solve this, disable the Frame Counter Check will solve this issue , or reset the frame counter in the device page. 171 -))) 172 172 173 173 [[~[~[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]] 174 174 ... ... @@ -181,9 +181,7 @@ 181 181 182 182 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. 183 183 184 -((( 185 185 Depends on Class A or Class C, the receive windows will be a little difference, 186 -))) 187 187 188 188 [[image:https://wiki.dragino.com/images/thumb/1/1a/Downstream_LoRaWAN-1.png/600px-Downstream_LoRaWAN-1.png||height="590" width="600"]] 189 189 ... ... @@ -199,104 +199,81 @@ 199 199 200 200 == 5.2 See Debug Info == 201 201 202 -((( 203 203 **For LoRaWAN Server** 204 -))) 205 205 206 -((( 207 207 We can check if there is downlink message for this end node, use TTN for example: 208 -))) 209 209 210 -((( 211 211 Configure a downstream to the end device 212 -))) 213 213 214 214 [[image:https://wiki.dragino.com/images/thumb/8/82/Downstream_debug_1.png/600px-Downstream_debug_1.png||height="217" width="600"]] 215 215 216 -((( 217 217 Set a downstream in TTN and see it is sent 218 -))) 219 219 220 220 221 -((( 222 222 This downstream info will then pass to the gateway downstream list. and include the DR which is used (SF9BW125) in EU868 is DR3 223 -))) 224 224 225 225 [[image:https://wiki.dragino.com/images/thumb/d/dc/Downstream_debug_2.png/600px-Downstream_debug_2.png||height="245" width="600"]] 226 226 227 -((( 228 228 Gateway Traffic can see this downstream info 229 -))) 230 230 231 231 232 -((( 233 233 **For LoRaWAN Gateway** 234 -))) 235 235 236 -((( 237 237 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 -))) 239 239 240 240 [[image:https://wiki.dragino.com/images/thumb/2/21/Downstream_debug_3.png/600px-Downstream_debug_3.png||height="195" width="600"]] 241 241 242 -((( 243 243 Gateway Sent out this packet 244 -))) 245 245 246 246 247 -((( 248 248 **For End Node** 249 -))) 250 250 251 -((( 252 252 we can use AT Command (AT+CFG) to check the RX1 configure and RX2 configure. as below: 253 -))) 254 254 197 +(% class="box infomessage" %) 255 255 ((( 256 - 199 +AT+RX2FQ=869525000 ~-~--> The RX2 Window frequency 257 257 ))) 258 258 259 -((( 260 260 (% class="box infomessage" %) 261 261 ((( 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 204 +AT+RX2DR=3 ~-~--> The RX2 DataRate 266 266 ))) 267 -))) 268 268 207 +(% class="box infomessage" %) 269 269 ((( 270 - **whenthedevicerunning, wecan see belowinfo:**209 +AT+RX1DL=1000 ~-~--> Receive Delay 1 271 271 ))) 272 272 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 - 212 +(% class="box infomessage" %) 281 281 ((( 282 - 214 +AT+RX2DL=2000 ~-~--> Receive Delay 2 283 283 ))) 284 284 285 -((( 286 -**Another message:** 287 -))) 217 +when the device running, we can see below info: 288 288 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}}} 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 +}}} 299 299 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 + 300 300 == 5.3 If problem doesn’t solve == 301 301 302 302 **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:** ... ... @@ -308,27 +308,14 @@ 308 308 309 309 = 6. Downlink Issue ~-~- Packet REJECTED, unsupported frequency = 310 310 311 -((( 312 312 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 -))) 314 314 315 -((( 316 - 317 -))) 318 - 319 -((( 320 320 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 -))) 322 322 323 -{{{Sat Nov 21 08:04:17 2020 daemon.info lora_pkt_fwd[1680]: ERROR~ Packet REJECTED, unsupported frequency - 923200000 (min:865000000,max:867000000)}}} 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 +}}} 324 324 325 -((( 326 - 327 -))) 328 - 329 -((( 330 330 In this case, please double check the gateway frequency and the server frequency band. 331 -))) 332 332 333 333 334 334 = 7. Decrypt a LoRaWAN Packet = ... ... @@ -376,9 +376,7 @@ 376 376 377 377 [[image:https://wiki.dragino.com/images/7/77/Decrypt_a_LoRaWAN_Packet4.png||alt="Decrypt a LoRaWAN Packet4.png" height="390" width="558"]] 378 378 379 -((( 380 - The FRMPayload is the device payload. 381 -))) 307 +The FRMPayload is the device payload. 382 382 383 383 384 384 = 8. Why i see uplink 0x00 periodcally on the LHT65 v1.8 firmware = ... ... @@ -387,81 +387,32 @@ 387 387 388 388 = 9. Why do I see a "MIC Mismatch" error message from the server? = 389 389 390 -((( 391 391 1)If the user receives a "MIC Mismatch" message after registering the node on the server. 392 -))) 393 393 394 -((( 395 395 It is likely that the user filled in the wrong APPKEY when registering the node. Many users fill in "APPSKEY". 396 -))) 397 397 398 -* ((( 399 -Please note the distinction between "APPKEY" and "APPSKEY". 400 -))) 320 +* Please note the distinction between "APPKEY" and "APPSKEY". 401 401 402 -((( 403 403 2)If the node works on the server for a period of time, the device stops working and receives a "MIC Mismatch" message. 404 -))) 405 405 406 -((( 407 407 The user needs a USB-TTL adapter to connect the serial port to modify the node APPKEY. 408 -))) 409 409 410 -* ((( 411 -If a node is registered with multiple servers, it may also cause the "mic mismatch" error. 326 +* If a node is registered with multiple servers, it may also cause the "mic mismatch" error. 412 412 413 - 414 -))) 415 - 416 416 = 10. Why i got the payload only with "0x00" or "AA~=~="? = 417 417 418 418 * If you are using US915, AU915 and AS923 frequencies.This is normal phenomenon. 419 419 420 -((( 421 421 When using the frequency mentioned above, the server sometimes adjusts the rate of the node, because the node defaults to the adaptive rate. 422 -))) 423 423 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 -))) 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, 427 427 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]] 336 +and the node will reply to the server after receiving the ADR packet, but the number of payload bytes exceeds the limit, 433 433 338 +so it will send a normal uplink packet, and an additional 00 data packet. 434 434 435 - 436 - )))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.cc 437 437 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 - 343 +(% class="wikigeneratedid" id="H" %) 344 +
- image-20220526163523-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -633.8 KB - Content
- image-20220526163608-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -116.4 KB - Content
- image-20220526163633-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -65.6 KB - Content
- image-20220526163704-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -78.8 KB - Content