<?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>CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/89834/ccm-failed-at-micstatus-check</link><description>Hello Nordic team, 
 I&amp;#39;m developing a proprietary radio protocol and I&amp;#39;m using CCM peripheral for on-the-fly encryption. The packets seem to be correctly encrypted and decrypted at receiving site. Ho wever the MICSTATUS register is almost always set on</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 30 Aug 2022 22:22:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/89834/ccm-failed-at-micstatus-check" /><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/383996?ContentTypeID=1</link><pubDate>Tue, 30 Aug 2022 22:22:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0db460fc-e1a8-4670-9015-3e7749409ecc</guid><dc:creator>Emil Lenngren</dc:creator><description>&lt;p&gt;Some debugging tips:&lt;/p&gt;
&lt;p&gt;1. Try to figure out if it&amp;#39;s the encrypting + tag calculation that produces an incorrect result or if it is the decryption + tag validation that is incorrect. You can do that by skipping decryption when you receive the packet, and then decrypt and verify the tag manually with a generic AES-CCM library. If the result is correct, then it&amp;#39;s the receiving part that fails.&lt;/p&gt;
&lt;p&gt;2. The CCM module is built for BLE, which assumes LFLEN+S1LEN=8. If you set this to something else, it might affect the radio timing for when the CCM module starts to read each byte from RAM. My recommendation is to move &amp;quot;packetId&amp;quot; to the payload part instead, setting S1LEN to 0. As a bonus, packetId will then also be encrypted and authenticated. One thing that concerns me though is how you will be able to supply a unique and correct IV if you use real-time decryption. I assume your protocol can receive from any sender and you have unique keys or IV per sender, but that would be incompatible with on-the-fly-decryption since you need to set the key and IV before the packet is received.&lt;/p&gt;
&lt;p&gt;3. Make sure the ccmScratchArea is big enough (16 + MAXPACKETSIZE). And generally make sure all other buffers are big enough. Your code posted does not show how big your buffers are.&lt;/p&gt;
&lt;p&gt;4. When you test with CRC=0, make sure to wait for EVENTS_ENDCRYPT before you read MICSTATUS, since it&amp;#39;s&amp;nbsp;not documented&amp;nbsp;how long time it takes for the CCM module to complete after the final MIC bit has been received.&lt;/p&gt;
&lt;p&gt;5. Test to start decryption when the radio packet has been fully received, instead of on-the-fly. You can try the same with encryption also; don&amp;#39;t send the packet until the encryption is complete. That will let you test and verify the correctness of the CCM module irrespective of radio settings. If you get a different result after enabling on-the-fly encryption/decryption, then some timings are incorrect.&lt;/p&gt;
&lt;p&gt;6. Test with the BLE 1 MBit/s setting and in general apply the same radio settings as BLE uses, since we all know that the CCM module works correctly in this mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/383871?ContentTypeID=1</link><pubDate>Tue, 30 Aug 2022 10:53:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3543673c-6c4c-4e39-92d8-2299594dd119</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;One thing I notice, from your code I can find that:&lt;/p&gt;
&lt;p&gt;// Enable PPI channel between EVENTS_ADDRESS and TASKS_CRYPT&lt;br /&gt; NRF_PPI-&amp;gt;CHENSET = (PPI_CHENSET_CH25_Set &amp;lt;&amp;lt; PPI_CHENSET_CH25_Pos);&lt;/p&gt;
&lt;p&gt;However looking at the zephyr implementation I can find they are doing this differently (they don&amp;#39;t have a ppi between event address and task crypt, instead they have a delay by using events bcmatch to trigger task crypt:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c#L1498"&gt;https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c#L1498&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_ppi.h#L199"&gt;https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_ppi.h#L199&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5.h#L33"&gt;https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5.h#L33&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;From the comments I can find the following:&lt;/p&gt;
&lt;p&gt;/* Configure Bit counter to trigger EVENTS_BCMATCH for CCM_TASKS_CRYPT-&lt;br /&gt; * _DELAY_BITS bit. This is a time required for Radio to store&lt;br /&gt; * received data in memory before the CCM TASKS_CRYPT starts. This&lt;br /&gt; * makes CCM to do not read the memory before Radio stores received&lt;br /&gt; * data.&lt;br /&gt; */&lt;/p&gt;
&lt;p&gt;Maybe you can try this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/383705?ContentTypeID=1</link><pubDate>Mon, 29 Aug 2022 13:00:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed04ac7f-f000-4c1e-85ba-d4a4d778f833</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Let me check internally if someone can take a look now.&lt;/p&gt;
&lt;p&gt;I did find that the LL in zephyr contain source code on how it&amp;#39;s used in case that may provide any value, ref:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_conn.c"&gt;https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_conn.c&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c"&gt;https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/383430?ContentTypeID=1</link><pubDate>Fri, 26 Aug 2022 09:44:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0411aae7-ade8-45a5-ac1f-be72e25239a3</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;Hello &lt;a href="https://devzone.nordicsemi.com/members/kme"&gt;Kenneth&lt;/a&gt; is there any update in this issue?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/377114?ContentTypeID=1</link><pubDate>Fri, 15 Jul 2022 08:41:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3e51b98-4b76-4509-a820-9001fea80dde</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Sure, likely someone can comment in the middle of August. I am not aware of any other examples no.&lt;/p&gt;
&lt;p&gt;Edit: I am on vacation until 15th of August, so will not be able to follow up on this before I am back from vacation.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/377046?ContentTypeID=1</link><pubDate>Thu, 14 Jul 2022 19:50:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:924a711c-6d85-4f3a-9a7c-16513331d2a5</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;Can we to &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;postpone&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; this until one of designers is &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;available again? If there is some specific requirements I think it&amp;#39;s worth asking, and event put in documentation. And I really need this code to work. I can disable CRC for now but it may turn out&lt;span class="zEswK"&gt;&lt;span class="yieiFb"&gt;&lt;/span&gt;&lt;/span&gt; this is only cover some bug or it stop working at some point anyway.&amp;nbsp; Regarding work with code from Github, it&amp;#39;s not using interrupts and I need that and on-the-fly encryption to meet project time requirements, unless you have example with on-the-fly encryption and interrupts? That would be very helpful.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376760?ContentTypeID=1</link><pubDate>Wed, 13 Jul 2022 11:26:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08acb8c6-23c3-4cb7-a1c3-0ad7a0754fcc</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;At the moment most of the designers are on vacation, so I am not able to get their comment whether there are some combinations of requirements that needs to be satisfied. Until they are back my best suggestion is to still work on following the github repo I shared earlier as close as possible.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376659?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2022 16:17:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2fb7a3e-ee22-4b38-ab4b-b31a938372cb</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;It&amp;#39;s getting weird now. I just &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;found that when I set static payload to number of bytes in CRC, then MIC is valid, even when CRC is enabled. Somehow this extra space for CRC making MIC work. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;Does anyone understand where this behavior comes from? &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;From what I understood from the documentation, the CRC is added at the end, regardless of the payload length. Whereas the MIC is added as an &amp;quot;extra payload&amp;quot;. How can they conflict with each other?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class="align-left" style="float:left;height:auto;max-width:1040px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/2080x0/__key/communityserver-discussions-components-files/4/pastedimage1657642338280v1.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376648?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2022 14:07:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a269940-96cb-46f5-a27b-0044e937c260</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;I just run the example from github. It works, but example uses Zephyr, I don&amp;#39;t (also my code is based on interrupts) so it&amp;#39;s hard to do any direct comparison. Anyway, it shows that CCM can work with proprietary mode with 2Mbit speed, in example MICSTATUS is validated.&lt;/p&gt;
&lt;p&gt;I also check what happen when I change mode to BLE_2Mbit, it&amp;#39;s kind a worked, but transmission was unreliable and most of a time data was &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;distorted, MIC field and CRC was never both &amp;quot;1&amp;quot;. I&amp;#39;m not sure what requirements this mode has.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="zEswK"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;I also tests almost all radio settings one by one, whitening, slower speed, preamble length, address length, S0 and S1 length, etc. Only &lt;span lang="en"&gt;&lt;span&gt;MAXPACKETSIZE &lt;/span&gt;&lt;/span&gt;and CRC has any impact on MIC field. When &lt;span lang="en"&gt;&lt;span&gt;MAXPACKETSIZE &lt;/span&gt;&lt;/span&gt;was smaller, MIC field was valid&amp;nbsp;often as I described in first post, and when I disable CRC, then MIC is always valid but i don&amp;#39;t have CRC. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;I can upload my code to Github if that will be any help.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376579?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2022 10:58:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1acaba9-e9cf-4cbf-a17d-5f8c4e130c38</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;That is odd, what I do know in general is that the CCM module have only been designed and qualifed with BLE in mind, so it could be that when used with proprietary nRF there is something occuring. Though have you tried to use the example on github as-is, does it happen then?&amp;nbsp;Is there any difference if you&amp;nbsp;use BLE 1Mbit mode instead of 1Mbit nRF mode?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376567?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2022 09:24:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ebb66ad0-bd91-486c-be16-98b9694b361f</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;I checked with all CRC setting 8, 16 and 24bit, only difference make if I disable CRC completely. I don&amp;#39;t understand why this is behave this way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376564?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2022 09:19:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:30c802cd-cd3f-4a00-84f8-722883bca77a</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;It should work with CRC, does it work with any length of CRC (e.g. 8, 16 or 24bit)? I know BLE use 24-bit, so I guess that should at least work.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376512?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 22:44:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:88b0340a-a7fe-441f-a093-277b746830c1</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;I just notice, that when I set CRC to disabled (zero bytes), MIC is always valid. Is CRC and MIC are in conflict somehow?&lt;/p&gt;
&lt;p&gt;CRC is on docs schematics, so it looks like it can be used with encryption.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:600px;" alt=" " src="https://infocenter.nordicsemi.com/topic/ps_nrf52840/ip/ccm/doc/image/onthefly_ppi_connection_ready_event.svg" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376496?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 17:38:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6900e1dc-f2af-4879-b0e8-e4d447e0f22b</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;M&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;y code basically originate from that example&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, I will &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;try to study this example further, but it doesn&amp;#39;t use interrupts, so it&amp;#39;s hard to compare. Maybe by trial and error I can find something.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;This is in most of the part handled by hardware, so I just run out of options, what else can I check in code to change this behavior. Please let me know if you have any suggestions.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376437?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 13:04:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:64d28886-b2b4-4899-bab1-96a9278b7e68</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;I suggest to try the example linked nevertheless just to verify for comparison.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376416?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 11:52:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0c27d68-103b-4ef6-bb0f-52f89449a178</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;I study this example letter by letter, &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;maybe I missed something, but I don&amp;#39;t see any significant differences.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;The radio configuration is:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- 2Mbit speed&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- 8-bit S0 and S1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- 8-bit length field&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- 8-bit preamble&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- 16 bit of CRC&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- max payload of 255 bytes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- 5 bytes address&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- little endian&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;- whitening enabled (without address due to errata)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;This is meet the&amp;nbsp;requirements of CCM on-the-fly encryption, right?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376407?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 11:38:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61027968-6244-4871-b4f5-636355e11aad</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Then I am not entirely sure, it could be that the radio configuration does not meet the&amp;nbsp;requirements set in these chapters (edit: corrected links for nRF52840):&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/ccm.html#unique_2057001550"&gt;https://infocenter.nordicsemi.com/topic/ps_nrf52840/ccm.html#unique_2057001550&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/ccm.html#unique_557723459"&gt;https://infocenter.nordicsemi.com/topic/ps_nrf52840/ccm.html#unique_557723459&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In any case, can you also look at:&lt;br /&gt;&lt;a href="https://github.com/NordicPlayground/nrf52-esb-ccm-example"&gt;https://github.com/NordicPlayground/nrf52-esb-ccm-example&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376384?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 10:25:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb12b445-67c3-4100-afed-91a44a3219c3</guid><dc:creator>MarekU</dc:creator><description>&lt;p&gt;Thank you for answer, I try this &lt;span class="VIiyi" lang="en"&gt;&lt;span class="JLqJ4b ChMk0b" data-language-for-alternatives="en" data-language-to-translate-into="pl" data-phrase-index="0" data-number-of-phrases="1"&gt;&lt;span class="Q4iAWc"&gt;earlier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, I also try this now just to be sure. It has no effect, it seems like EVENTS_ENDCRYPT is already done, when I read MICSTATUS.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: CCM failed at MICSTATUS check</title><link>https://devzone.nordicsemi.com/thread/376380?ContentTypeID=1</link><pubDate>Mon, 11 Jul 2022 10:06:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6601ca39-2657-4571-ad54-7c62522fd590</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;The radio may receive the packet before the CCM has finished. So on receive event, the application need to wait before processing the decrypted packet:&lt;br /&gt;/* Wait for CCM to complete */ while(NRF_CCM-&amp;gt;EVENTS_ENDCRYPT == 0) { __WFE(); }&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>