<?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>SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/85956/softdevice-assertion-failed-pc-0x00000a60</link><description>Hi, 
 Application details: 
 I have a datalogger application that samples data every second. It uses the following modules: 
 TWIM0 -&amp;gt; To communicate with external RTC clock via I2C. 
 TWIM1 -&amp;gt; To send data to external display via I2C. 
 SPIM2 -&amp;gt; To get</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Mar 2022 06:13:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/85956/softdevice-assertion-failed-pc-0x00000a60" /><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/360417?ContentTypeID=1</link><pubDate>Tue, 29 Mar 2022 06:13:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:52648a30-f690-44f7-9783-b7bcde79250e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Thanks for the trace. We look forward to hearing the results of the test with&amp;nbsp;NRF_SDH_BLE_GAP_DATA_LENGTH set to 27 and 7.5 ms connection interval.&lt;/p&gt;
&lt;p&gt;Regarding needing to keep the router as peripheral, note that you could also control connection in another way by making the datalogger act as a peripheral, but only do connectable advertising when it wants to connect. Of course there are other factors that may play in, like if one of the roles are connected to mains or a very large battery, and the other is more low power, as scanning is typically more power hungry than advertising. In any case neither way is &amp;quot;wrong&amp;quot; per se, but the scheduling works much better when the central is the one with multiple links. With your topography, each central handles the schedule of each link independently, so you should typically expect more and more overlaps of connection events as the number of concurrent links increases.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/360388?ContentTypeID=1</link><pubDate>Mon, 28 Mar 2022 19:35:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36e71846-4a11-4c3b-b27c-34aa39f27a9f</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;I have sent you a private message with a sniffer trace, with bonding disabled, and the devices close to each other. This uses 7.5mS connection interval, with&amp;nbsp;&lt;span&gt;NRF_SDH_BLE_GAP_DATA_LENGTH still set&amp;nbsp;as 251 and&amp;nbsp;NRF_SDH_BLE_GAP_EVENT_LENGTH set as 320. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Again, I couldn&amp;#39;t capture an assert as the sniffer does not capture the connection consistently when the router and datalogger are at a distance of &amp;gt; 10 m. The sniffer dongle LED turns red and the capture stops when the connection does start getting captured. I have tried this with the sniffer close to the router and the sniffer close to the datalogger.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Unfortunately, I need to keep the router as the peripheral and the datalogger as the central. This is because the connection needs to be initiated from the datalogger.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I will start a test tomorrow and let you know the results of setting&amp;nbsp;NRF_SDH_BLE_GAP_DATA_LENGTH to 27 with connection interval at 7.5mS. I have no issues so far with this setting. I will let this test run for 2 days to make sure no ASSERTs occur.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/360305?ContentTypeID=1</link><pubDate>Mon, 28 Mar 2022 12:47:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6683c690-1e98-42ec-9eee-ef3773563d48</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is interesting that you no longer see this&amp;nbsp;issue&amp;nbsp;with a 50 ms connection interval. I do not have an explanation for that atm, though. In order to try to understand the issue it would be good to have a sniffer trace from close to the central as well. Also, if you do (legacy) pairing wile sniffing, the sniffer will be able to decrypt the encrypted packets.&lt;/p&gt;
&lt;p&gt;None of the parameters below (from your attached sdk_config.h should cause an ASSERT, but they look unexpected and/or sub-optimal, in particular:&lt;/p&gt;
&lt;p&gt;#define NRF_SDH_BLE_GAP_DATA_LENGTH 251&lt;br /&gt;CODED PHY on the SoftDevice does not lead to any transmissions greater than 27. Having a data length of 251 may however be desirable for other use-cases, like firmware upgrade of 1Mbps/2Mbps.&lt;/p&gt;
&lt;p&gt;#define NRF_SDH_BLE_GAP_EVENT_LENGTH 320&lt;br /&gt;This will give a scheduled event length of 1.25*320 = 400 ms. Assuming that intervals are &amp;quot;big&amp;quot; ( &amp;gt; 400ms) this means that a connection may be blocked out by another connection for 400 ms, which may even be beyond the supervision timeout. Having a long event length may however be desirable for other use-cases, like firmware upgrade.&lt;/p&gt;
[quote user="CodeVader"]I am planning to connect at least 5 dataloggers to the router. Please let me know what would be the best connection interval to use for this, or how I could calculate it for coded PHY.[/quote]
&lt;p&gt;First of all a key point is that only the central has anything to say on the scheduling (peripherals can request connection parameters to change etc.), but has nothing to say on the scheduling. So you&amp;nbsp;to get good multilink performance the router (which has multiple links) should be central and the datalogger peripherals (which only has one link). Then the router can ensure that the links are properly scheduled next to one another and do not overlap. You also need to think about the event&amp;nbsp;length and connection interval. With all links equal, you should ensure that the connection interval is at least longer than the sum of event length (or multiple if all are the same).&lt;/p&gt;
&lt;p&gt;There are also things to consider with regard to&amp;nbsp;connection interval. For instance, longer intervals means longer latencies. But you can also fit longer event lengths which allows you to send more data without the extra overhead you get with more short events compared to fewer long events. On the other hand, retransmissions always happens on the next event, so if you have a lot of packet loss for some reason, shorter intervals and event lengths might give you better&amp;nbsp;throughput, for instance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I discussed this issue with the SoftDevice team, and they do not believe adjusting the connection interval to 50 ms will have fixed the issue, just reduced the likelihood / frequency of it occurring. We have not been able to reproduce it ourself yet, so we wonder if you can do a bit more testing to narrow this down? Particularily, we wonder if you can test with&amp;nbsp;NRF_SDH_BLE_GAP_DATA_LENGTH set to 27 and using 7.5 ms as connection interval. Do you still get the assert in that case?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/360086?ContentTypeID=1</link><pubDate>Fri, 25 Mar 2022 16:38:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac347226-c1b9-40c8-943f-98a47ef37616</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;I think I was able to solve this issue. I was using connection interval 7.5mS (min&amp;nbsp;and&amp;nbsp;max) for the peripheral device. This was probably causing the central devices to assert when the distance was increased. I changed the connection interval to 50mS (min&amp;nbsp;and max) for the peripheral, and I do not get this issue anymore.&lt;/p&gt;
&lt;p&gt;I didn&amp;#39;t have much luck with the sniffer as it kept losing the connection packets, although the dataloggers and router were still connected. Hence, I was unable to get a sniffer trace for when the issue happens. Please see the attached sniffer trace that I was able to get with the 50mS connection interval.&lt;/p&gt;
&lt;p&gt;I am planning to connect at least 5 dataloggers to the router. Please let me know what would be the best connection interval to use for this, or how I could calculate it for coded PHY.&lt;/p&gt;
&lt;p&gt;Thanks for all your help.&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/Sniffer_5F00_output.pcapng"&gt;devzone.nordicsemi.com/.../Sniffer_5F00_output.pcapng&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359711?ContentTypeID=1</link><pubDate>Thu, 24 Mar 2022 07:34:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5861081-bb6a-4361-8916-a06f584e8b79</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for the info, and good to hear you found out how to make the sniffer trace. We look forward to getting that.&lt;/p&gt;
[quote user="CodeVader"]1. I am not sure what encoding it uses, where can I find this information?[/quote]
&lt;p&gt;As I see from 3 that you are using the SoftDevice in both ends,&amp;nbsp;so then you are using S=8 (it does not have APIs for sending S=2, but it can receive S=2 packets sent by a peer that use it).&lt;/p&gt;
[quote user="CodeVader"]2. Please see the log below for successful connection:[/quote]
&lt;p&gt;Thanks. I do not see a log indicating data length update (DLE), but as I don&amp;#39;t know your code I cannot see if you do any logging when that (potentially) happens (on the BLE_GAP_EVT_DATA_LENGTH_UPDATE event)? We will also see this from the sniffer trace when we get it, though.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359701?ContentTypeID=1</link><pubDate>Thu, 24 Mar 2022 05:27:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da8c6b31-0bf6-4d55-b5ae-79ea1e56d245</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Ignore point 4. I have figured out how to trace coded PHY. I will send you the trace soon. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359666?ContentTypeID=1</link><pubDate>Wed, 23 Mar 2022 18:06:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a88c9978-4ed5-44b6-ac16-1aa063d580ab</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;1. I am not sure what encoding it uses, where can I find this information?&lt;/p&gt;
&lt;p&gt;2. Please see the log below for successful connection:&lt;/p&gt;
&lt;p&gt;[00:00:52.665,649] &amp;lt;info&amp;gt; app: m_ble_central_connect&lt;br /&gt;[00:00:52.666,564] &amp;lt;info&amp;gt; app: Display-&amp;gt; BLE: 6. CONNECT!&lt;br /&gt;[00:00:52.674,621] &amp;lt;info&amp;gt; app: scan_start() -&amp;gt; 1&lt;br /&gt;[00:00:53.330,627] &amp;lt;info&amp;gt; app: scan_evt_handler() -&amp;gt; Connected RSSI = -45&lt;br /&gt;[00:00:53.330,688] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; Connected, handle: 0.&lt;br /&gt;[00:00:53.395,019] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_PARAMS_REQ&lt;br /&gt;[00:00:53.395,141] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_START&lt;br /&gt;[00:00:53.395,202] &amp;lt;info&amp;gt; app: PM_EVT_SLAVE_SECURITY_REQ&lt;br /&gt;[00:00:53.484,802] &amp;lt;info&amp;gt; app: gatt_evt_handler() -&amp;gt; GATT ATT MTU on connection 0x0 changed to 247.&lt;br /&gt;[00:00:53.484,924] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; Current MTU: 247&lt;/p&gt;
&lt;p&gt;[00:00:53.516,418] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_PARAMS_REQ&lt;br /&gt;[00:00:54.034,729] &amp;lt;info&amp;gt; peer_manager_handler: Connection secured: role: Central, conn_handle: 0, procedure: Bonding&lt;br /&gt;[00:00:54.034,973] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_SUCCEEDED&lt;br /&gt;[00:00:54.035,034] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; BLE_GAP_EVT_AUTH_STATUS: status=0x0 bond=0x1 lv4: 0 kdist_own:0x3 kdist_peer:0x3&lt;br /&gt;[00:00:54.039,611] &amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Bonding data, action: Update&lt;br /&gt;[00:00:54.039,672] &amp;lt;info&amp;gt; app: PM_EVT_PEER_DATA_UPDATE_SUCCEEDED&lt;br /&gt;[00:00:54.041,564] &amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update&lt;br /&gt;[00:00:54.041,564] &amp;lt;info&amp;gt; app: PM_EVT_PEER_DATA_UPDATE_SUCCEEDED&lt;br /&gt;[00:00:54.043,518] &amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Local database, action: Update&lt;br /&gt;[00:00:54.043,579] &amp;lt;info&amp;gt; app: PM_EVT_PEER_DATA_UPDATE_SUCCEEDED&lt;br /&gt;[00:00:54.054,870] &amp;lt;info&amp;gt; app: ble_trs_c_evt_handler() -&amp;gt; Discovery complete.&lt;br /&gt;[00:00:54.054,870] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_PARAMS_REQ&lt;br /&gt;[00:00:54.054,992] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_START&lt;br /&gt;[00:00:54.055,114] &amp;lt;info&amp;gt; app: ble_trs_c_evt_handler() -&amp;gt; Connected TRS Service.&lt;br /&gt;[00:00:54.056,457] &amp;lt;info&amp;gt; app: scan_start() -&amp;gt; 0&lt;br /&gt;[00:00:54.474,304] &amp;lt;info&amp;gt; peer_manager_handler: Connection secured: role: Central, conn_handle: 0, procedure: Encryption&lt;br /&gt;[00:00:54.474,304] &amp;lt;info&amp;gt; peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change&lt;br /&gt;[00:00:54.474,365] &amp;lt;info&amp;gt; app: PM_EVT_PEER_DATA_UPDATE_SUCCEEDED&lt;br /&gt;[00:00:54.474,365] &amp;lt;info&amp;gt; app: PM_EVT_CONN_SEC_SUCCEEDED&lt;br /&gt;[00:00:58.553,955] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; Parameters update success.&lt;br /&gt;[00:01:04.067,260] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE&lt;br /&gt;[00:01:04.120,300] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE&lt;br /&gt;[00:01:04.136,779] &amp;lt;info&amp;gt; app: m_peripherals_capacitor_sample&lt;br /&gt;[00:01:04.140,258] &amp;lt;info&amp;gt; app: m_ble_central_txrx&lt;br /&gt;[00:01:04.141,174] &amp;lt;info&amp;gt; app: Display-&amp;gt; BLE: 7. TXRX!&lt;br /&gt;[00:01:04.157,226] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE&lt;br /&gt;[00:01:04.180,053] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE&lt;br /&gt;[00:01:04.240,905] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE&lt;br /&gt;[00:01:07.653,930] &amp;lt;info&amp;gt; app: m_peripherals_capacitor_sample&lt;br /&gt;[00:01:07.657,409] &amp;lt;info&amp;gt; app: m_ble_central_disconnect&lt;br /&gt;[00:01:07.658,325] &amp;lt;info&amp;gt; app: Display-&amp;gt; BLE: 8. DISCON!&lt;br /&gt;[00:01:07.696,960] &amp;lt;info&amp;gt; app: ble_trs_c_evt_handler() -&amp;gt; Disconnected.&lt;br /&gt;[00:01:07.696,960] &amp;lt;info&amp;gt; app: on_ble_central_evt() -&amp;gt; Disconnected, handle: 0, reason: 0x16&lt;/p&gt;
&lt;p&gt;3. Both datalogger and router are&amp;nbsp;&lt;span&gt;nRF52840 with SDK 16 and S140 7.0.1.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4. I&amp;#39;m not sure if I can get a sniffer trace&amp;nbsp;for coded PHY using the nrf52840dk_dongle. Is there a way I can do this?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359507?ContentTypeID=1</link><pubDate>Wed, 23 Mar 2022 07:44:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59b85155-955f-41df-900f-ce6d4699361a</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for the information.&amp;nbsp;I have discussed this with the SoftDevice team and they have some more questions in order to hopefully better understand the situation:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Does the link use S2 or S8 encoding?&lt;/li&gt;
&lt;li&gt;Are there any data length updates?&lt;/li&gt;
&lt;li&gt;Are only the datalogger an nRF, or are both device types nRF devices, and both nRF52840 with SDK 16 and S140 7.0.1?&lt;/li&gt;
&lt;li&gt;Can you make a sniffer trace of the connection, preferably including what happens up to you get the assert? In that case it would be good to have the sniffer close to the asserting device (datalogger) to get the timings to match as good as possible with what is seen by the asserting device.&lt;/li&gt;
&lt;/ol&gt;
[quote user="CodeVader"]I used to get&amp;nbsp;NRF_ERROR_NO_MEM error from&amp;nbsp;timer_req_schedule() in app_timer2.c. This error use to happen in similar intermittency as the softdevice assert.[/quote]
&lt;p&gt;This should be independent of the SoftDevice, so I do not immediately see a connection. But we will keep it in mind.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359413?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2022 14:41:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d22fa334-63fc-415f-a2cd-013aa29c08a1</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;Yes,&amp;nbsp;the datalogger has a single link in the central role. It also acts as a peripheral device using 1MBPS PHY, advertising at 1 second.&amp;nbsp;The peripheral and central role can be simultaneous. When the error occurred the peripheral was in advertising state. I have also seen the error occur with the advertising disabled.&lt;/p&gt;
&lt;p&gt;Yes, I have confirmed the error occurs with distance (more than 3 tests).&lt;/p&gt;
&lt;p&gt;I have done a distance test with 3 dataloggers and 1 router. During this test I tried increased distances of up to 100 meters. There were a quite a few packet drops (I saw the failure to communicate via BLE at the router end). Only one of the dataloggers had a reset.&lt;/p&gt;
&lt;p&gt;As far as the LFCLK goes, I use the LFXO.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;// Low frequency clock source to be used by the SoftDevice&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NRF_CLOCK_LFCLKSRC&lt;/span&gt;&lt;span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .source = NRF_CLOCK_LF_SRC_XTAL, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .rc_ctiv = &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .rc_temp_ctiv = &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;No, I do not use high duty cycle directed advertising.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;On a side note, I do have a few app_timers running. I used to get&amp;nbsp;NRF_ERROR_NO_MEM error from&amp;nbsp;timer_req_schedule() in app_timer2.c. This error use to happen in similar intermittency as the softdevice assert. I was getting this error before the softdevice error showed up. I enabled&amp;nbsp;APP_TIMER_WITH_PROFILER in the sdk_config.h and I stopped getting this error. I am not sure but does this have something to do with this issue. I also increased the&amp;nbsp;APP_TIMER_CONFIG_OP_QUEUE_SIZE to 50. I donot get the&amp;nbsp;&lt;span&gt;NRF_ERROR_NO_MEM&amp;nbsp;issue anymore.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;I have attached the sdk_config.h file.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/3058.sdk_5F00_config.h"&gt;devzone.nordicsemi.com/.../3058.sdk_5F00_config.h&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359317?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2022 09:57:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59df95c6-33ea-4032-99d1-a166a64a989e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="CodeVader"]I also tried using APP_IRQ_PRIORITY_LOW_MID&amp;nbsp;&lt;span&gt;for UART0. This gave me the same error as&amp;nbsp;APP_IRQ_PRIORITY_MID&lt;/span&gt;[/quote]
&lt;p&gt;That is good to know, as&amp;nbsp;_PRIO_APP_LOW_MID is lower priority than&amp;nbsp;_PRIO_SD_LOW. If you don&amp;#39;t have any other higher&amp;nbsp;application interrupts, we can ignore those going forward.&lt;/p&gt;
&lt;p&gt;In a nutshell you get this assert on the central device (datalogger), which has a single link in the central role, right? Is that the only role this device has or does it also maintain other connections, scan and/or advertise while in the connection?&lt;/p&gt;
&lt;p&gt;You write that you&amp;nbsp;see this more with increased distance to the peer (router). Have you confirmed that this is consistent?&amp;nbsp; What happens on your central device if the throughput is lower than you normally would need (for instance caused by packet drops)?&lt;/p&gt;
&lt;p&gt;I discussed this with the SoftDevice team and they have some questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which LFCLK source are you using? LFXO or LFRC?&amp;nbsp;What is your clock configuration (NRF_SDH_CLOCK_LF_* defines in sdk_config.h)?&lt;/li&gt;
&lt;li&gt;Do you buy any chance use high duty cycle directed advertising? (I see no indication of that in what you have written, but we fixed a bug related to that in SoftDevice 7.1 which has some similarities).&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359223?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2022 17:59:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:deccef50-8a28-4e79-b235-8f7093070add</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Also, yes I did not break or step while in debug. The debugger paused on its own, I have no break points set in code.&lt;/p&gt;
&lt;p&gt;I also tried using APP_IRQ_PRIORITY_LOW_MID&amp;nbsp;&lt;span&gt;for UART0. This gave me the same error as&amp;nbsp;APP_IRQ_PRIORITY_MID at&amp;nbsp;0x00020D48.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359198?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2022 15:37:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec2981dd-d225-4f96-a22d-54800b9e11af</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;I have 2 central devices (datalogger) connected to 1 peripheral device (router). I use&amp;nbsp;coded PHY for the communication. I usually do not get any error when the router is close (&amp;lt;5m approx.) to the dataloggers. When the router is placed further away (&amp;gt;10m approx.), I get this issue intermittently at the datalogger. Both dataloggers are sending data to the router, connected at 7.5mS connection interval.&lt;/p&gt;
&lt;p&gt;For both applications all my interrupts are set to&amp;nbsp;APP_IRQ_PRIORITY_LOW, except for the cellular modem communicating via UART is set to&amp;nbsp;APP_IRQ_PRIORITY_MID at the router. Could this be the cause of the issue? I tried setting it to&amp;nbsp;APP_IRQ_PRIORITY_LOW, but I get a lot of errors while communicating with the modem when I do this. I am using app_uart_fifo library for&amp;nbsp;communicating with the modem. I think the higher priority IRQ BLE library causes some of the bytes to be missed while the UART is communicating when set to&amp;nbsp;&lt;span&gt;APP_IRQ_PRIORITY_LOW. How could I solve this issue?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/359091?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2022 11:42:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f01c01c-e4bb-416d-a3aa-26889cd6dd60</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks, this is wat I was looking for. 0x020d46 is the location of an assert in S140 7.0.1.&lt;/p&gt;
&lt;p&gt;Can you say more about when you get this assert? And your interrupt configuration? (Which interrupt priorities do you have for other interrupts in the system?).&lt;/p&gt;
&lt;p&gt;Also, note that if you debug wile in a connection you cannot break or step or similar, or the SoftDevice will assert - so&amp;nbsp;please double check that that was not what happened here.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/358903?ContentTypeID=1</link><pubDate>Fri, 18 Mar 2022 14:22:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4fc203e4-99b9-4ba8-8c31-5dbf597d42fb</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/Continue_5F00_code_5F00_error.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/358902?ContentTypeID=1</link><pubDate>Fri, 18 Mar 2022 14:21:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67e5a778-1b63-469b-b08f-b0c5e4489e6a</guid><dc:creator>CodeVader</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;Thanks for getting back to me. I usually see&amp;nbsp;&lt;span&gt;SOFTDEVICE: ASSERTION FAILED after I click on continue running the code.&amp;nbsp;Although, this time I got this error as shown in the attached picture.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I will try and recreate this issue today and get back to you with a screenshot of the SOFTDEVICE: ASSERTION FAILED.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Any idea as to why the softdevice paused the code based on the previous screenshot? I&amp;#39;m guessing the issue was caused at 0x00020D48.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SOFTDEVICE: ASSERTION FAILED PC=0x00000A60</title><link>https://devzone.nordicsemi.com/thread/358869?ContentTypeID=1</link><pubDate>Fri, 18 Mar 2022 13:00:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed7a95fd-c98e-4fdc-bd73-350c3dc6205a</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You write th t you get a&amp;nbsp;SOFTDEVICE: ASSERTION FAILED but I do not see the relevant address for that. Can you double check&amp;nbsp;to verify that you actually see a SoftDevice assert and get the PC&amp;nbsp;from then? (There is no SoftDevice assert for S140 7.0.1 at 0x00000A60).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>