Problems with AT+SEND long(-ish) strings as class-C

Hello,

I’m seeing what looks like a UART command parsing issue on a RAK3172 configured as LoRaWAN Class-C.

Firmware:

  • AT+VER=RUI_4.2.4_RAK3172-E (same result on RUI_4.0.6_RAK3172-E)

Configuration:

  • Class-C
  • UART 115200 8N1
  • Confirmed uplinks
  • Host MCU sends complete AT command in a single write
  • AT+BAND=4, AT+ADR=1, AT+DR=0

Observed behavior:

The module occasionally reports AT_PARAM_ERROR when sending longer payloads.

Example transmitted by host:

AT+SEND 3:033E3851EC00000000\r

Module echo and response:

AT+SEND 3:033E380\n\rAT_PARAM_ERROR\r\n

Notice that the echoed command is truncated compared to what was transmitted. Now and then the truncation leads to an even number of hex digits and the string is sent over the radio!

I have not observed this behavior when the module is configured as Class-A.

Questions:

  1. Is there any known UART receive/parsing issue in Class-C mode?
  2. Is the Class C firmware doing additional processing that can interfere with reception of AT commands?
  3. Are there recommended inter-character or pre/post-command delays at 115200 baud?
  4. Is there a known issue with AT+SEND while Class-C receive windows are continuously active?

For future reference: it turns out that AT+LPM=0 helps a lot here.