AT_COMMAND_NOT_FOUND RAK3172

Hi Guys

Me again! using the rak3172 I get random AT_COMMAND_NOT_FOUND responses from different RAK modules, sometimes everything runs fine and every now and then I get that response(with different AT commands) my example below is with join AT

This is my routine for joining the lora Network
image

if I reset the RAK3172 then it runs fine.

I thought that maybe the AT command was not send properly so I was able to put another UART reader in between the RAK3172 and my uC and this is what I saw
image

So it looks like the message is leaving my uC with all the characters.

This is my FW version
image

Any clues of what the issue could be?

Thanks

FYI The values between () are ms since boot time

Hi @peter3099 ,

AT_COMMAND_NOT_FOUND will only happen if there is an input in the serial line that doesn’t make sense for RAK3172. As I look on the timing, you are done in setup within 188mSec. Maybe you can try to slow down this steps by adding small delay on the commands or you can try to lower the baudrate.

@carlrowan Thanks for that I will try it, I also experience this when waking up the device after sleep, I know that there is no command to wake up the rak3172 after automatic sleep but every now and then I get this AT_COMMAND_NOT_FOUND in the first or the second comand I send to the device. Ussually they are only 2 AT+RECV(to check for a downlink in the previous sample) and AT+SEND to send the new uplink. Is there any timing constrains that I have to watch or any proper way to wake up the device from sleep?

Just an update, it looks like a delay of 10ms between commands send to the RAk3172 help to avoid these errors.

Hi Carl

just an update on this, even tough I put delays in before an in between any command send to the RAK3172 I still get some random AT_COMMAND_NOT_FOUND, I can see the timestamps between the commands and they are more than 50ms, am I missing something here?

What is the recommended serial speed for the RAK3172? I thought since it was setup as 115200 with the FW upgrade it was ok to use this one

Thanks

1 Like

Just to add these 2 logs with the same timestamps since boot time in ()

Failed
image

Pass
image

Both commands start at the same time 82ms and in one the response takes 10ms, but for the other the response comes right away and it fails.

1 Like

Hi @peter3099 ,

115200 should work fine and I am using it even on the early version of RUI3.

At this speed of transitioning, it will be best if we have UART signal logs via logic analyzer / oscilloscope.

Few things I can suggest:

  1. Have longer delay between initialization commands (if possible in your application).
  2. Resend the command if the seen reply is AT_COMMAND_NOT_FOUND

Hi Carl

Thanks for this, I think I have a better grasp of how the error gets reproduce.

We are powering the host uC and the RAK3172 with 3.6V batteries and there is a super capacitor in parallel. When the capacitor is charging/empty that is when I get most of the errors. We are not regulating the voltage as to avoid losing power on the regulator so basically the voltage keeps climbing until it reaches the 3.6V of the battery.

i have noticied that ussually when the votlage is below 3.2V, that is when I get the errors. I can see that the RAK3172 works from 2.0 to 3.6V so maybe it is not the voltage but the current that gets to the RAK3172 is not enough when the super capacitor is charging.

Thoughts?

It is hard to say. If we suspect that it is related to voltage/current, maybe the pulses got erratic or sufficient levels are not reached. We can only see this thru oscilloscope or logic analyzers.

If you observe that low voltage makes the circuit behave unusual, maybe voltage monitoring circuit is needed. Also, equally important is monitoring if the replied command is AT_COMMAND_NOT_FOUND, if this is the case, maybe allow the voltage to go up before sending again the command (in case they are related issues).

1 Like

@carlrowan I am also now getting this error “AT+LPMLVL: Command not found!!” since adding the “AT+LPMLVL=2” command in my setup code of the RAK3272S Ver. B module (AT+VER=RUI_3.5.1_RAK3172-E). I also send the “AT+LPM” command. Do I need to revert back to the “AT+SLEEP” command usage for this module?
Thanks,
Jim M

Hi @jmeck ,

The LPMLVL is introduced on FW version 4.0.0.

You can update the firmware of RAK3172 by following this instruction - RAK3172 Module Quick Start Guide | RAKwireless Documentation Center

For the change log of firmware, you can check it here - https://downloads.rakwireless.com/RUI/RUI3/Image/CHANGELOG.md

1 Like

@carlrowan I appreciate the prompt explanation and guidance. I shall endeavor to update the firmware on at least one of my RAK3272s/3172 modules.
Thanks!
Jim

Hi, Yes i have seen this AT_COMMAND_NOT FOUND error too. I put in a 10ms delay and that for the most part has resolved this issue. However it does still sometimes appear. Re-issuing the command is the next best thing. In this case it was issuing AT+PRECV=0 or AT_PRECV=65534. I suspect they may may a firmware bug, we have RUI V4.06. If this doesn’t work we do a hardware reset.