<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/125872/ipc-breaks-when-enabling-bluetooth-mesh-on-nrf54l15</link><description>Hello, 
 
 We are developing a product based on the nRF54L15, using BT Mesh. We also use the FLPR. For communication between the cores, we use ICMSG. 
 Separately, ICMSG and BT Mesh work well, but for some reason, when we include BT Mesh, cpuapp cannot</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 16 Dec 2025 18:16:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/125872/ipc-breaks-when-enabling-bluetooth-mesh-on-nrf54l15" /><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/557135?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 18:16:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8381262-c92b-4b9e-98b2-b46ac8720b9e</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So, you&amp;nbsp;are stuck on the bound semaphore.&lt;/p&gt;
&lt;p&gt;One theory is that the&amp;nbsp;timing is the reason why.&lt;/p&gt;
&lt;p&gt;I can add a 10+ second delay in my test, and that should also fail.&lt;/p&gt;
&lt;p&gt;So I added a quick test by appending k_msleep(10*1000):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; [00:00:10.507,290] &amp;lt;wrn&amp;gt; modem_chat: resume_script: timed out
00&amp;gt; [00:00:10.507,339] &amp;lt;err&amp;gt; quectel_lcx6g: Failed to initialize GNSS
00&amp;gt; *** Booting nRF Connect SDK v3.1.99-ef4b0afc4605 ***
00&amp;gt; *** Using Zephyr OS v4.2.99-dcb90afc70fb ***
00&amp;gt; [00:00:10.507,400] &amp;lt;inf&amp;gt; main: Initializing...
00&amp;gt; 
00&amp;gt; [00:00:10.507,404] &amp;lt;inf&amp;gt; main: Lets delay for 10
00&amp;gt; [00:00:10.507,409] &amp;lt;inf&amp;gt; main: 0
00&amp;gt; [00:00:11.507,476] &amp;lt;inf&amp;gt; main: 1
00&amp;gt; [00:00:12.507,551] &amp;lt;inf&amp;gt; main: 2
00&amp;gt; [00:00:13.507,618] &amp;lt;inf&amp;gt; main: 3
00&amp;gt; [00:00:14.507,703] &amp;lt;inf&amp;gt; main: 4
00&amp;gt; [00:00:15.507,772] &amp;lt;inf&amp;gt; main: 5
00&amp;gt; [00:00:16.507,862] &amp;lt;inf&amp;gt; main: 6
00&amp;gt; [00:00:17.507,933] &amp;lt;inf&amp;gt; main: 7
00&amp;gt; [00:00:18.508,022] &amp;lt;inf&amp;gt; main: 8
00&amp;gt; [00:00:19.508,093] &amp;lt;inf&amp;gt; main: 9
00&amp;gt; [00:00:20.508,182] &amp;lt;dbg&amp;gt; main: ipc_init: initializing IPC...
00&amp;gt; [00:00:20.508,211] &amp;lt;dbg&amp;gt; ipc_service: ipc_service_register_endpoint: Register endpoint ipc_ept_0
00&amp;gt; [00:00:20.509,825] &amp;lt;dbg&amp;gt; main: ipc_bound_cb: IPC ep bound
00&amp;gt; 
00&amp;gt; [00:00:20.509,853] &amp;lt;inf&amp;gt; main: IPC initialized.
00&amp;gt; 
00&amp;gt; [00:00:20.509,885] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:20.515,032] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:21.509,975] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:21.517,373] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:22.510,074] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:22.519,644] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:23.510,189] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:23.521,908] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:24.510,269] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:24.524,177] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:25.510,376] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:25.526,436] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:26.510,454] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:26.528,699] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:27.510,532] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:27.530,962] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:28.510,643] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:28.533,228] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:29.510,748] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:29.535,492] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:30.510,853] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
(Connection lost)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And also k_busy_wait(10*1000*1000) to emulate a blocking task, and also added another 10 sec after calling&amp;nbsp;ipc_service_register_endpoint().&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; [00:00:10.507,290] &amp;lt;wrn&amp;gt; modem_chat: resume_script: timed out
00&amp;gt; [00:00:10.507,339] &amp;lt;err&amp;gt; quectel_lcx6g: Failed to initialize GNSS
00&amp;gt; *** Booting nRF Connect SDK v3.1.99-ef4b0afc4605 ***
00&amp;gt; *** Using Zephyr OS v4.2.99-dcb90afc70fb ***
00&amp;gt; [00:00:10.507,400] &amp;lt;inf&amp;gt; main: Initializing...
00&amp;gt; 
00&amp;gt; [00:00:10.507,404] &amp;lt;inf&amp;gt; main: Lets delay for 10
00&amp;gt; [00:00:20.503,724] &amp;lt;dbg&amp;gt; main: ipc_init: initializing IPC...
00&amp;gt; [00:00:20.503,753] &amp;lt;dbg&amp;gt; ipc_service: ipc_service_register_endpoint: Register endpoint ipc_ept_0
00&amp;gt; [00:00:20.505,373] &amp;lt;dbg&amp;gt; main: ipc_bound_cb: IPC ep bound
00&amp;gt; 
00&amp;gt; [00:00:30.488,836] &amp;lt;inf&amp;gt; main: IPC initialized.
00&amp;gt; 
00&amp;gt; [00:00:30.488,869] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:30.507,385] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:31.488,978] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:31.509,648] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:32.489,057] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:32.511,915] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:33.489,160] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And here a 10 sec delay between each ipc-call:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; *** Booting nRF Connect SDK v3.1.99-ef4b0afc4605 ***
00&amp;gt; *** Using Zephyr OS v4.2.99-dcb90afc70fb ***
00&amp;gt; [00:00:10.507,344] &amp;lt;inf&amp;gt; main: Initializing...
00&amp;gt; 
00&amp;gt; [00:00:10.507,349] &amp;lt;inf&amp;gt; main: Lets delay for 10
00&amp;gt; [00:00:20.506,733] &amp;lt;dbg&amp;gt; main: ipc_init: initializing IPC...
00&amp;gt; [00:00:30.495,998] &amp;lt;dbg&amp;gt; ipc_service: ipc_service_register_endpoint: Register endpoint ipc_ept_0
00&amp;gt; [00:00:30.497,621] &amp;lt;dbg&amp;gt; main: ipc_bound_cb: IPC ep bound
00&amp;gt; 
00&amp;gt; [00:00:40.483,683] &amp;lt;inf&amp;gt; main: IPC initialized.
00&amp;gt; 
00&amp;gt; [00:00:40.483,716] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:40.499,637] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:41.483,825] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:41.501,903] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:42.483,903] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:42.504,165] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:43.484,013] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:43.506,431] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:44.484,085] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am unable to reproduce your scenario with the above emulation, which indicates that the gnss/modem subsys might be blocking the main thread, or that the issue is related to the image on the flpr side.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I would recommend that you check with the zephyr community and/or the modem manufacturer if it is expected that the gnss/modem shall block in such a way.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556987?ContentTypeID=1</link><pubDate>Mon, 15 Dec 2025 14:04:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90dd179b-c52f-4f78-a1b9-4fa545f781d3</guid><dc:creator>Fridtjof</dc:creator><description>&lt;p&gt;Here is appcpu log when not working. &amp;quot;Initializing IPC...&amp;quot; is the last thing that appcpu prints outside GNSS. I have replaced location data with &amp;quot;&amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;*** Booting nRF Connect SDK v3.0.1-9eb5615da66b ***
*** Using Zephyr OS v4.0.99-77f865b8f8d0 ***
[00:00:18.464,672] &amp;lt;inf&amp;gt; main: Initializing...

