This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF9160 eDRX weird behavior + how to properly monitor?

Hello,

My setup is UDP sample and PPK2 for power measurements. I am trying to figure out the best settings that are available with eDRX set to <= 20.48s, and preferably 5.12 or 10.24. I prefer using LTE-M when available over NB-IoT. PSM is off.

When testing with default UDP sample settings (PSM enabled) i get a very similar power profile to the tutorial (https://www.youtube.com/watch?v=r_dr3Qd8inE). Only difference is in cDRX inactivity timer, i get ~100 ms compared to 300 in the tutorial. All good and normal.

When testing with eDRX i get the following:

  1. the network seems to accept it, meaning i get the callback lte_handler case LTE_LC_EVT_EDRX_UPDATE with the values i set. In one test i set 1110 on LTE-M which is N/A and got back 2621.44 which is the closest value
  2. the power profiler shows an average of 500-600 micro amps with spikes every ~1.2 seconds no matter what eDRX value i set, and even if eDRX is set to "OFF".Also a bit weird since normally with eDRX off i should expect an average current in RRC Idle of ~1 mA (according to Online Power Profiler) and i get about half that.

From the above, to me it looks like i'm getting some pseudo eDRX.

Slight smile

Questions:

1. Do i have eDRX or not? Slight smile

2. If i don't, which is the more likely option, how can i detect this from the code? I would attempt to try NB-IoT in case eDRX does not work on LTE-M.

Attached:

1. Modem trace collector /cfs-file/__key/communityserver-discussions-components-files/4/modem_5F00_trace_2D00_2022_2D00_02_2D00_01T20_2D00_53_2D00_47.991Z.bin 

2. eDRX on with 10.24 s

3. eDRX off

Parents
  • Hi,

     

    Thank you for the trace. It shows this as the return:

    +CEDRXP: 4,"0001","0001","0001"

    Which you can decode here: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/nw_service/cedrxs_set.html?cp=2_1_7_3_0

    It seems to match your wanted settings.

     

    The initial connection includes a RRC inactivity timer, as explained in this post: https://devzone.nordicsemi.com/power/w/opp/4/user-guide-lte

    If you try to log current for a longer period, you should see that it enters RRC idle (and then eDRX idle or PSM) after x amount of seconds (60 seconds in my network).

     

    Kind regards,

    Håkon

  • Hi Håkon

    Thanks for looking into this!
    I just made another test, edrx 0001, got the same psw of 0001 and i kept power profiling for 5:30 minutes. I also activated logs.


    Unfortunately no change later on. Besides the first ~20 seconds the rest of the spikes were all ~1.2 s apart for the whole 5 minutes..

    Logs (i just added k_uptime_get for clarity):

    *** Booting Zephyr OS build v2.6.99-ncs1-1 ***
    [206]UDP sample has started
    [10510]LTE cell changed: Cell ID: 3584259, Tracking area: 10103
    [10748]RRC mode: Connected
    [12530]Network registration status: Connected - roaming

    [1253Transmitting UDP/IP payload of 38 bytes to the IP address 8.8.8.8, port number 2469
    5]PSM parameter update: TAU: -1, Active time: -1
    eDRX parameter update: eDRX: 10.240000, PTW: 2.560000

    [18175]RRC mode: Idle

    [18275]LTE cell changed: Cell ID: 2624769, Tracking area: 10103
    [94303]LTE cell changed: Cell ID: 3584259, Tracking area: 10103
    [109739]LTE cell changed: Cell ID: 2624769, Tracking area: 10103
    [148064]LTE cell changed: Cell ID: 3584259, Tracking area: 10103
    [397708]LTE cell changed: Cell ID: 2624769, Tracking area: 10103

     

    Attached:

    ppk export file

    screenshots a, b, c with various views.

  • Hi,

     

    Thank you for the detailed information. I have checked internally, and yes, there's a bug here in the AT interface for eDRX, where CEDRXS reports incorrectly.

    Your network does not provide you with eDRX, even though that CEDRXS indicates that it does. This will be improved in the future.

     

    For detecting modem sleep periods, you can use XMODEMSLEEP notifications:

    https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/mob_termination_ctrl_status/xmodemsleep_set.html?cp=2_1_4_32_0

     

    Kind regards,

    Håkon

  • Hi Håkon,

    Thank you for looking into this in detail!

    Our aim is to write code that uses the lowest power setting available given the circumstances.

    I have added CONFIG_LTE_LC_MODEM_SLEEP_NOTIFICATIONS=y in the prj.conf and i get a single pair of LTE_LC_EVT_MODEM_SLEEP_ENTER and LTE_LC_EVT_MODEM_SLEEP_EXIT in the beginning, then nothing.


    Can i interpret this that eDRX is off? And if eDRX is on, in RRC mode Idle i should get sleep_enter/sleep_exit with the frequency of eDRX period? Is this how it's supposed to work?
    I can't get a different network in Bucharest Romania to test, or is there a way for me to test somehow with a real eDRX?
    Logs from UDP Sample:
    *** Booting Zephyr OS build v2.6.99-ncs1-1 ***
    [206]UDP sample has started
    [273]Modem sleep enter - sleep time -1, mode -1
    [311]Modem sleep exit - sleep time 0, mode 0
    [9506]Network registration status fail: 2
    [9509]LTE cell changed: Cell ID: 3584259, Tracking area: 10103
    [9548]RRC mode: Connected
    [11364]Network registration status: Connected - roaming

    [1136Transmitting UDP/IP payload of 38 bytes to the IP address 8.8.8.8, port number 2469
    9]PSM parameter update: TAU: -1, Active time: -1
    eDRX parameter update: eDRX: 20.480000, PTW: 2.560000

    [16843]RRC mode: Idle

    Thanks,

    Nicolae

  • Hi Nicolae,

     

    nicolae.georgescu said:
    Can i interpret this that eDRX is off? And if eDRX is on, in RRC mode Idle i should get sleep_enter/sleep_exit with the frequency of eDRX period? Is this how it's supposed to work?

    Yes, unfortunately, this is the case. Your network does not allow you to enter eDRX mode, so you're still in RRC idle mode, which consumes more current.

    nicolae.georgescu said:
    I can't get a different network in Bucharest Romania to test, or is there a way for me to test somehow with a real eDRX?

    The SIM card that you currently use is a roaming SIM, meaning that it is not a sim card provided by the network provider that you're currently connecting to. I would recommend that you contact your local network provider and ask if they have eDRX support for their "home registered" (ie. the SIM's that they provide) SIM cards.

     

    Kind regards,

    Håkon

