LTE_LC_MODEM_EVT_SEARCH_DONE event not delivred on periodic search

Hello,

I am implementing the periodic search for lte managment (using SDK 2.5.2 on a nrf9160).

The periodic configurations in struct lte_lc_periodic_search_cfg  is:

                .loop = false ;

                .return_to_pattern =  0;

                .band_optimization = 1; (data_profile = LOW_POWER)

 

And two following pattern :

- The first is range pattern type, with values : initial_sleep = 10, final_sleep = 40, time_to_final_sleep = -1, pattern_end_point = 1

- The second is table type with values : val_1 = 30, val_2 = -1, val_3 = -1, val_4 = -1, val_5 = -1

All periodic search tests are carried out using a Faraday cage, and network activity is measured with an ampere meter.

When the network is requiered, I received the event LTE_LC_MODEM_EVT_LIGHT_SEARCH_DONE , at next the modem switch to limited_service.

In the ampere meter, the periodic search works. Both pattern are executed with the right sleep values. However, at the end the search keep looping on the last pattern and never sends the LTE_LC_MODEM_EVT_SEARCH_DONE event. Even if a network was found, none event was delivred.

Why the search doesn’t stop and why the LTE_LC_MODEM_EVT_SEARCH_DONE event is never generated?

 

Thank you for your help

Parents
  • Hi,

    Can you provide more information about your application?

    All periodic search tests are carried out using a Faraday cage, and network activity is measured with an ampere meter.

    Can you provide more information on what you measured with an ampere meter?

    In the ampere meter, the periodic search works.

    Can you rephrase this? How does periodic search work in ampere meter?

    However, at the end the search keep looping on the last pattern and never sends the LTE_LC_MODEM_EVT_SEARCH_DONE event. Even if a network was found, none event was delivred.

    Can you elaborate on this? What happens when it loops on the last pattern? 

    Best regards,
    Dejan

  • Hi,

    I'm implementing a lte connectivity management module, with APN, PSM management and area cell network search.

    I am testing periodic searches when the modem can't find a network to connect to.

    The faraday cage allows to block any incoming network to trigger the periodic search. The amperemeter shows the power consumption, to control when the modem is in sleep mode and when it is ON to search networks.

    In the following example, I used this configuration for my periodic searches (struct lte_lc_periodic_search_cfg):

    loop = false ;

    return_to_pattern = 0 ;

    band_optimization = 1 ; (data_profile = 1)

    I used just one table pattern with values:

    val_1 = 10 ; val_2 = 10 ; val_3 = 20 ; val_4 = 35 ; val_5 = -1.

     

    This image shows the current readings taken by the ampere meter:

     

    Before the first period: the modem has already been connected to a cellular network and is in idle mode.

    At the beginning of the 1st period, the modem switches to PSM mode and after that, I close the faraday cage. Then, the light search is performed and fails. The event LTE_LC_MODEM_EVT_LIGHT_SEARCH_DONE is generated at the end of the 1st period. On this event, the library switches to limited-service mode to ensure the periodic search.

     

    On the second period: the modem starts the periodic search according the configuration table type : sleep 1 = 10 seconds / search / sleep 2 = 10 seconds / search / sleep 3 = 20 seconds / search / sleep 4 = 35 seconds -> end of pattern (no loop).

     

    On the third period: the modem continues to perform the search only based on the last configuration table value (35 seconds): search / sleep 4 = 35 seconds / search / sleep 4 = 35 seconds / search / sleep 4 = 35 seconds… again and again and it goes on indefinitely.

    Why in this period, the model is made in this way?

    I was expecting the pattern to stop and to receive the LTE_LC_MODEM_EVT_SEARCH_DONE event.

    Why the search never stops and why the LTE_LC_MODEM_EVT_SEARCH_DONE event is never generated?

     

    Are there any incomplete or missing configurations?

     

    Best regards,

    JBV

  • Hi,

    Regarding the third period, do you see any difference if the loop is set to true in the lte_lc_periodic_search_cfg?

    Best regards,
    Dejan

  • Hi,

    When the loop is set to true in the lte_lc_periodic_search_cfg, the complete pattern is repeated continuously with the four correct sleep time values that have been configured.

    Best regards,

    JBV

Reply Children
  • Hi,

    Do you see looping of the last pattern (of the 2 configured) when <loop> is false?

    erco_JBV said:
    When the loop is set to true in the lte_lc_periodic_search_cfg, the complete pattern is repeated continuously with the four correct sleep time values that have been configured.

    What happens when you have your 2 patterns and <loop> is true? Which pattern of the two specified patterns is repeated continuously when you use 2 patterns? Is it the last one?
    Documentation specifies that when loop is true, the last given search pattern is looped from the beginning when the pattern has ended. If several search patterns are configured, <loop> impacts only the last pattern. 

    Best regards,
    Dejan

  • Hi,

    When two patterns are configured (one of table and one of range type), and the loop set to false, the table pattern is executed one time completely and the last sleep time value (of the table pattern) is repeating for indefinitely time. Like the graph that I shared in this conversation.

    When two patterns are configured (one of table and one of range type), and the loop set to true, only the table pattern is repeated entirely (the last one).

    Best regards,

    JBV

Related