Nrf9160 not setting requested active time

Good day I am wondering if you can help me.

For background information.

Network - NB-iot

Firmware -  1.3.1

Software - Serial LTE Modem

Hardware - nrf9160dk

I am trying to set the requested active time down so that when I go into idle to save power and keep my IP connection that the modem doesn't stay active for 60 seconds there after.

The device is going into low power mode but only after 60 seconds. 

I will attach a screen shot of the AT-commands that I take to get to the point where I'd like to go into low power but the Requested Active Time does not change.

I came across this following link while attempting to get my power consumption down.

(+) turn off active time and go directly to power save mode - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

I tried the command AT+CPSMS=1,"","","10101010","00000000" to set the periodic TAU to 10 minutes and the requested active time to 0 and to 2 (00000001) seconds.

But they had no influence on the 60 seconds of high power consumption after issuing the AT#XSLEEP=2 to put the system into idle.

If anyone has any input as to where I am going wrong I will greatly appreciate it.

Parents
  • Hello Pieter,

    PieterK said:

    I see that the MQTT commands all reply with error.

    Would you possibly be able to assist me in getting the MQTT commands to work?

    The MQTT AT commands below are SLM-specific, and can not be used with the AT Client.

    But to analyse your initial problem with <Active Time>, the MQTT commands are not needed. It is just enough to perform the same steps as I did.

    By the way, to make life a little bit easier for me: Could you please share the application log as text format, preferably using the Insert → Code functionality here in DevZone. Going through a log which is a picture, is a little bit of a pain in the back.

    Thanks & regards,

    Markus

Reply
  • Hello Pieter,

    PieterK said:

    I see that the MQTT commands all reply with error.

    Would you possibly be able to assist me in getting the MQTT commands to work?

    The MQTT AT commands below are SLM-specific, and can not be used with the AT Client.

    But to analyse your initial problem with <Active Time>, the MQTT commands are not needed. It is just enough to perform the same steps as I did.

    By the way, to make life a little bit easier for me: Could you please share the application log as text format, preferably using the Insert → Code functionality here in DevZone. Going through a log which is a picture, is a little bit of a pain in the back.

    Thanks & regards,

    Markus

