RAK3172 AT+DR=0 error

Hi, when i send AT+DR=0 or SF12 they respond AT_PARAM_ERROR, but the ADR is OFF and AU912 band support DataRate is form 0 to 7, and only let me use 2 to 7.

15:59:30.618 → [LoRa]TX:ATZ
15:59:30.664 → [LoRa]RX: __ _ _ _ _
15:59:30.710 → [LoRa]RX:| ___ / _ \ | | / / | | | () | |
15:59:30.895 → [LoRa]RX:| |
/ / /\ | |/ / | | | | _ __ | | ___ ___ ___
LoRa (R) is a registered trademark or service mark of Semtech Corporation or its affiliates. LoRaWAN (R) is a licensed mark.
15:59:31.080 → [LoRa]RX:
15:59:31.126 → [LoRa]RX:
___ ___ _ __ _ _ _ _
15:59:31.173 → [LoRa]RX:| __ | |/| | | '/ _ \ |/ _ / / |
15:59:31.220 → [LoRa]RX:| |\ | | | || |\ \ | | | / | /_ _
15:59:31.313 → [LoRa]RX:_| __| |/\ / /||_| _
|_|_
||
/
__/
15:59:31.359 → [LoRa]RX:================================================
15:59:31.406 → [LoRa]RX:RAK3172-H Vers.4 Feb 18 2022
15:59:31.451 → [LoRa]RX:Current Work Mode: LoRaWAN.
15:59:31.499 → [LoRa]TX:AT+NWM=1
15:59:31.545 → [LoRa]RX:
15:59:31.545 → [LoRa]RX:OK
15:59:31.545 → [LoRa]TX:AT+BAND=6
15:59:31.593 → [LoRa]RX:
15:59:31.593 → [LoRa]RX:OK
15:59:31.639 → [LoRa]TX:AT+MASK=0001
15:59:31.639 → [LoRa]RX:
15:59:31.685 → [LoRa]RX:OK
15:59:31.685 → [LoRa]TX:AT+DEVEUI=496F542DC1AEDE84
15:59:31.731 → [LoRa]RX:
15:59:31.777 → [LoRa]RX:OK
15:59:31.777 → [LoRa]TX:AT+APPEUI=1111111111111111
15:59:31.825 → [LoRa]RX:
15:59:31.871 → [LoRa]RX:OK
15:59:31.871 → [LoRa]TX:AT+APPKEY=11111111111111111111111111111111
15:59:31.965 → [LoRa]RX:
15:59:31.965 → [LoRa]RX:OK
15:59:32.011 → [LoRa]TX:AT+NJM=1
15:59:32.011 → [LoRa]RX:
15:59:32.057 → [LoRa]RX:OK
15:59:32.057 → [LoRa] Config Canales
15:59:32.057 → [LoRa] Open port 0 to 8
15:59:32.103 → [LoRa]TX:AT+MASK=0001
15:59:32.149 → [LoRa]RX:
15:59:32.149 → [LoRa]RX:OK
15:59:32.149 → [LoRa]TX:AT+ADR=0
15:59:32.196 → [LoRa]RX:
15:59:32.196 → [LoRa]RX:OK
15:59:32.242 → [LoRa]TX:AT+DR=0
15:59:32.242 → [LoRa]RX:
15:59:32.288 → [LoRa]RX:AT_PARAM_ERROR

I check ADR and try to set DR from 0 to 7 and this is the result

