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)
Details
- Page properties
-
- Content
-
... ... @@ -104,23 +104,15 @@ 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 107 -((( 108 108 CN470 Channels 109 -))) 110 110 111 -((( 112 112 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. 113 -))) 114 114 115 115 [[image:https://wiki.dragino.com/images/thumb/9/9a/US915_FRE_BAND-2.png/600px-US915_FRE_BAND-2.png||height="288" width="600"]] 116 116 117 -((( 118 118 TTN FREQUENCY PLAN 119 -))) 120 120 121 -((( 122 122 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. ) 123 -))) 124 124 125 125 126 126 = 3. Why i see data lost/unperiocially uplink data? Even the signal strength is good = ... ... @@ -131,40 +131,18 @@ 131 131 * **Gateway** ~-~-> Use Sub-band2 (Channel 8,9,10,11,12,13,14,15) for Dragino Gateway. this is the default settings for dragino sensors. 132 132 * **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. 133 133 134 -((( 135 135 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. 136 -))) 137 137 138 -((( 139 - 140 -))) 141 - 142 -((( 143 143 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. 144 -))) 145 145 146 146 147 147 = 4. Transmision on ABP Mode = 148 148 149 -((( 150 150 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. 151 -))) 152 152 153 -((( 154 - 155 -))) 156 - 157 -((( 158 158 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. 159 -))) 160 160 161 -((( 162 - 163 -))) 164 - 165 -((( 166 166 To solve this, disable the Frame Counter Check will solve this issue , or reset the frame counter in the device page. 167 -))) 168 168 169 169 [[~[~[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]] 170 170 ... ... @@ -177,9 +177,7 @@ 177 177 178 178 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. 179 179 180 -((( 181 181 Depends on Class A or Class C, the receive windows will be a little difference, 182 -))) 183 183 184 184 [[image:https://wiki.dragino.com/images/thumb/1/1a/Downstream_LoRaWAN-1.png/600px-Downstream_LoRaWAN-1.png||height="590" width="600"]] 185 185 ... ... @@ -195,104 +195,81 @@ 195 195 196 196 == 5.2 See Debug Info == 197 197 198 -((( 199 199 **For LoRaWAN Server** 200 -))) 201 201 202 -((( 203 203 We can check if there is downlink message for this end node, use TTN for example: 204 -))) 205 205 206 -((( 207 207 Configure a downstream to the end device 208 -))) 209 209 210 210 [[image:https://wiki.dragino.com/images/thumb/8/82/Downstream_debug_1.png/600px-Downstream_debug_1.png||height="217" width="600"]] 211 211 212 -((( 213 213 Set a downstream in TTN and see it is sent 214 -))) 215 215 216 216 217 -((( 218 218 This downstream info will then pass to the gateway downstream list. and include the DR which is used (SF9BW125) in EU868 is DR3 219 -))) 220 220 221 221 [[image:https://wiki.dragino.com/images/thumb/d/dc/Downstream_debug_2.png/600px-Downstream_debug_2.png||height="245" width="600"]] 222 222 223 -((( 224 224 Gateway Traffic can see this downstream info 225 -))) 226 226 227 227 228 -((( 229 229 **For LoRaWAN Gateway** 230 -))) 231 231 232 -((( 233 233 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: 234 -))) 235 235 236 236 [[image:https://wiki.dragino.com/images/thumb/2/21/Downstream_debug_3.png/600px-Downstream_debug_3.png||height="195" width="600"]] 237 237 238 -((( 239 239 Gateway Sent out this packet 240 -))) 241 241 242 242 243 -((( 244 244 **For End Node** 245 -))) 246 246 247 -((( 248 248 we can use AT Command (AT+CFG) to check the RX1 configure and RX2 configure. as below: 249 -))) 250 250 197 +(% class="box infomessage" %) 251 251 ((( 252 - 199 +AT+RX2FQ=869525000 ~-~--> The RX2 Window frequency 253 253 ))) 254 254 255 -((( 256 256 (% class="box infomessage" %) 257 257 ((( 258 -AT+RX2FQ=869525000 ~-~--> The RX2 Window frequency 259 -AT+RX2DR=3 ~-~--> The RX2 DataRate 260 -AT+RX1DL=1000 ~-~--> Receive Delay 1 261 -AT+RX2DL=2000 ~-~--> Receive Delay 2 204 +AT+RX2DR=3 ~-~--> The RX2 DataRate 262 262 ))) 263 -))) 264 264 207 +(% class="box infomessage" %) 265 265 ((( 266 - **whenthedevicerunning, wecan see belowinfo:**209 +AT+RX1DL=1000 ~-~--> Receive Delay 1 267 267 ))) 268 268 269 -{{{ [12502]***** UpLinkCounter= 0 ***** 270 - [12503]TX on freq 868500000 Hz at DR 0 271 - [13992]txDone 272 - [15022]RX on freq 868500000 Hz at DR 0 --> RX1 window open at frequency: 868500000, DR0, after 15022-13992= 1030ms of txdone 273 - [15222]rxTimeOut --> no packet arrive in RX1 window. (duration: 200ms) 274 - [15987]RX on freq 869525000 Hz at DR 3 --> RX2 window open at frequency: 869525000, DR3, after 15987-13992= 1995ms of txdone 275 - [16027]rxTimeOut --> no packet arrive in RX2 window. (duration: 40 ms)}}} 276 - 212 +(% class="box infomessage" %) 277 277 ((( 278 - 214 +AT+RX2DL=2000 ~-~--> Receive Delay 2 279 279 ))) 280 280 281 -((( 282 -**Another message:** 283 -))) 217 +when the device running, we can see below info: 284 284 285 -{{{ [12502]***** UpLinkCounter= 0 ***** 286 - [12503]TX on freq 868100000 Hz at DR 0 287 - [13992]txDone 288 - [15022]RX on freq 868100000 Hz at DR 0 289 - [15222]rxTimeOut 290 - [15987]RX on freq 869525000 Hz at DR 3 291 - [16185]rxDone --> We have got the downstream packet. 292 - Rssi= -64 293 - Receive data 294 - 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 +}}} 295 295 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 + 296 296 == 5.3 If problem doesn’t solve == 297 297 298 298 **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:** ... ... @@ -304,27 +304,14 @@ 304 304 305 305 = 6. Downlink Issue ~-~- Packet REJECTED, unsupported frequency = 306 306 307 -((( 308 308 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. 309 -))) 310 310 311 -((( 312 - 313 -))) 314 - 315 -((( 316 316 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: 317 -))) 318 318 319 -{{{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 +}}} 320 320 321 -((( 322 - 323 -))) 324 - 325 -((( 326 326 In this case, please double check the gateway frequency and the server frequency band. 327 -))) 328 328 329 329 330 330 = 7. Decrypt a LoRaWAN Packet = ... ... @@ -372,9 +372,7 @@ 372 372 373 373 [[image:https://wiki.dragino.com/images/7/77/Decrypt_a_LoRaWAN_Packet4.png||alt="Decrypt a LoRaWAN Packet4.png" height="390" width="558"]] 374 374 375 -((( 376 - The FRMPayload is the device payload. 377 -))) 307 +The FRMPayload is the device payload. 378 378 379 379 380 380 = 8. Why i see uplink 0x00 periodcally on the LHT65 v1.8 firmware = ... ... @@ -383,48 +383,32 @@ 383 383 384 384 = 9. Why do I see a "MIC Mismatch" error message from the server? = 385 385 386 -((( 387 387 1)If the user receives a "MIC Mismatch" message after registering the node on the server. 388 -))) 389 389 390 -((( 391 391 It is likely that the user filled in the wrong APPKEY when registering the node. Many users fill in "APPSKEY". 392 -))) 393 393 394 -* ((( 395 -Please note the distinction between "APPKEY" and "APPSKEY". 396 -))) 320 +* Please note the distinction between "APPKEY" and "APPSKEY". 397 397 398 -((( 399 399 2)If the node works on the server for a period of time, the device stops working and receives a "MIC Mismatch" message. 400 -))) 401 401 402 -((( 403 403 The user needs a USB-TTL adapter to connect the serial port to modify the node APPKEY. 404 -))) 405 405 406 -* ((( 407 -If a node is registered with multiple servers, it may also cause the "mic mismatch" error. 408 -))) 326 +* If a node is registered with multiple servers, it may also cause the "mic mismatch" error. 409 409 410 410 = 10. Why i got the payload only with "0x00" or "AA~=~="? = 411 411 412 412 * If you are using US915, AU915 and AS923 frequencies.This is normal phenomenon. 413 413 414 -((( 415 415 When using the frequency mentioned above, the server sometimes adjusts the rate of the node, because the node defaults to the adaptive rate. 416 -))) 417 417 418 -((( 419 -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. 420 -))) 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, 421 421 422 -* ((( 423 -Solution: Use the decoder to filter out this 00 packet. 424 -))) 425 -* ((( 426 -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 427 -))) 336 +and the node will reply to the server after receiving the ADR packet, but the number of payload bytes exceeds the limit, 428 428 338 +so it will send a normal uplink packet, and an additional 00 data packet. 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.cc 342 + 429 429 (% class="wikigeneratedid" id="H" %) 430 430