Children
  • Thank you very much for all the help.

    I now understand the reason to use the AT-Client

    Here is the steps I took according to your steps.

    (10:59:20.948) *** Booting Zephyr OS build v2.7.0-ncs1  ***
     (46)
    (10:59:20.956) I: Starting bootloader
     (24)
    (10:59:20.956) I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
     (75)
    (10:59:20.968) I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
     (77)
    (10:59:20.978) I: Boot source: none
     (22)
    (10:59:20.978) I: Swap type: none
     (20)
    (10:59:21.021) I: Bootloader chainload address offset: 0x10000
     (49)
    (10:59:21.031) I: Jumping to the first image slot
    *** Booting Zephyr OS build v2.7.0-ncs1  ***
     (81)
    (10:59:21.266) Flash regions		Domain		Permissions
     (36)
    (10:59:21.266) 00 03 0x00000 0x20000 	Secure		rwxl
     (37)
    (10:59:21.266) 04 31 0x20000 0x100000 	Non-Secure	rwxl
     (41)
    (10:59:21.266) 
     (2)
    (10:59:21.266) Non-secure callable region 0 placed in flash region 3 with size 32.
     (69)
    (10:59:21.292) 
     (2)
    (10:59:21.319) SRAM region		Domain		Permissions
     (34)
    (10:59:21.332) 00 07 0x00000 0x10000 	Secure		rwxl
     (37)
    (10:59:21.332) 08 31 0x10000 0x40000 	Non-Secure	rwxl
     (40)
    (10:59:21.332) 
     (2)
    (10:59:21.332) Peripheral		Domain		Status
     (28)
    (10:59:21.332) 00 NRF_P0               Non-Secure	OK
     (39)
    (10:59:21.356) 01 NRF_CLOCK            Non-Secure	OK
     (39)
    (10:59:21.356) 02 NRF_RTC0             Non-Secure	OK
     (39)
    (10:59:21.356) 03 NRF_RTC1             Non-Secure	OK
     (39)
    (10:59:21.356) 04 NRF_NVMC             Non-Secure	OK
     (39)
    (10:59:21.356) 05 NRF_UARTE1           Non-Secure	OK
     (39)
    (10:59:21.356) 06 NRF_UARTE2           Secure		SKIP
     (38)
    (10:59:21.356) 07 NRF_TWIM2            Non-Secure	OK
     (39)
    (10:59:21.386) 08 NRF_SPIM3            Non-Secure	OK
     (39)
    (10:59:21.386) 09 NRF_TIMER0           Non-Secure	OK
     (39)
    (10:59:21.386) 10 NRF_TIMER1           Non-Secure	OK
     (39)
    (10:59:21.386) 11 NRF_TIMER2           Non-Secure	OK
     (39)
    (10:59:21.386) 12 NRF_SAADC            Non-Secure	OK
     (39)
    (10:59:21.386) 13 NRF_PWM0             Non-Secure	OK
     (39)
    (10:59:21.386) 14 NRF_PWM1             Non-Secure	OK
     (39)
    (10:59:21.386) 15 NRF_PWM2             Non-Secure	OK
     (39)
    (10:59:21.418) 16 NRF_PWM3             Non-Secure	OK
     (39)
    (10:59:21.418) 17 NRF_WDT              Non-Secure	OK
     (39)
    (10:59:21.418) 18 NRF_IPC              Non-Secure	OK
     (39)
    (10:59:21.418) 19 NRF_VMC              Non-Secure	OK
     (39)
    (10:59:21.418) 20 NRF_FPU              Non-Secure	OK
     (39)
    (10:59:21.418) 21 NRF_EGU0             Non-Secure	OK
     (39)
    (10:59:21.418) 22 NRF_EGU1             Non-Secure	OK
     (39)
    (10:59:21.418) 23 NRF_EGU2             Non-Secure	OK
     (39)
    (10:59:21.418) 24 NRF_EGU3             Non-Secure	OK
     (39)
    (10:59:21.455) 25 NRF_EGU4             Non-Secure	OK
     (39)
    (10:59:21.455) 26 NRF_EGU5             Non-Secure	OK
     (39)
    (10:59:21.455) 27 NRF_DPPIC            Non-Secure	OK
     (39)
    (10:59:21.455) 28 NRF_REGULATORS       Non-Secure	OK
     (39)
    (10:59:21.455) 29 NRF_PDM              Non-Secure	OK
     (39)
    (10:59:21.455) 30 NRF_I2S              Non-Secure	OK
     (39)
    (10:59:21.455) 31 NRF_GPIOTE1          Non-Secure	OK
     (39)
    (10:59:21.455) 
     (2)
    (10:59:21.455) SPM: NS image at 0x20200
     (26)
    (10:59:21.455) SPM: NS MSP at 0x200185f0
     (27)
    (10:59:21.455) SPM: NS reset vector at 0x221e5
     (33)
    (10:59:21.455) SPM: prepare to jump to Non-Secure image.
     (43)
    (10:59:21.658) *** Booting Zephyr OS build v2.7.0-ncs1  ***
     (46)
    (10:59:21.702) The AT host sample started
     (28)
    (10:59:31.904) AT+CEREG=5
     (12)
    (10:59:31.990) OK
     (4)
    (10:59:39.021) AT%CESQ=1
     (11)
    (10:59:39.075) OK
     (4)
    (10:59:48.760) AT%XMODEMSLEEP=1,1000,60000
     (29)
    (10:59:48.842) %XMODEMSLEEP: 4
     (17)
    (10:59:48.842) OK
     (4)
    (10:59:55.141) AT+CFUN=1
     (11)
    (10:59:55.225) %XMODEMSLEEP: 4,0
     (19)
    (10:59:55.225) OK
     (4)
    (10:59:57.882) %CESQ: 40,2,27,3
     (18)
    (10:59:57.922) +CEREG: 2,"5209","09A53917",9
     (31)
    (11:00:00.414) %CESQ: 41,2,22,3
     (18)
    (11:00:10.312) %CESQ: 39,1,28,4
     (18)
    (11:00:12.926) +CEREG: 1,"5209","09A53917",9,,,"00000000","10010100"
     (55)
    (11:01:13.267) %CESQ: 255,0,255,0
     (20)
    (11:01:13.304) %XMODEMSLEEP: 1,599999
     (24)
    
     

  • Good day.

    Yes this is correct. Both At Client and the SLM do the same steps. Both enter idle after we issue idle command.

    My main concern is that in these 60 seconds before going to low power we are consuming weeks worth of power. The nrf9160 modem consumes 20ma for these 60 seconds.

    Can we cut down the 60 seconds as we have battery powered applications and we cannot afford that most of our power consumption is used by the modem after we are already finished. 

    Our MQTT cycles last about 15 seconds. 

  • Good day.

    Thanks Markus.

    I will attach my dev kit to the nrf52832 and let the device run over night this evening and I will firstly test the traces before I let it run.

Related