LTE Link Controller: RAI_UPDATE behaviour

I have a nRF9151 based device, modem firmware version v2.0.3, with `CONFIG_LTE_LC_RAI_MODULE=y`, registered on LTE-M.

Using `NRF_RAI_LAST` is working, but I am seeing odd behaviour of the `LTE_LC_EVT_RAI_UPDATE` event.
Each time the modem comes out of PSM, I receive an event reporting that neither AS-RAI nor CP-RAI are supported, followed a few milliseconds later by a second report saying AS-RAI is supported. For example, the following logs:

[00:01:00.044,281] <dbg> modem_monitor: lte_reg_handler: MODEM_SLEEP_EXIT
[00:01:00.044,281] <dbg> modem_monitor: lte_reg_handler:     Type: 1
[00:01:00.103,240] <dbg> modem_monitor: lte_reg_handler: MODEM_EVENT
[00:01:00.103,240] <dbg> modem_monitor: lte_reg_handler:    Event: 1
[00:01:00.512,634] <dbg> modem_monitor: lte_reg_handler: MODEM_EVENT
[00:01:00.512,634] <dbg> modem_monitor: lte_reg_handler:    Event: 6
[00:01:00.657,714] <wrn> modem_monitor: RAI_UPDATE
[00:01:00.657,745] <wrn> modem_monitor:     INFO: 147045644 505 1
[00:01:00.657,745] <wrn> modem_monitor:   AS-RAI: 0
[00:01:00.657,745] <wrn> modem_monitor:   CP-RAI: 0
[00:01:00.657,867] <dbg> modem_monitor: lte_reg_handler: RRC_UPDATE
[00:01:00.657,897] <dbg> modem_monitor: lte_reg_handler:    State: Active
[00:01:00.882,263] <wrn> modem_monitor: RAI_UPDATE
[00:01:00.882,293] <wrn> modem_monitor:     INFO: 147045644 505 1
[00:01:00.882,293] <wrn> modem_monitor:   AS-RAI: 1
[00:01:00.882,293] <wrn> modem_monitor:   CP-RAI: 0
[00:01:06.266,876] <dbg> modem_monitor: lte_reg_handler: RRC_UPDATE
[00:01:06.266,906] <dbg> modem_monitor: lte_reg_handler:    State: Idle
[00:01:22.291,900] <dbg> modem_monitor: lte_reg_handler: MODEM_SLEEP_ENTER
[00:01:22.291,931] <dbg> modem_monitor: lte_reg_handler:     Type: 1
[00:01:22.291,931] <dbg> modem_monitor: lte_reg_handler:      Dur: 46783975

This happens every time the modem comes out of PSM, not occasionally. Is this the expected behaviour?
It seems unlikely that the AS-RAI support is truly switching, seeing as the attached tower is never changing.

Parents
  • We got a reply rather fast from the developers today, so here it is:

    This is how the modem currently works, yes. In LTE-M during RRC connection establishment, the modem first sende the RAI notification with RAI disabled, and is followed by a second notification with RAI enabled.

    Note that we do not clear cached information here. The Network first tells us that RAI won't be used, and then very quickly after enable it. The network may remember device capabilities and then enable AS-RAI at the connection establishment. This is especially the case with NB-IOT as connection establishment is the only place NV-IoT enables AS-RAI.

    It might be possible to make a hacky solution with timers to hide these unnecessary reports, but we have decided against that as that could also introduce some other issues.

    Best regards,

    Simon

  • Can I just ask for a bit of clarification around this. In addition to:

    ## PSM
    CONFIG_LTE_PSM_REQ=y
    CONFIG_LTE_LC_PSM_MODULE=y
    
    ## eDRX
    CONFIG_LTE_EDRX_REQ=y
    CONFIG_LTE_LC_EDRX_MODULE=y
    
    ## RAI
    CONFIG_LTE_RAI_REQ=y
    CONFIG_LTE_LC_RAI_MODULE=y
    and adding the following code just after nrf_modem_lib_init() : 
       
    lte_lc_psm_param_set("00111000", "00000110");       // 24 hours &12 seconds
    lte_lc_psm_req(true);
    
    lte_lc_ptw_set(LTE_LC_LTE_MODE_LTEM, "0000");       // 1.28 seconds
    lte_lc_edrx_param_set(LTE_LC_LTE_MODE_LTEM,"0000"); // 5.12 seconds
    lte_lc_edrx_req(true);
    
    rai_set();
    What else needs to be done to set up PSM, eDRX and RAI? When I try this code, I'm running into some issues. The lte event handler is telling me that the network is rejecting the PSM paramaters (with active  time = -1). And when I log the RAI stuff, it looks like this: MCC: 530, MNC: 5, AS RAI: false, CP RAI: false. 
Reply
  • Can I just ask for a bit of clarification around this. In addition to:

    ## PSM
    CONFIG_LTE_PSM_REQ=y
    CONFIG_LTE_LC_PSM_MODULE=y
    
    ## eDRX
    CONFIG_LTE_EDRX_REQ=y
    CONFIG_LTE_LC_EDRX_MODULE=y
    
    ## RAI
    CONFIG_LTE_RAI_REQ=y
    CONFIG_LTE_LC_RAI_MODULE=y
    and adding the following code just after nrf_modem_lib_init() : 
       
    lte_lc_psm_param_set("00111000", "00000110");       // 24 hours &12 seconds
    lte_lc_psm_req(true);
    
    lte_lc_ptw_set(LTE_LC_LTE_MODE_LTEM, "0000");       // 1.28 seconds
    lte_lc_edrx_param_set(LTE_LC_LTE_MODE_LTEM,"0000"); // 5.12 seconds
    lte_lc_edrx_req(true);
    
    rai_set();
    What else needs to be done to set up PSM, eDRX and RAI? When I try this code, I'm running into some issues. The lte event handler is telling me that the network is rejecting the PSM paramaters (with active  time = -1). And when I log the RAI stuff, it looks like this: MCC: 530, MNC: 5, AS RAI: false, CP RAI: false. 
Children
No Data
Related