[00:00:18.464,681] &amp;lt;dbg&amp;gt; main: ipc_init: initializing IPC...
[00:00:18.464,702] &amp;lt;dbg&amp;gt; ipc_service: ipc_service_register_endpoint: Register endpoint ipc_ept_0
[00:00:18.481,633] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNGGA, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:18.496,337] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNRMC, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
Got a fix! &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
quectel_lc86g: gnss_info: {satellites_cnt: 16, hdop: 0.650, fix_status: DGNSS_FIX, fix_quality: DGNSS}

quectel_lc86g: navigation_data: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_time: {hour: 13, minute: 52, millisecond 14000, month_day 15, month: 12, century_year: 25}

[00:00:18.496,865] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_on_unknown_command_received: $PQTMANTENNASTATUS,3,1,2,1*52
[00:00:19.471,673] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNGGA, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:19.486,332] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNRMC, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
Got a fix! &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
quectel_lc86g: gnss_info: {satellites_cnt: 16, hdop: 0.650, fix_status: DGNSS_FIX, fix_quality: DGNSS}

quectel_lc86g: navigation_data: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_time: {hour: 13, minute: 52, millisecond 15000, month_day 15, month: 12, century_year: 25}

[00:00:19.486,793] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_on_unknown_command_received: $PQTMANTENNASTATUS,3,1,2,1*52
[00:00:20.473,464] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNGGA, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:20.488,144] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNRMC, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
Got a fix! &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
quectel_lc86g: gnss_info: {satellites_cnt: 16, hdop: 0.650, fix_status: DGNSS_FIX, fix_quality: DGNSS}

