SLM 2.4.0 + RAI

Hi, 

We want to use RAI with SLM FW and not sure how to add it
I've read some tickets regarding it but still no walkthrough.

Here are the steps we do now:

1. Receive GPS fix

2. Connect to out server

3. Send data and GPS

4. Check shadow

5. Close connection

6. Send Sleep=2 command

After the sleep command there is a time when the modem is still active and consuming power, and when the network is release the current drops to what it should be (happen the same with PSM or EDRX)

We want to know how to add the RAI (in code or AT commands) that immediate after Sleep=2 the modem will go idle 

Any guide regarding this issue?

We connect with MQTT (LTE-M)

Parents
  • Hello! 

    I've read some tickets regarding it but still no walkthrough.

    No, there is no good walk-through, there is this blog post on DevZone  Maximizing battery lifetime in cellular IoT: An analysis of eDRX, PSM, and AS-RAI .

    We want to know how to add the RAI (in code or AT commands) that immediate after Sleep=2 the modem will go idle 

    There are two possible ways to enable RAI:

    1. %XRAI = "CP-RAI" (only for NB-IoT, but not a really useful feature in practice)
    2. %RAI = "AS-RAI" (Release 14 feature, saves a lot of power consumption by skipping the rrc inactivity timer)
    When we are talking about RAI we are referring to the release 14 feature (enabled by %RAI)

    You should be able to use AT command Release assistance indication %RAI to enable RAI on your device. And you can test this with a simple sample that my colleague Charlie made here.

    Let me know how that works for you. 

    Kind regards,
    Øyvind

  • > We connect with MQTT (LTE-M)

    Using TCP makes it hard to use RAI successful. The last application message may not be the last message being transmitted with a radio message and so that doesn't match RAI.

    > No, there is no good walk-through,

    Even that link "Maximizing battery " just shows the different resulting charts, not how to achieve them.

    >

    1. %XRAI = "CP-RAI" (only for NB-IoT, but not a really useful feature in practice)
    2. %RAI = "AS-RAI" (Release 14 feature, saves a lot of power consumption by skipping the rrc inactivity timer)

    >

    My experience is exactly the opposite! If you use NB-IoT, CP-RAI works pretty good, and the API is well defined. It's very useful in combination with CoAP/DTLS 1.2 CID and is one of the ways, to operate a device for months. On interest, see zephyr-coaps-client . Sure, if you use LTE-M, that doesn't help. And if you use TCP, it also doesn't work.

    If you try AS-RAI, you need first to check your networks, if AS-RAI is supported. Unfortunately, Nordic decided, that there is no API to check, if AS-RAI is supported by the network. What you get is something as "implicitly used CP-RAI", if AS-RAI is missing but requested and CP-RAI is available. Then you need to check, which RAI mode (CP and AS) supports which Options. Again remember, you don't know, if it's AS-RAI or CP-RAI. You will find Options working for both, options working only for CP-RAI networks and options working only for AS-RAI.

    You're mixed up? Welcome. Read the full story here . (Just to mention, the zephyr-coaps-client implemented RAI support, that works with both CP-RAI and AS-RAI, but it's not too easy.)

    Using RAI for TCP is then additionally not easy. RAI is related to data-radio-messages, but for TCP, that doesn't fit your application messages. When will you tell the modem, that this is the last data-radio-message, or that you're ready? And what happens, if TCP injects some additional messages?

    So let me recommend:

    - if you want to stick to TCP, then use larger batteries and accept shorter runtime.

    - if you need longer runtime, then use UDP. 

    Or, follow the recommendation to collect data and send that once a day. Even if that doesn't help, if you need to check your system health more frequently.

Reply
  • > We connect with MQTT (LTE-M)

    Using TCP makes it hard to use RAI successful. The last application message may not be the last message being transmitted with a radio message and so that doesn't match RAI.

    > No, there is no good walk-through,

    Even that link "Maximizing battery " just shows the different resulting charts, not how to achieve them.

    >

    1. %XRAI = "CP-RAI" (only for NB-IoT, but not a really useful feature in practice)
    2. %RAI = "AS-RAI" (Release 14 feature, saves a lot of power consumption by skipping the rrc inactivity timer)

    >

    My experience is exactly the opposite! If you use NB-IoT, CP-RAI works pretty good, and the API is well defined. It's very useful in combination with CoAP/DTLS 1.2 CID and is one of the ways, to operate a device for months. On interest, see zephyr-coaps-client . Sure, if you use LTE-M, that doesn't help. And if you use TCP, it also doesn't work.

    If you try AS-RAI, you need first to check your networks, if AS-RAI is supported. Unfortunately, Nordic decided, that there is no API to check, if AS-RAI is supported by the network. What you get is something as "implicitly used CP-RAI", if AS-RAI is missing but requested and CP-RAI is available. Then you need to check, which RAI mode (CP and AS) supports which Options. Again remember, you don't know, if it's AS-RAI or CP-RAI. You will find Options working for both, options working only for CP-RAI networks and options working only for AS-RAI.

    You're mixed up? Welcome. Read the full story here . (Just to mention, the zephyr-coaps-client implemented RAI support, that works with both CP-RAI and AS-RAI, but it's not too easy.)

    Using RAI for TCP is then additionally not easy. RAI is related to data-radio-messages, but for TCP, that doesn't fit your application messages. When will you tell the modem, that this is the last data-radio-message, or that you're ready? And what happens, if TCP injects some additional messages?

    So let me recommend:

    - if you want to stick to TCP, then use larger batteries and accept shorter runtime.

    - if you need longer runtime, then use UDP. 

    Or, follow the recommendation to collect data and send that once a day. Even if that doesn't help, if you need to check your system health more frequently.

Children
No Data
Related