Reply
  • Hi Nicolae,

     

    nicolae.georgescu said:
    Can i interpret this that eDRX is off? And if eDRX is on, in RRC mode Idle i should get sleep_enter/sleep_exit with the frequency of eDRX period? Is this how it's supposed to work?

    Yes, unfortunately, this is the case. Your network does not allow you to enter eDRX mode, so you're still in RRC idle mode, which consumes more current.

    nicolae.georgescu said:
    I can't get a different network in Bucharest Romania to test, or is there a way for me to test somehow with a real eDRX?

    The SIM card that you currently use is a roaming SIM, meaning that it is not a sim card provided by the network provider that you're currently connecting to. I would recommend that you contact your local network provider and ask if they have eDRX support for their "home registered" (ie. the SIM's that they provide) SIM cards.

     

    Kind regards,

    Håkon

Children
  • Thanks Håkon!

    I will try to get an Orange SIM, the local network.


    1NCE says that 10.24 eDRX parameter is not supported, but 20.48 is, from their tests.. I still get no change in power profile with either of them.


    One other question: should i expect Thingy91 to behave the same as nRF9160 DK ? I guess it's the same chip and zephyr RTOS so it should behave the same.

    Thanks,

    Nicolae

  • Hi,

     

    nicolae.georgescu said:

    I will try to get an Orange SIM, the local network.


    1NCE says that 10.24 eDRX parameter is not supported, but 20.48 is, from their tests.. I still get no change in power profile with either of them.

    normally, if you request a value which is outside the interval area that the network supports, it will set the nearest allowed interval.

    That being said, it might also depend on the specific area that your provider tests in vs. what area you are in.

     

    nicolae.georgescu said:
    One other question: should i expect Thingy91 to behave the same as nRF9160 DK ? I guess it's the same chip and zephyr RTOS so it should behave the same.

    SIM-wise, it will not be a difference. this behavior should follow the SIM card.

     

    Kind regards,

    Håkon

  • Hello,

    Coming back on this thread with few updates.

    I tested with 1NCE in Copenhagen and I got real eDRX as measured by PPK2! Slight smile With latest 2022_02_17 fw. Good news!

    It doesn't always work, meaning sometimes I get the LTE_LC_EVT_EDRX_UPDATE event and current consumption is eDRX type, sometimes the callback is not received and modem remains in RRC Idle.
    I get this behavior from the same cell id (reported by LTE_LC_EVT_CELL_UPDATE) on different attempts. Returned PTW can also vary.

    Questions:
    1. Is this behavior considered normal? Same requested eDRX value and same cell sometimes accepts, sometimes doesn't?

    2. Is it ok to retry? Meaning if I don't get the LTE_LC_EVT_EDRX_UPDATE within ~10 seconds can I just try again with lte_lc_edrx_param_set and lte_lc_edrx_req ?


    3. With local Orange sim tested in Bucharest I still get the initial behavior. I always get the callback LTE_LC_EVT_EDRX_UPDATE but the modem only stays in RRC Idle, never eDRX. Orange is open to check, they replied with data as seen from the cell tower and they say it "Accepts" the value. But eDRX does not work. Anything I can ask them to check?


    Thank you,

    Nicolae

  • Hi Nicolae,

     

    nicolae.georgescu said:
    1. Is this behavior considered normal? Same requested eDRX value and same cell sometimes accepts, sometimes doesn't?

    Unfortunately, we do have a planned improvement in the eDRX handling, as mentioned earlier:

    Håkon Alseth said:

    Thank you for the detailed information. I have checked internally, and yes, there's a bug here in the AT interface for eDRX, where CEDRXS reports incorrectly.

    Your network does not provide you with eDRX, even though that CEDRXS indicates that it does. This will be improved in the future.

     

    For detecting modem sleep periods, you can use XMODEMSLEEP notifications:

    https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/mob_termination_ctrl_status/xmodemsleep_set.html?cp=2_1_4_32_0

    Currently nRF91 only indicates the negotiated eDRX parameter. It may be that the currently camped cell is not supporting eDRX which is not indicated via AT interface.

    nicolae.georgescu said:
    2. Is it ok to retry? Meaning if I don't get the LTE_LC_EVT_EDRX_UPDATE within ~10 seconds can I just try again with lte_lc_edrx_param_set and lte_lc_edrx_req ?

    The parameters are already set, and the modem will try to negotiate on-air. The eDRX settings are communicated in the LTE ATTACH message, so the UE (the nRF) always indicates that it supports. If you want to enable eDRX after a given time period, then you should call the API, but that is only if you haven't set it at a previous time.

     

    nicolae.georgescu said:
    3. With local Orange sim tested in Bucharest I still get the initial behavior. I always get the callback LTE_LC_EVT_EDRX_UPDATE but the modem only stays in RRC Idle, never eDRX. Orange is open to check, they replied with data as seen from the cell tower and they say it "Accepts" the value. But eDRX does not work. Anything I can ask them to check?

    It could be that the interval isn't accepted. Have you tried other intervals to see if they work better?

    Do they support eDRX in their network?

     

    Kind regards,

    Håkon

  • Hi Håkon

    Thank you for the reply!

    Is there any approx ETA for the planned improvement on eDRX handling?

    The local Orange provider in Romania claims they do suport eDRX. It's just that the modem doesn't really enter eDRX. But since it does enter eDRX sometimes from Denmark on different operator perhaps something in the network is not properly set. I just don't know what.


    About (2) above, on the retries. Just to clarify, i am asking in case i do set eDRX but i don't get the callback LTE_LC_EVT_EDRX_UPDATE. Which from tests in Denmark (Copenhagen) it can happen, even from a cell that i previously did get the callback and the device did enter eDRX as measured by PPK2.
    So in the cases i don't get the callback, i will re-try to set eDRX again and hopefully not get rejected by the network. I hope this is ok.

    Thanks,

    Nicolae

Related