quectel_lc86g: navigation_data: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_time: {hour: 13, minute: 52, millisecond 16000, month_day 15, month: 12, century_year: 25}

[00:00:20.488,606] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_on_unknown_command_received: $PQTMANTENNASTATUS,3,1,2,1*52
[00:00:21.460,812] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GNGGA, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:21.466,369] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GPGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:21.471,923] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GPGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:21.477,468] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GPGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:21.477,561] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GLGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:21.483,072] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GAGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
10 satellites reported (of which 9 tracked)!
[00:00:21.488,631] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GAGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
[00:00:21.494,153] &amp;lt;dbg&amp;gt; modem_chat: modem_chat_log_received_command: $GAGSV, &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;
quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;

quectel_lc86g: gnss_satellite: &amp;lt;&amp;lt;&amp;lt;REDACTED&amp;gt;&amp;gt;&amp;gt;&lt;/pre&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the cpuflpr log:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;*** Booting nRF Connect SDK v3.0.1-9eb5615da66b ***
*** Using Zephyr OS v4.0.99-77f865b8f8d0 ***
I: Initializing...

D: initializing IPC...
D: IPC ep bound

I: IPC initialized.&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556985?ContentTypeID=1</link><pubDate>Mon, 15 Dec 2025 13:47:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c58c738-e73c-47d9-8b40-2e93b378aecc</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Fridtjof,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I used the dt bindings found the boards/proto3*.overlay, and built for the nrf54l15dk/nrf54l15/cpuapp.&lt;/p&gt;
&lt;p&gt;I am unable to fully test this, as I do not have the gnss/modem that you are using physically connected, so it will fail during runtime, as shown in the log below.&lt;/p&gt;
&lt;p&gt;This is printed over RTT:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; [00:00:00.015,404] &amp;lt;inf&amp;gt; quectel_lcx6g: Resuming
00&amp;gt; [00:00:00.015,411] &amp;lt;inf&amp;gt; quectel_lcx6g: Waiting until PM ready
00&amp;gt; [00:00:10.515,242] &amp;lt;wrn&amp;gt; modem_chat: resume_script: timed out
00&amp;gt; [00:00:10.515,296] &amp;lt;err&amp;gt; quectel_lcx6g: Failed to initialize GNSS
00&amp;gt; *** Booting nRF Connect SDK v3.1.1-e2a97fe2578a ***
00&amp;gt; *** Using Zephyr OS v4.1.99-ff8f0c579eeb ***
00&amp;gt; [00:00:10.515,916] &amp;lt;inf&amp;gt; main: Initializing...
00&amp;gt; 
00&amp;gt; [00:00:10.515,925] &amp;lt;dbg&amp;gt; main: ipc_init: initializing IPC...
00&amp;gt; [00:00:10.515,947] &amp;lt;dbg&amp;gt; ipc_service: ipc_service_register_endpoint: Register endpoint ipc_ept_0
00&amp;gt; [00:00:10.517,563] &amp;lt;dbg&amp;gt; main: ipc_bound_cb: IPC ep bound
00&amp;gt; 
00&amp;gt; [00:00:10.517,595] &amp;lt;inf&amp;gt; main: IPC initialized.
00&amp;gt; 
00&amp;gt; [00:00:10.517,628] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:10.522,777] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction
00&amp;gt; [00:00:11.517,721] &amp;lt;dbg&amp;gt; main: send_message: ipc send: 5 = appcpu says hi
00&amp;gt; [00:00:11.525,116] &amp;lt;dbg&amp;gt; main: ipc_recv_cb: ipc received: 3 = reaction&lt;/pre&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;IPC comms are running as they should in this scenario.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
[quote userid="131326" url="~/f/nordic-q-a/125872/ipc-breaks-when-enabling-bluetooth-mesh-on-nrf54l15/556951"]It seems like GNSS is somehow hindering the handshake. [/quote]
&lt;p&gt;Can you share a log output of a working and a non-working scenario?&lt;/p&gt;
[quote userid="131326" url="~/f/nordic-q-a/125872/ipc-breaks-when-enabling-bluetooth-mesh-on-nrf54l15/556951"]Could you answer whether my understanding of IPC handshaking and explanation of the problem is correct?[/quote]
&lt;p&gt;It is set up to ping/pong data at this time, and the&amp;nbsp;scenarios that are most likely occurring&amp;nbsp;is either a fault, or another blocking scenario that makes the firmware hang.&lt;/p&gt;
&lt;p&gt;Try setting &amp;quot;CONFIG_GNSS_LOG_LEVEL_DBG=y&amp;quot; for a bit more verbose output.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;H&amp;aring;kon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556951?ContentTypeID=1</link><pubDate>Mon, 15 Dec 2025 11:27:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:916f9a65-533c-4ae6-b104-e718a89b1cbb</guid><dc:creator>Fridtjof</dc:creator><description>&lt;p&gt;Hi again H&amp;aring;kon,&lt;/p&gt;
&lt;p&gt;I think I found a fix for the issue. In our code, cpuflpr&amp;#39;s task is to just wait for commands from cpuapp. This means that unless it gets a command from cpuapp, it doesn&amp;#39;t ever send any IPC messages to cpuapp. The only exception to this is the handshake message at IPC setup.&lt;/p&gt;
&lt;p&gt;It is my understanding that on IPC setup, cpuflpr places a magic number in its send buffer, triggers an interrupt on cpuapp which then reads the buffer, and if the number is read correctly, cpuapp will call its setup callback.&lt;/p&gt;
&lt;p&gt;It seems like GNSS is somehow hindering the handshake. I believe it is by stopping the interrupt which triggers cpuapp to read the buffer. I think this because IPC will work if flpr waits one second after IPC setup, then sends a message to cpuapp, which triggers it to read the IPC buffer, seeing the magic number, and completing setup.&lt;/p&gt;
&lt;p&gt;I have attached a sample which shows this behavior, and has three comments with the text &amp;quot;FIX&amp;quot; where I have found ways to get around the problem:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Send an extra message from cpuflpr to trigger cpuapp to read the IPC buffer&lt;/li&gt;
&lt;li&gt;Disable GNSS (we cannot use this since we need GNSS)&lt;/li&gt;
&lt;li&gt;Enable multithreading on cpuflpr (we cannot use this since we need all the RAM we can get on cpuflpr&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/gnss_5F00_ipc.zip"&gt;devzone.nordicsemi.com/.../gnss_5F00_ipc.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Could you answer whether my understanding of IPC handshaking and explanation of the problem is correct?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Fridtjof&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556794?ContentTypeID=1</link><pubDate>Thu, 11 Dec 2025 16:29:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f724188b-9a8d-4f35-9f50-9332d14deac7</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Fridtjof,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;No worries, feel free to update when you have the time.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556583?ContentTypeID=1</link><pubDate>Tue, 09 Dec 2025 15:34:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92e46d7a-6b2c-4336-b7e3-a2f6bd4613de</guid><dc:creator>Fridtjof</dc:creator><description>&lt;p&gt;Good afternoon,&lt;/p&gt;
&lt;p&gt;I am still trying to&amp;nbsp;produce a minimal sample, but it is taking longer than expected because I ran into some other strange issues. I will come back to you when I have more of a clue what I&amp;#39;m dealing with.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;-Fridtjof&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556444?ContentTypeID=1</link><pubDate>Mon, 08 Dec 2025 12:02:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1389acb2-0c5c-4f0b-b346-4b39125c984c</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Good afternoon Fridtjof!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am unable to get this behavior on my end, and I also cannot see how those configurations should break the ipc communication in general.&lt;/p&gt;
&lt;p&gt;Where do you add the gnss dt node? I suspect this is to one of the uart instances?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If yes, which one? And does this happen if you disable uart in the remote (ie. flpr) project?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556361?ContentTypeID=1</link><pubDate>Fri, 05 Dec 2025 15:26:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb45c7e6-d77b-473d-a21b-8bf77fc13627</guid><dc:creator>Fridtjof</dc:creator><description>&lt;p&gt;Hello again, H&amp;aring;kon.&lt;/p&gt;
&lt;p&gt;I apologize, but I now believe I messed up the test which made me conclude that the Bluetooth was breaking the IPC. After removing different modules from my project, it seems like it is GNSS which is breaking IPC. IPC works fine with all the other modules, including bluetooth.&lt;/p&gt;
&lt;p&gt;IPC breaks even with the minimal GNSS config shown below. Even if I remove all code which uses gnss.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_GNSS=y
CONFIG_UART_ASYNC_API=y
CONFIG_GNSS_QUECTEL_LCX6G=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do the GNSS and IPC systems interact somehow?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556311?ContentTypeID=1</link><pubDate>Fri, 05 Dec 2025 09:57:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58ba993f-03cf-4a6c-b086-c74df6b695b3</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Your memory map is similar, in terms of the RAM layout atleast, between both of those builds.&lt;/p&gt;
&lt;p&gt;When using FLPR it is important that one does not overwrite or use the topmost 0x200 bytes of RAM:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/memory.html"&gt;https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/memory.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Other than that, there should not be a problem to scale the RAM in any of the regions.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;mbox/ipc will use the vevif channels, as per the overlay that you set, default 20/21 for RX/TX between the cores.&lt;/p&gt;
&lt;p&gt;Softdevice controller will use these resources:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-3.1.0/page/nrfxlib/softdevice_controller/doc/softdevice_controller.html"&gt;https://docs.nordicsemi.com/bundle/ncs-3.1.0/page/nrfxlib/softdevice_controller/doc/softdevice_controller.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Does both your tests use the SoftDevice Controller?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556242?ContentTypeID=1</link><pubDate>Thu, 04 Dec 2025 13:19:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f741863e-8407-4c63-9c70-2e381f0517d1</guid><dc:creator>Fridtjof</dc:creator><description>&lt;p&gt;When I created a minimal sample, the issue seems to disappear. This makes me think the issue comes from incorrectly partitioning the RAM. In the minimal sample, cpuapp and cpuflpr use 61% and 25% of their allocated RAM respectively, while in the full sample we used 71% and 92%.&lt;/p&gt;
&lt;p&gt;Full code:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;cpuapp:
Memory region         Used Size  Region Size  %age Used
           FLASH:      424016 B      1404 KB     29.49%
             RAM:       98606 B       136 KB     70.81%
        IDT_LIST:          0 GB        32 KB      0.00%

cpuflpr:
Memory region         Used Size  Region Size  %age Used
             RAM:      112452 B       120 KB     91.51%
        IDT_LIST:          0 GB         2 KB      0.00%&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Minimal sample:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;cpuapp:
Memory region         Used Size  Region Size  %age Used
           FLASH:      352984 B      1404 KB     24.55%
             RAM:       85198 B       136 KB     61.18%
        IDT_LIST:          0 GB        32 KB      0.00%

cpuflpr:
Memory region         Used Size  Region Size  %age Used
             RAM:       30336 B       120 KB     24.69%
        IDT_LIST:          0 GB         2 KB      0.00%&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Although it does seem strange. In another build, we have the full code on flpr, and no bluetooth on cpuapp (which means cpuapp has low RAM usage), and that works fine. So it is the increase in RAM usage on cpuapp which causes a failure in cpuapp. If partitioning was incorrect I would expect high memory usage on cpuapp to break cpuflpr by overwriting some of its memory.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/556043?ContentTypeID=1</link><pubDate>Tue, 02 Dec 2025 16:55:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d2c8070-5ecc-43f2-a0c6-d6c7fd2434f1</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Fridtjof,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Fridtjof"]We know that both cpuapp and cpuflpr are running, since we have RTT logging from cpuapp and serial logging from cpuflpr. In fact, we know the exact spot where cpuapp halts, which is on the line in our program corresponding to&amp;nbsp; ` k_sem_take(&amp;amp;bound_sem, K_FOREVER);` in `zephyr/samples/subsys/ipc/ipc_service/icmsg/src/main.c`. It halts here because the callback `&lt;span&gt;ipc_ept_cfg.cb.bound` is never called by the IPC library.&lt;/span&gt;[/quote]
&lt;p&gt;Good that both cores are logging and in general are running code.&lt;/p&gt;
&lt;p&gt;Please note that since the icmsg (on both cpuapp and cpuflpr) logs from IRQ handlers, CONFIG_LOG_MODE_DEFERRED=y must be set on both projects.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Fridtjof"]A1: We do not directly use the nordic-flpr snippet. What we have done is copy the contents of the snippet and changed some of the values, since we have allocated more SRAM to FLPR than the default. This all works fine until we have both bluetooth mesh and ipc enabled in the config. This means we are using sysbuild and have added the relevant overlay code.[/quote]
&lt;p&gt;That sounds good, means you do not need to add the snippet each time you re-configure the build.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Fridtjof"]&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;A2: We based our IPC on the icmsg sample in zephyr (not sdk-nrf) because it had overlay and config files for nRF54L15. Looking at a diff between the two samples, I can&amp;#39;t see any relevant differences which could impact our program. We already use the following in our project, which works fine:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;code&gt;ExternalZephyrProject_Add(&lt;br /&gt; APPLICATION flpr&lt;br /&gt; SOURCE_DIR ${APP_DIR}/flpr&lt;br /&gt; BOARD nrf54l15dk/nrf54l15/cpuflpr&lt;br /&gt;)&lt;/code&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I will work on creating a minimal sample so I can show the complete build log.&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;These cmake lines were the ones I was interested if you had, which is good to see is present.&lt;/p&gt;
&lt;p&gt;Based on your description, it sounds like the issue on the cpuapp side of things.&lt;/p&gt;
&lt;p&gt;I would be happy to look deeper, please let me know when you have a minimal sample.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/555917?ContentTypeID=1</link><pubDate>Mon, 01 Dec 2025 17:47:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fe4ee12-ea64-4cfe-a3e3-a518ed0a8f75</guid><dc:creator>Fridtjof</dc:creator><description>&lt;p&gt;Hi H&amp;aring;kon,&lt;/p&gt;
&lt;p&gt;We know that both cpuapp and cpuflpr are running, since we have RTT logging from cpuapp and serial logging from cpuflpr. In fact, we know the exact spot where cpuapp halts, which is on the line in our program corresponding to&amp;nbsp; ` k_sem_take(&amp;amp;bound_sem, K_FOREVER);` in `zephyr/samples/subsys/ipc/ipc_service/icmsg/src/main.c`. It halts here because the callback `&lt;span&gt;ipc_ept_cfg.cb.bound` is never called by the IPC library.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;To answer your questions:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;A1: We do not directly use the nordic-flpr snippet. What we have done is copy the contents of the snippet and changed some of the values, since we have allocated more SRAM to FLPR than the default. This all works fine until we have both bluetooth mesh and ipc enabled in the config. This means we are using sysbuild and have added the relevant overlay code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;A2: We based our IPC on the icmsg sample in zephyr (not sdk-nrf) because it had overlay and config files for nRF54L15. Looking at a diff between the two samples, I can&amp;#39;t see any relevant differences which could impact our program. We already use the following in our project, which works fine:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;code&gt;ExternalZephyrProject_Add(&lt;br /&gt; APPLICATION flpr&lt;br /&gt; SOURCE_DIR ${APP_DIR}/flpr&lt;br /&gt; BOARD nrf54l15dk/nrf54l15/cpuflpr&lt;br /&gt;)&lt;/code&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I will work on creating a minimal sample so I can show the complete build log.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Fridtjof&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IPC breaks when enabling bluetooth mesh on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/555769?ContentTypeID=1</link><pubDate>Fri, 28 Nov 2025 14:58:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:959bcdd1-ba74-4f17-bad6-7fb930fb3d53</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Fridtjof,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;nRF53 architecture has a strict split between the cores, in terms of which peripheral and resources each core can access. This limitation is alot more configurable in nRF54L-series.&lt;/p&gt;
&lt;p&gt;It sounds like the cpuapp image is not booting, or is overwriting the cpuflpr image.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q1: Are you building with the &amp;quot;SNIPPET=nordic-flpr&amp;quot; in place?&lt;/p&gt;
&lt;p&gt;ie. west build -b&amp;nbsp;nrf54l15dk/nrf54l15/cpuapp -- -DSNIPPET=nordic-flpr&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;or in vscode:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1764341845558v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q2: Have you checked out the IPC sample, specifically with how the &amp;quot;remote&amp;quot; example is pulled in?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/main/samples/ipc/ipc_service/sysbuild.cmake#L12-L17"&gt;https://github.com/nrfconnect/sdk-nrf/blob/main/samples/ipc/ipc_service/sysbuild.cmake#L12-L17&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you still see issues, could you share the whole build output?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>