AT command not available anymore

Hello people!

I have a RAK3172 module and configuring it with AT commands. For a while there was no problem
with sending AT commands but for some reason the AT+MASK=? command is not working anymore.
See picture below for the error and firmware version.

Does anyone know how this problem can be solved?

image

Kinds regards,
Marnick Bijlsma

Hi @Marnick ,

Can you please confirm what band do you use via AT+BAND=?.

Please note that AT+MASK doesn’t work on regions who with no multiple sub-channels. Like if you are in EU868, you cannot use it.

Hello @carlrowan
iam using AT+BAND=0002

Iam configuring the module with AT commands and found probably the problem.

I have a problem with some some AT commands, like devaddr, band, nwskey, appskey etc. It looks like they are not saving by changing with AT commands when i put code below in comment. See below.


     //ABP Device Address MSB first
    uint8_t node_dev_addr[4] = ABP_DEVADDR;
     //ABP Application Session Key
    uint8_t node_app_skey[16] = ABP_APPSKEY;
     //ABP Network Session Key
    uint8_t node_nwk_skey[16] = ABP_NWKSKEY;
 
  
    if (!api.lorawan.daddr.set(node_dev_addr, 4)) {
        Serial.printf("LoRaWan ABP - set device addr is incorrect! \r\n");
        return;
    }
    if (!api.lorawan.appskey.set(node_app_skey, 16)) {
        Serial.printf("LoRaWan ABP - set application session key is incorrect! \r\n");
        return;
    }
    if (!api.lorawan.nwkskey.set(node_nwk_skey, 16)) {
        Serial.printf("LoRaWan ABP - set network session key is incorrect! \r\n");
        return;
    }
    if (!api.lorawan.band.set(ABP_BAND)) {
        Serial.printf("LoRaWan ABP - set band is incorrect! \r\n");
        return; 
    }
    
    if (!api.lorawan.deviceClass.set(RAK_LORA_CLASS_A)) {
        Serial.printf("LoRaWan ABP - set device class is incorrect! \r\n");
        return;
    }
    if (!api.lorawan.njm.set(RAK_LORA_ABP))	// Set the network join mode to ABP
    {
        Serial.printf("LoRaWan ABP - set network join mode is incorrect! \r\n");
        return;
    }
  
    if (!api.lorawan.adr.set(true)) {
        Serial.printf("LoRaWan ABP - set adaptive data rate is incorrect! \r\n");
        return;
    }
    if (!api.lorawan.rety.set(1)) {
        Serial.printf("LoRaWan ABP - set retry times is incorrect! \r\n");
        return;
    }
    if (!api.lorawan.cfm.set(1)) {
        Serial.printf("LoRaWan ABP - set confirm mode is incorrect! \r\n");
        return; 
    }

I thought the API will safe these variables automatic in his memory but propably is this not possible. Is it neccesary to insert these variables manually to the flash memory when you are only working wit AT commands for configuration?

Kind regards,
Marnick Bijlsma

Hi @Marnick ,

I’ve reported already about the CN470 AT+MASK support to the R&D team.

With regards to the keys, if you configure it already like AT+DEVADDR=12345678 then uploading the LoRaWAN_ABP example with commented RUI3 APIs on firmware should NOT erase the configured parameters. These are saved in flash.

hello @carlrowan , i 've figured out this problem. the wrong firmware was downloaded. i have the breakoutbord RAK3272.

But now i have different problem with sending an message. Iam using the arduino example ABP. I got the following error

image

Iam measuring with the oscillosope if there is any signal between the range of my sending frequency but i dont see any signal. I guess there is a problem with the send function in arduino but cannot find the problem.

This is my uplink function

Iam using firmware RUI3_4.0.1_RAK3272-SIP

Do you have any suggestions about this problem?

Hi @Marnick ,

We are going to release RUI3 version 4.0.2 soon. As I’ve looked on the change note, there some implementation change on ABP. I am not sure exactly what was changed (I still have to ask the R&D team), but you can try this staging BSP json link which you can use on to add 4.0.2 BSP version in your Arduino Board Manager.

https://raw.githubusercontent.com/RAKWireless/RAKwireless-Arduino-BSP-Index/staging/RUI_4.0.2/package_rakwireless.com_rui_index.json

Hello @carlrowan I tried the RUI4.0.2 and did a chip erase and now i can see that the module is sending. I tried to connect it with the TTN networkserver but there is no message incoming. I inserted all recommended settings in the module and compared it with the TTN network. There is no activity…

Also i have a strange bug in the serial monitor when i put a AT command. See Below. This came spontaneously. I didnt change anything before this was occuring.

image

Hi @Marnick ,

What do you mean with module is sending but in TTN there is no data?

As for the , I tried upload ABP example with RUI 4.0.2 then input AT+DEVEUI=? but I didn’t see . Is this repeatable scenario? Dont you think it is terminal software related? Also why you inquire DEVEUI? What you need in ABP is DEVADDR.

hello @carlrowan there are some strange problems.

  1. My firmware is set to an earlier setted version, its set to RAK3172-E instead of
    RAK3272S_v1.0.2_Boot+App_20210526. I need the RAK3272 version but cannot update the
    firmware anymore. I did a full chip erase and after this i did an update of the firmware in STM32cube programmer with the STM-ST Link programmer. It says that the firmware updated was finished. I want to read the firmware version but the program is not running by its own, so i need to flash new code and then its running. Thats a sign that the firmware has no bootloader, now when i read the firmware with AT+VER=? its giving me back this
    image
    I sended the RAK3272 firmware and received the RAK3172 firmware. So its not uploaded. (i use the RAK3272S breakout board)

  2. When i register a new application in TTN and connect this with the module, iam able to send data to the TTN server, but when i turn the module on/off its not able to send data to the TTN server anymore.

Do you know how this can happen?

Kind regards,
Marnick Bijlsma

Hi @Marnick ,

1.I am not exactly sure what is wrong here. It seems you uploaded the firmware successful. The FW for RAK3272 and RAK3172 are the same.
2. When you turn off the module, sessions keys will be gone so you need to rejoin again.