This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

eDRX mode doesn't work as expected

Hello,

I have a question regarding eDRX mode on the nrf9160 in combination with NB-IoT. I tried to configure an eDRX cycle of 20.48s for the use in a battery powered actor but it didn’t work. I’m located in Germany and use a 1NCE SIM card. Below you can find the source code and configuration file I used in order to test the behavior of the eDRX mode.

#define MAIN_LED_PORT                   "GPIO_0"
#define MAIN_LED_PIN                    2 

static struct device            *m_LedGPIO;

void main(void){

  m_LedGPIO = device_get_binding(MAIN_LED_PORT);
  gpio_pin_configure(m_LedGPIO, MAIN_LED_PIN, GPIO_DIR_OUT);

  if(lte_lc_init_and_connect() < 0){
    printk("Error init and connect\n");
  }else{
    gpio_pin_write(m_LedGPIO, MAIN_LED_PIN, 1);
    printk("Connected\n");
  }
}

# LTE Config (nRF Connect SDK)
CONFIG_LTE_EDRX_REQ=y			
CONFIG_LTE_EDRX_REQ_VALUE="0010"

# Network
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_OFFLOAD=y

# BSD library
CONFIG_BSD_LIBRARY=y

# AT host library
CONFIG_AT_HOST_LIBRARY=y
CONFIG_SERIAL=y
CONFIG_MODEM_INFO=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# Stacks and heaps
CONFIG_MAIN_STACK_SIZE=3072
CONFIG_HEAP_MEM_POOL_SIZE=16384

# LTE link control (nRF Connect SDK)
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_LEGACY_PCO_MODE=n
CONFIG_LTE_NETWORK_MODE_NBIOT=y

# LTE Config (nRF Connect SDK)
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
CONFIG_LTE_NETWORK_USE_FALLBACK=n
CONFIG_LTE_NETWORK_TIMEOUT=300

# Main Thread (Driver)
CONFIG_GPIO=y

I used the AT+CEDRXS? command in the LTE Link Monitor to read the requested eDRX parameters and got the following answer

+CEDRXS: 5,"0010"

After that I tipped in the AT+CEDRXRDP command to get the eDRX parameter

 +CEDRXRDP: 5,"0010","",""

And furthermore I used the AT%XMONITOR command to read the modem parameter

%XMONITOR: 5,"","","26201","AAAA",9,8,"BBBBBBBB",161,3740,25,26,"","11100000","00001100","01011111"

Independent on the eDRX cycle I configured I got the same result from the network referred to the eDRX value and also the same picture of power consumption on my oscilloscope.

After the connection had been established I saw a cycle of about 2.6s instead of the 20.48s I had configured. For me it looks like the requested eDRX cycle has been rejected by the network and instead the normal iDRX cycle is used. But what confuses me is that as far as I have heard the Deutsche Telekom states to support all possible eDRX cycle configurations. But I’m not 100 percent sure with this statement.

My questions are now:

  1. Did I configured something wrong or is it a question of the Deutsche Telekom network?
  2. Does anyone have experience with 1NCE, NB-IoT and eDRX?
  3. What are alternatives if this has to do with the network limitations? I need to achieve a responsiveness of about 20s at low power consumption. I already tried the PSM mode but couldn't configure TAU below about 2h.

I made my tests for the eDRX mode with modem firmware version 1.1.0 because that is the one that is certified to operate in the Deutsche Telekom network and version 1.2.0 because this is the latest version available. Furthermore I made my test application based on nRF Connect SDK v1.3.0.

The hardware I use is a nRF9160 DK.

Thanks in advance.

Best regards,

Christian

Parents
  • Hello,

    can you show me the link monitor log? That would be very helpful. And if possible, sharing the full code wouldn't hurt either.

  • Hello Hakon,

    Sorry for the delay. My original post already contains almost the full code. I wanted to keep it as simple as possible to be sure that the application doesn't influence the behavior of the NB-IoT connection by sending messages in the background such as the heartbeat used in MQTT. Therefore I only configured an eDRX cycle of 20s and established a connection and that's it.

    Attached you will find the whole project, the link monitor log and a picture which shows how the consumption over time looks like.

    For your information, in the log-file I removed the header and replaced the cell ID and IMSI by Ys

    eDRX_project.zip

    eDRX_log.txt

    By the way, in the meantime I got the information that it probably is an issue of the MNO as, most likely, eDRX is not supported. But it would be nice if you could take a look into my project and the log-file to be sure that it has nothing to do with my configuration.

  • Hello, Christian!

    I tested your application here and managed to achieve the desired eDRX configuration. However, the test was performed on a LTE-M network, opposed to NB-IoT, but it proves that your implementation functions at least. This in turn makes me believe that there are some limitations with your SIM-provider, 1NCE. Even though the network provider (in this case Deutsche Telekom) supports eDRX we have seen in other instances that a third party SIM-provider not necessarily supports the feature.  

    I recommend that you query 1NCE about this. 

    Also, make sure that PSM is disable as this restricts how long the device actually is using eDRX. This case mentions this. 

    BR,
    Carl Richard

Reply
  • Hello, Christian!

    I tested your application here and managed to achieve the desired eDRX configuration. However, the test was performed on a LTE-M network, opposed to NB-IoT, but it proves that your implementation functions at least. This in turn makes me believe that there are some limitations with your SIM-provider, 1NCE. Even though the network provider (in this case Deutsche Telekom) supports eDRX we have seen in other instances that a third party SIM-provider not necessarily supports the feature.  

    I recommend that you query 1NCE about this. 

    Also, make sure that PSM is disable as this restricts how long the device actually is using eDRX. This case mentions this. 

    BR,
    Carl Richard

Children
  • Hello Carl,

    Thanks a lot. Good to know that the application works as expected. In order to be able to compare the results on the same technology I also tested the application on LTE-M (still using the same 1NCE SIM) and got an eDRX cycle of about 1.3s.

    The possibility that the missing eDRX feature could also be a limitation of 1NCE is actually a very helpful information. I will definitely contact them in order to find out where the limitation comes from.

    Unfortunately, the case you linked to is private. Therefore I have no access to it. Would it be possible to get a summary or an extract out of it?

    Thank you very much for your support.

    Christian

  • Hello again, Christian!

    Good to hear that the information was helpful! I hope the answers from 1NCE can clear things up.

    My apologies. The case in questions also covers eDRX problems. One possible issue uncovered was that PSM was enabled in addition to eDRX, which in turn forces the device to sleep after a designated active time. This could impose unexpected eDRX behavior. 

    A command sequence was presented in order to check if eDRX is enabled properly. It is shown below. Please make sure you are running the Serial LTE Modem application and latest mfw that suits you when running the commands: 

    AT#XSLMVER
    
    AT+CGMR
    
    AT%XSYSTEMMODE=1,0,0,0
    
    AT+CEREG=5
    
    AT+CFUN=1
    
    //wait to get connected
    
    AT+CGDCONT?
    
    AT%XMONITOR
    
    AT+CPSMS=0
    
    AT%XMONITOR
    
    AT+CEDRXS=2,4,"0101"
    
    AT%XPTW=4,"0001
    
    AT+CEDRXRDP
    
    AT#XSLEEP

    Hope this can be of use!

    Best regards,
    Carl Richard

Related