16:27:49.757 → [SHELL]/lora AT+ADR=?
16:27:49.757 → [LoRa]TX:AT+ADR=?
16:27:49.804 → [LoRa]RX:0
16:27:49.804 → [LoRa]RX:
16:27:49.850 →
16:27:49.850 → [LoRa]RX:OK
16:27:55.724 → [SHELL]/lora AT+DR=?
16:27:55.771 → [LoRa]TX:AT+DR=?
16:27:55.771 → [LoRa]RX:2
16:27:55.817 → [LoRa]RX:
16:27:55.817 →
16:27:55.817 → [LoRa]RX:OK
16:27:59.152 → [SHELL]/lora AT+DR=0
16:27:59.152 → [LoRa]TX:AT+DR=0
16:27:59.199 → [LoRa]RX:
16:27:59.199 → [LoRa]RX:AT_PARAM_ERROR
16:27:59.246 → AT_PARAM_ERROR
16:28:02.475 → [SHELL]/lora AT+DR=1
16:28:02.475 → [LoRa]TX:AT+DR=1
16:28:02.522 → [LoRa]RX:
16:28:02.522 → [LoRa]RX:AT_PARAM_ERROR
16:28:02.569 → AT_PARAM_ERROR
16:28:04.964 → [SHELL]/lora AT+DR=2
16:28:04.964 → [LoRa]TX:AT+DR=2
16:28:05.010 → [LoRa]RX:
16:28:05.010 → [LoRa]RX:OK
16:28:05.057 → OK
16:28:09.737 → [SHELL]/lora AT+DR=3
16:28:09.737 → [LoRa]TX:AT+DR=3
16:28:09.783 → [LoRa]RX:
16:28:09.830 → [LoRa]RX:OK
16:28:09.830 → OK
16:28:12.943 → [SHELL]/lora AT+DR=4
16:28:12.943 → [LoRa]TX:AT+DR=4
16:28:12.991 → [LoRa]RX:
16:28:13.038 → [LoRa]RX:OK
16:28:13.038 → OK
16:28:14.873 → [SHELL]/lora AT+DR=5
16:28:14.919 → [LoRa]TX:AT+DR=5
16:28:14.965 → [LoRa]RX:
16:28:14.965 → [LoRa]RX:OK
16:28:15.011 → OK
16:28:17.974 → [SHELL]/lora AT+DR=6
16:28:17.974 → [LoRa]TX:AT+DR=6
16:28:18.022 → [LoRa]RX:
16:28:18.068 → [LoRa]RX:OK
16:28:18.068 → OK
16:28:20.747 → [SHELL]/lora AT+DR=7
16:28:20.793 → [LoRa]TX:AT+DR=7
16:28:20.840 → [LoRa]RX:
16:28:20.840 → [LoRa]RX:OK
16:28:20.840 → OK

i need set DR=0 for SF12, What am i doing wrong?

thanks.

Welcome to RAK forum @Fede_IoTim ,

I validated your concern and I already forwarded to the SW team. In LoRaWAN regional parameter, DR0 and DR1 is listed so must be supported. I will let you know ASAP why DR=0 and DR=1 is failing when I get clarification from our team.

Hi @Fede_IoTim ,

I discussed it with our team and I missed the limitation on DR0 and DR1 when UplinkDwellTime = 1.

You can have a look on it in the LoRaWAN Regional Specifications from LoRa Alliance.

The network server will set the UplinkDwellTime after join process and when set to 0 and your ADR is on, it will automatically use DR=0 when needed. The FW has UplinkDwellTime=1 as default.

image

1 Like

Hi, @carlrowan ,
I see that, but when i use RAK3172 in STM32Cube project not have this limitation.
In case i want change UplinkDwellTime to 0 via AT command, how a do?

At the moment, there is no AT Command to change the UplinkDwellTime. The RAK3172 will have it configured based on the LoRaWAN network server you use after successful join process.

Is it feasible to provide a FW version with UplinkDwellTime=0 as default? We use Loriot as our network server, but we cannot modify that parameter from there, because they use LoRa V1.0.3.

Hi @carlrowan,
When you talk about a “successful join process” I guess you refer to OTAA, however when using ABP is the UplinkDwellTime still managed by the LoRaWAN network server?

Hi @nicolasech ,

I haven’t used ABP for a long time now. On OTAA, these are done upon successful join. However, on ABP there is no joining. This means that it is up to network server when it will request the end-device to update the dwelltime.

Hi @carlrowan,
Since the DR and the DwellTime may vary, the maximum payload size also does, is there a way to know the current maximum payload size in the RAK4630, using AT commands?

We have a table for that @nicolasech . You can check here. Most problematic setting is DR0 in US915. The size is just too low that there are scenarios that adding LoRaWAN MAC payload on top of the user payload causes unpredictable behavior between the device and network server. As far as I read before, this is a known limitation even by LoRa Alliance. I am not sure if they are working on something about this.

Hi @carlrowan,
Thanks for your reply.
That table seems incomplete for AU915. For LoRaWAN specification 1.0.3 we have the following (as you shared some messages above):


I am using the RAK4630 and I am being limited to 11 bytes en DR=2, so the UplinkDwellTime must be set to 1.
Since the maximum payload depends on DataRate and UplinkDwellTime is there a way to know for sure the current maximum payload size in the RAK4630?

For example: if DR=2 (AT+DR=?), how do I know what’s the maximum payload size (51 or 11 bytes)?

does AT+LPSEND always send in each packet as many bytes as the current DR and UplinkDwellTime allow? or is the packet size fixed?

Hi Nicholas,

The device will assume that the dwell time is active. At DR2, it can only have 11bytes.

However, if the dwelltime is turned off on the LoRaWAN network server, you will be able to maximize the payload size but it needs to successfully join first.

Regarding long payload, the device will follow the limits mandated on the DR configured.

You can see here different uplink attempts to follow payload size limit on different DR.

They all have different DR and # of uplinks but on the Network Server side, it will look like all the same payload sent.

1 Like