<?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>MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/120324/mpsl-assert-106-701-and-softdevice-controller-assert-48-1403</link><description>We are using nRF Connect SDK 2.9.1, Zephyr. The hardware used is a nrf52840dk, rev2. 
 We have a proprietary protocol that is running concurrently with BLE and uses MPSL API for radio access. 
 We are now facing a problem when doing DFU over BLE using</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 30 Apr 2025 08:16:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/120324/mpsl-assert-106-701-and-softdevice-controller-assert-48-1403" /><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/533508?ContentTypeID=1</link><pubDate>Wed, 30 Apr 2025 08:16:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c04856f7-5039-49fb-9c10-52b95111ffe5</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The problem here seems to be that you call&amp;nbsp;mpsl_timeslot_request() from an interrupt, which is &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.9.1/page/nrfxlib/mpsl/doc/mpsl.html#low_priority"&gt;not allowed&lt;/a&gt;.&amp;nbsp;You should call it from a non-preemtable thread to make sure there are no parallell MPSL API calls. You can see an example of that &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/60d0d6c8d42dd9c7bafe544a8fdf1234d6beb916/samples/mpsl/timeslot/src/main.c#L246"&gt;here&lt;/a&gt;&amp;nbsp;in the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-2.9.1/page/nrf/samples/mpsl/timeslot/README.html"&gt;MPSL timeslot sample&lt;/a&gt;, and refer to the documentation here.&lt;/p&gt;
&lt;p&gt;PS: The reason this happens more when doing DFU is proably&amp;nbsp;because flash writes are done via MPSL, so the likelyhood of collisions increase in this case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/533337?ContentTypeID=1</link><pubDate>Tue, 29 Apr 2025 09:10:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea202098-3905-4f91-9747-6829382290a1</guid><dc:creator>Robin J</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve now managed to reproduce the issue with a minimal example based on the MPSL timeslot sample included in nRF Connect SDK it also includes code from the SMP server sample to enable advertising.&lt;/p&gt;
&lt;p&gt;It mostly triggers the SoftDevice Controller assert but it sometimes triggers the MPSL assert as well.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;To trigger the asserts, one has to use the nRF Device Manager mobile app and do a firmware upgrade through it. It might take some retries to make it trigger.&lt;/p&gt;
&lt;p&gt;Here is the example code/project: &lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/4520.timeslot.zip"&gt;devzone.nordicsemi.com/.../4520.timeslot.zip&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/531638?ContentTypeID=1</link><pubDate>Mon, 14 Apr 2025 07:41:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8339e9e1-5b2a-4faa-b36e-45149cdfcc44</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We are looking at this but are struggling to understand and reproduce &amp;nbsp;the issue. Would it be possible to share a (preferably as minimal as possible) project along with instructions on how to reproduce so that we can test the same his on our end?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/530829?ContentTypeID=1</link><pubDate>Mon, 07 Apr 2025 13:12:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa8ebbd3-30bb-4424-a71b-ef9542cd4ed3</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you. I am disussing this internally and will update here.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/530789?ContentTypeID=1</link><pubDate>Mon, 07 Apr 2025 11:13:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83ffb603-6f86-456b-82ae-51a9c2dc5006</guid><dc:creator>Robin J</dc:creator><description>&lt;p&gt;Our timeslots run at most every 10 ms and scheduled expected duration is 10 ms.&lt;br /&gt;They are requested with MPSL_TIMESLOT_PRIORITY_HIGH, MPSL_TIMESLOT_HFCLK_CFG_XTAL_GUARANTEED and MPSL_TIMESLOT_REQ_TYPE_NORMAL if it&amp;#39;s not the first request of the timeslot session, then it is MPSL_TIMESLOT_REQ_TYPE_EARLIEST.&lt;/p&gt;
&lt;p&gt;The connection parameters are default for the BLE SMP sample I think?&lt;br /&gt;Only configuration that is done is this Kconfig configuration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CONFIG_BT_PERIPHERAL=y&lt;/li&gt;
&lt;li&gt;CONFIG_BT=y&lt;/li&gt;
&lt;li&gt;CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y&lt;/li&gt;
&lt;li&gt;CONFIG_MCUMGR_TRANSPORT_BT=y&lt;/li&gt;
&lt;li&gt;CONFIG_MCUMGR_TRANSPORT_BT_CONN_PARAM_CONTROL=y&lt;/li&gt;
&lt;li&gt;CONFIG_MCUMGR_TRANSPORT_BT_REASSEMBLY=y&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/530635?ContentTypeID=1</link><pubDate>Fri, 04 Apr 2025 13:24:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31668f60-919c-45e8-a018-bd1c8f4c3b9b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I see. We are looking into this, but in order to undertand more I wonder if you can share more details, such as the simelot request parameters and Bluetooth connection parametrs etc as well?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/530162?ContentTypeID=1</link><pubDate>Wed, 02 Apr 2025 08:23:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d8f2d47-10d2-4ef4-8f41-37b1e282738d</guid><dc:creator>Robin J</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I&amp;#39;ve only seen it happen during the DFU over BLE transfer. I don&amp;#39;t think the connection parameters are changed during the transfer. I&amp;#39;m using the Kconfig&amp;nbsp;options described in&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf52/fota_update.html#fota_over_bluetooth_low_energy"&gt;FOTA updates on nRF52&lt;/a&gt;&amp;nbsp;to enable MCUmgr SMP over BLE and the upload is done from the nRF Device Manager mobile app.&lt;/p&gt;
&lt;p&gt;One thing to note is that I only see the asserts when our proprietary protocol is running&amp;nbsp;and using timeslots at the same time as the&amp;nbsp;BLE DFU transfer is being done. If our protocol is disabled,&amp;nbsp;I don&amp;#39;t see any asserts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403</title><link>https://devzone.nordicsemi.com/thread/530128?ContentTypeID=1</link><pubDate>Wed, 02 Apr 2025 07:05:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c38d614-27b5-442c-a8ee-4ff094c5a87a</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The asserts are related to scheduling in the MPSL and SoftDevice controller, but we need to look a bit more into it to be more specific.&amp;nbsp;You write this issue happens only during DFU over BLE, are the BLE connection parameters changd at this point, or perhaps there is longer packets and/or several packets per connection event? (So that BLE takes more time)? Are there any other factors that stand out when you see this issue?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>