GPS is blocked forever, even when RRC is in idle mode

Hi, I am currently working on moving our app over to PSM mode.

We have earlier used manually disabling and reenabling the modem when sleeping, using LTE and getting GPS fixes.

The app has gotten a PSM interval and entered RRC idle mode when I trigger a GPS search, this will starts the search which is immediately blocked and never unblocks.

I manage to force it to run if I set the priority = true in the GPS config. I am under the impression that it should be possible for the GPS to search for a fix if the modem has entered RRC idle and has received PSM config or am I mistaken?

On boot the modem is set into NORMAL mode with the system mode being LTE-M, NBIoT and GPS enabled, it performs a sync with MQTT and disconnects from the broker, I observe the RRC idle and press a button to start the GPS fix. Am I missing something? Do I need to reconfigure the modem somehow?

Here is a log file, I have excluded some application-specific details, but they should be unrelated:

[00:00:05.689,941] <dbg> at_monitor.at_monitor_task: AT notif: +CEREG: 5,"0901","02150120",7,,,"11100000","11100000"

[00:00:05.690,643] <dbg> at_monitor.at_monitor_task: Dispatching to 0x34201
[00:00:05.691,192] <dbg> lte_lc.at_handler_cereg: +CEREG notification: +CEREG: 5,"0901","02150120",7,,,"11100000","11100000"

[00:00:05.692,169] <dbg> lte_lc_helpers.parse_cereg: Network registration status: 5
[00:00:05.692,718] <dbg> lte_lc_helpers.parse_cereg: LTE mode: 7
[00:00:05.693,298] <dbg> lte_lc_helpers.event_handler_list_dispatch: Dispatching events:
[00:00:05.693,847] <dbg> lte_lc_helpers.event_handler_list_dispatch:  - handler=0x00036761
[00:00:05.694,458] <dbg> lte_lc_helpers.event_handler_list_dispatch:  - handler=0x00025421
[00:00:05.695,068] <dbg> lte_modem.lte_lc_handler: LTE_NW_REG_STATUS:5
[00:00:05.695,556] <dbg> lte_modem.lte_lc_handler: Connected to LTE
[00:00:05.696,044] <dbg> lte_lc_helpers.event_handler_list_dispatch: Done
[00:00:05.696,716] <dbg> date_time.date_time_core_update_async: No handler registered[00:00:05.697,509] <dbg> lte_lc_helpers.parse_psm: TAU: 3240 sec, active time: -1 sec

[00:00:05.698,089] <dbg> lte_lc.lte_lc_psm_get: TAU: 3240 sec, active time: -1 sec
[00:00:17.144,958] <dbg> net_mqtt_sock_tcp.mqtt_client_tcp_disconnect: (0x2000cc90): Closing socket 0
[00:00:17.145,629] <dbg> net_sock.z_impl_zsock_close: (0x2000cc90): close: ctx=0x20018df8, fd=0
[00:00:17.146,759] <inf> cloud_mqtt: MQTT Event: 1
[00:00:17.147,186] <inf> cloud_mqtt: MQTT client disconnected: 0
[00:00:20.935,516] <dbg> at_monitor.at_monitor_task: AT notif: +CSCON: 0

[00:00:20.936,035] <dbg> at_monitor.at_monitor_task: Dispatching to 0x3398d
[00:00:20.936,584] <dbg> lte_lc.at_handler_cscon: +CSCON notification
[00:00:20.937,194] <dbg> lte_lc_helpers.event_handler_list_dispatch: Dispatching events:
[00:00:20.937,744] <dbg> lte_lc_helpers.event_handler_list_dispatch:  - handler=0x00036761
[00:00:20.938,354] <dbg> lte_lc_helpers.event_handler_list_dispatch:  - handler=0x00025421
[00:00:20.938,964] <dbg> lte_modem.lte_lc_handler: RRC mode: idle
[00:00:20.939,422] <dbg> lte_lc_helpers.event_handler_list_dispatch: Done
[00:00:37.127,075] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 49,2,16,2

[00:00:37.127,655] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:00:37.128,326] <inf> main: RSRP: -92dBm
[00:00:44.991,943] <dbg> main.button_callback: Button pressed
[00:00:45.992,401] <dbg> main.button_timer_callback: GPS fix requested
[00:00:46.000,671] <inf> main: LTE system mode 7
[00:00:46.007,110] <inf> main: Func mode: 1
[00:00:46.013,519] <dbg> gps.start: Starting GPS
[00:00:46.014,526] <dbg> nrf9160_gps.enable_gps: GPS mode is enabled
[00:00:46.023,376] <dbg> nrf9160_gps.start: GPS operational
[00:00:46.023,895] <dbg> gps.gps_handler: GPS_EVT_SEARCH_STARTED
[00:00:46.024,353] <inf> gps: GPS Timeout: 180
[00:00:46.024,810] <dbg> nrf9160_gps.gps_thread: A-GPS data update needed
[00:00:46.025,299] <dbg> gps.gps_handler: Need A-GPS data
[00:00:46.092,102] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 54,2,19,2

[00:00:46.092,651] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:00:46.093,322] <inf> main: RSRP: -87dBm
[00:00:46.098,663] <dbg> gps.gps_handler: GPS_EVT_PVT
[00:00:46.099,090] <dbg> gps.gps_handler: Tracking: 0 Using: 0 Unhealthy: 0
[00:00:46.099,639] <dbg> gps.gps_handler: Seconds since last fix 46
[00:00:46.100,128] <dbg> gps.gps_handler: Seconds since search start 0
[00:00:46.100,646] <dbg> nrf9160_gps.print_satellite_stats: Tracking: 0 Using: 0 Unhealthy: 0
[00:00:46.101,287] <dbg> nrf9160_gps.print_satellite_stats: Seconds since last fix 46
[00:00:46.211,517] <dbg> main.button_callback: Button released
[00:00:46.492,950] <dbg> buzzer.beep_timer_callback: Timer expired, ending beep
[00:00:47.104,003] <dbg> nrf9160_gps.gps_thread: Waiting for time window to operate
[00:00:47.104,553] <dbg> gps.gps_handler: GPS_EVT_OPERATION_BLOCKED
[00:00:50.568,847] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 50,2,14,2

[00:00:50.569,427] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:00:50.570,068] <inf> main: RSRP: -91dBm
[00:02:35.529,693] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 53,2,19,2

[00:02:35.530,273] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:02:35.530,944] <inf> main: RSRP: -88dBm
[00:03:22.251,831] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 52,2,14,2

[00:03:22.252,410] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:03:22.253,051] <inf> main: RSRP: -89dBm
[00:03:39.532,165] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 53,2,19,2

[00:03:39.532,745] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:03:39.533,386] <inf> main: RSRP: -88dBm
[00:03:48.488,861] <dbg> at_monitor.at_monitor_task: AT notif: %CESQ: 53,2,14,2

[00:03:48.489,440] <dbg> at_monitor.at_monitor_task: Dispatching to 0x35e2d
[00:03:48.490,081] <inf> main: RSRP: -88dBm

I am on SDK version 1.9.1 and modem firmware 1.3.2

Parents Reply Children
No Data
Related