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:
- Did I configured something wrong or is it a question of the Deutsche Telekom network?
- Does anyone have experience with 1NCE, NB-IoT and eDRX?
- 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