I am trying to implement GPS code in the nrf9160 but I cant find the function nrf_modem_gnss_init(); to initialize GNSS inside the modem in , is it being initialised within nrf_modem_gnss_start() function internally ? please help on this.


I am trying to implement GPS code in the nrf9160 but I cant find the function nrf_modem_gnss_init(); to initialize GNSS inside the modem in , is it being initialised within nrf_modem_gnss_start() function internally ? please help on this.


Please follow these instructions on how to capture modem trace, and upload the trace file in .bin or .trace format.
Hi Hakon please find the above logs in .bin format. These were taken under open sky and external antenna connected to the board. Also find terminal logs for your reference.
# SEGGER J-Link RTT Viewer V8.82 Terminal Log File # Compiled: 11:50:24 on Oct 29 2025 # Logging started @ 17 Feb 2026 17:55:08 00> *** Booting nRF Connect SDK v3.1.0-6c6e5b32496e *** 00> *** Using Zephyr OS v4.1.99-1612683d4010 *** 00> [00:00:10.641,510] <inf> modem_trace_backend: Modem_trace RTT backend channel 1 00> [00:00:10.641,540] <inf> nrf_modem_lib_trace: Trace thread ready 00> [00:00:10.649,017] <inf> nrf_modem_lib_trace: Trace level override: 2 00> LED1RED: ON 00> LED1RED: OFF 00> LED2GREEN: ON 00> LED2GREEN: OFF 00> [00:00:26.048,187] <inf> gnss_app: GPS powered ON 00> [00:00:27.057,891] <inf> gnss_app: Modem set to GNSS-only mode 00> [00:00:27.058,410] <wrn> gnss_app: XMAGPIO set failed: type=1 code=0 ret=65536 00> [00:00:27.059,112] <wrn> gnss_app: XCOEX0 set failed: type=1 code=0 ret=65536 00> [00:00:27.079,132] <inf> gnss_app: GNSS event: 4 00> [00:00:27.079,162] <inf> gnss_app: GNSS started. 00> [00:00:27.101,989] <inf> gnss_app: GNSS PVT struct size=232 00> [00:00:27.101,989] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:27.102,020] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:28.103,057] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:28.103,118] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:29.103,240] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:29.103,240] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:30.103,271] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:30.103,302] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:31.103,302] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:31.103,332] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:32.103,424] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:32.103,454] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:33.103,454] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:33.103,485] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:34.103,485] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:34.103,546] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:35.103,454] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:35.103,485] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:36.103,515] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:36.103,546] <inf> gnss_app: PVT: searching... sv_view=1 acc=0.0(m) flags=0x00000000 00> [00:00:37.103,912] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:37.103,942] <inf> gnss_app: PVT: searching... sv_view=1 acc=0.0(m) flags=0x00000000 00> [00:00:38.104,064] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:38.104,095] <inf> gnss_app: PVT: searching... sv_view=1 acc=0.0(m) flags=0x00000000 00> [00:00:39.104,003] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:39.104,003] <inf> gnss_app: PVT: searching... sv_view=1 acc=0.0(m) flags=0x00000000 00> [00:00:40.103,210] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:40.103,240] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:41.103,210] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:41.103,240] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:42.103,698] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:42.103,729] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:43.103,790] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:43.103,790] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:44.103,576] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:44.103,607] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:45.103,820] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:45.103,820] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:46.103,851] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:46.103,881] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:47.103,454] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:47.103,454] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:48.103,485] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:48.103,515] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:49.103,973] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:49.103,973] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:50.104,003] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:50.104,034] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:51.103,363] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:51.103,363] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:52.103,637] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:52.103,668] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:53.104,095] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:53.104,125] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:54.104,217] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:54.104,248] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:55.103,729] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:55.103,759] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:56.103,790] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:56.103,820] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:57.104,248] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:57.104,278] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:58.104,156] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:58.104,187] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:00:59.103,942] <inf> gnss_app: PVT flags=0x00000000 00> [00:00:59.103,973] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:00.103,912] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:00.103,973] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:01.103,942] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:01.103,973] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:02.104,003] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:02.104,034] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:03.104,461] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:03.104,492] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:04.104,522] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:04.104,553] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:05.103,881] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:05.103,881] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:06.104,156] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:06.104,187] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:07.104,248] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:07.104,248] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:08.104,736] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:08.104,766] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:09.104,705] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:09.104,705] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:10.104,278] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:10.104,339] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:11.104,339] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:11.104,339] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:12.104,675] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:12.104,705] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:13.104,858] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:13.104,888] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:14.104,888] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:14.104,919] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:15.104,522] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:15.104,553] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:16.104,522] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:16.104,553] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:17.105,010] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:17.105,010] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:18.105,041] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:18.105,072] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:19.104,949] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:19.104,949] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:20.105,102] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:20.105,163] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:21.104,705] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:21.104,705] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:22.105,255] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:22.105,285] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:23.105,224] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:23.105,255] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:24.104,827] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:24.104,858] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:25.104,827] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:25.104,858] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:26.105,194] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:26.105,224] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:27.105,377] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:27.105,377] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:28.105,407] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:28.105,438] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:29.105,438] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:29.105,438] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:30.105,468] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:30.105,499] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:31.105,377] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:31.105,377] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:32.105,102] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:32.105,133] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:33.105,133] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:33.105,163] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:34.105,163] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:34.105,194] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:35.105,194] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:35.105,224] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:36.105,255] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:36.105,285] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:37.105,712] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:37.105,743] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:38.105,743] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:38.105,804] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:39.105,804] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:39.105,804] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:40.105,834] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:40.105,865] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:41.105,834] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:41.105,865] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:42.105,865] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:42.105,926] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:43.105,895] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:43.105,926] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:44.105,834] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:44.105,865] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:45.106,048] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:45.106,079] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 00> [00:01:46.106,018] <inf> gnss_app: PVT flags=0x00000000 00> [00:01:46.106,048] <inf> gnss_app: PVT: searching... sv_view=0 acc=0.0(m) flags=0x00000000 # Logging stopped @ 17 Feb 2026 17:59:55
Thanks I have forwarded this to modem team.
You should check if the LNA gets properly enabled. Since you are using a regular GPIO pin instead of COEX0, there can potentially be issues.
GNSS gets started and is receiving PVT notifications once a second, so it does not look like a GNSS API issue.
This is an internal GPS setup and has external on-board antenna attached to it.
I can see voltages around D1(2.489 at cathode ) , D2 (2.673 at cathode ) which further goes to c1(2.48), c2(2.49) and c3(2.67), c4(2.67) which are sufficient to power up LNA.
Is there anything else I am missing in the code ?
Also coex is used for coexistence of LTE along with GNSS. Here I am using GNSS mode only in the code.
