<?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>SLM modem sometimes doesn&amp;#39;t process AT#XSEND</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/125504/slm-modem-sometimes-doesn-t-process-at-xsend</link><description>I&amp;#39;m seeing an issue where nrf91 SLM, running as an AT modem over UART, sometimes chokes on XSEND command and doesn&amp;#39;t respond until the host (nrf54) sends another AT command, and then the commands get concattenated and error. 
 Here&amp;#39;s the log on the HOST</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 14 Nov 2025 21:07:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/125504/slm-modem-sometimes-doesn-t-process-at-xsend" /><item><title>RE: SLM modem sometimes doesn't process AT#XSEND</title><link>https://devzone.nordicsemi.com/thread/554432?ContentTypeID=1</link><pubDate>Fri, 14 Nov 2025 21:07:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b44808f7-ddc3-42fd-9a20-d98876317256</guid><dc:creator>Konstantin Klitenik</dc:creator><description>&lt;p&gt;That seems to have fixed it. I&amp;#39;ll keep monitoring to see if the issue comes back.&lt;/p&gt;
&lt;p&gt;Please make sure this config makes it into the new SLM repo:&amp;nbsp;&lt;a id="" href="https://github.com/nrfconnect/ncs-serial-modem"&gt;https://github.com/nrfconnect/ncs-serial-modem&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SLM modem sometimes doesn't process AT#XSEND</title><link>https://devzone.nordicsemi.com/thread/554059?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 07:37:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8bf8d658-1c9f-448c-b947-db98625bc16f</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;do you have the following settings in prj.conf? If not could you please try adding and test your application?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;CONFIG_UART_2_NRF_HW_ASYNC_TIMER=2
CONFIG_UART_2_NRF_HW_ASYNC=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SLM modem sometimes doesn't process AT#XSEND</title><link>https://devzone.nordicsemi.com/thread/553889?ContentTypeID=1</link><pubDate>Mon, 10 Nov 2025 22:38:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:285c0a45-5332-4568-bc66-cb5ad17e7a0b</guid><dc:creator>Konstantin Klitenik</dc:creator><description>&lt;p&gt;I don&amp;#39;t have traces but I did more digging and it seems to be related to the timing between sending AT#XSEND and the EOL (\r\n). Zephyr&amp;#39;s `modem_cmd_handler.c` handles this as 2 writes&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;iface&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;write&lt;/span&gt;&lt;span&gt;(iface, buf, &lt;/span&gt;&lt;span&gt;strlen&lt;/span&gt;&lt;span&gt;(buf));&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;iface&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;write&lt;/span&gt;&lt;span&gt;(iface, data&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;eol&lt;/span&gt;&lt;span&gt;, data&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;eol_len&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/code&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;So, depending on what else is happening in the application, there could be a meaningful delay between the two. I noticed that when the delay is right around 2ms, the last byte of the EOL (\n) is missed.If the delay is shorter or longer (&amp;gt;3ms), then everything works fine. 2ms just happens to be the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;UART_RX_TIMEOUT_US&amp;nbsp;&lt;/span&gt;on the SLM.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;In this case, note that the logic analyzer shows \r\n being sent. But only \r is received. I&amp;#39;ll post the AI assessment of the UART issue below.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&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/Screenshot-2025_2D00_11_2D00_10-at-5.15.55_2F20_PM.png" alt=" " /&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&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/Screenshot-2025_2D00_11_2D00_10-at-5.25.15_2F20_PM.png" alt=" " /&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;AI assessment:&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1j9nugc7c0"&gt;&lt;span&gt;The Race Con&lt;/span&gt;&lt;span&gt;dition&lt;/span&gt;&lt;/h2&gt;
&lt;span&gt;When t&lt;/span&gt;&lt;span&gt;he delay is just over 2ms:&lt;/span&gt;
&lt;ol&gt;
&lt;li value="1" data-indent="0"&gt;&lt;span&gt;Fir&lt;/span&gt;&lt;span&gt;st part of com&lt;/span&gt;&lt;span&gt;mand arrives (e.g&lt;/span&gt;&lt;span&gt;.,&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;AT#XSEND=...&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li value="2" data-indent="0"&gt;&lt;span&gt;Timer starts counti&lt;/span&gt;&lt;span&gt;ng down from&amp;nbsp;&lt;/span&gt;&lt;span&gt;2000us&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li value="3" data-indent="0"&gt;&lt;span&gt;At&amp;nbsp;&lt;/span&gt;&lt;span&gt;~2000us: timeout f&lt;/span&gt;&lt;span&gt;ires &amp;rarr;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;rx_timeout(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;executes&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li value="4" data-indent="0"&gt;&lt;span&gt;At&lt;/span&gt;&lt;span&gt;&amp;nbsp;~2000us:&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;RX&lt;/span&gt;&lt;span&gt;DRDY&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;is chec&lt;/span&gt;&lt;span&gt;ked &amp;rarr; likely f&lt;/span&gt;&lt;span&gt;alse (no new&lt;/span&gt;&lt;span&gt;&amp;nbsp;byte yet)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li value="5" data-indent="0"&gt;&lt;span&gt;At ~&lt;/span&gt;&lt;span&gt;2001us:&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;byte&lt;/span&gt;&lt;span&gt;&amp;nbsp;arrives on UART l&lt;/span&gt;&lt;span&gt;ine&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li value="6" data-indent="0"&gt;&lt;span&gt;At ~2001us&lt;/span&gt;&lt;span&gt;:&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;STOPRX&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;is triggered (fro&lt;/span&gt;&lt;span&gt;m step 4)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;li value="7" data-indent="0"&gt;&lt;span&gt;Re&lt;/span&gt;&lt;span&gt;sult:&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;ma&lt;/span&gt;&lt;span&gt;y be missed be&lt;/span&gt;&lt;span&gt;cause:&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul class="nested"&gt;
&lt;li class="nested" data-indent="3"&gt;&lt;span&gt;It arri&lt;/span&gt;&lt;span&gt;ves after th&lt;/span&gt;&lt;span&gt;e timeout check&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class="nested"&gt;
&lt;li class="nested" data-indent="3"&gt;&lt;span&gt;&lt;span&gt;STOPRX&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;may interr&lt;/span&gt;&lt;span&gt;upt an in-flight byt&lt;/span&gt;&lt;span&gt;e&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class="nested"&gt;
&lt;li class="nested" data-indent="3"&gt;&lt;span&gt;The&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;ENDRX&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;event may fire before&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;is fully received&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1j9nugc7c1"&gt;&lt;span&gt;Why Sh&lt;/span&gt;&lt;span&gt;orter/Longer Delays Work&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li data-indent="0"&gt;&lt;span&gt;Shorter dela&lt;/span&gt;&lt;span&gt;y (&amp;lt; 2ms): All&lt;/span&gt;&lt;span&gt;&amp;nbsp;bytes arrive wit&lt;/span&gt;&lt;span&gt;hin the timeou&lt;/span&gt;&lt;span&gt;t window &amp;rarr; batched&lt;/span&gt;&lt;span&gt;&amp;nbsp;together &amp;rarr;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;\&lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;included&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li data-indent="0"&gt;&lt;span&gt;Lo&lt;/span&gt;&lt;span&gt;nger delay (&amp;gt;&amp;gt; 2ms): First&lt;/span&gt;&lt;span&gt;&amp;nbsp;part times out and is s&lt;/span&gt;&lt;span&gt;ent &amp;rarr; \r&lt;/span&gt;&lt;span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;arrives late&lt;/span&gt;&lt;span&gt;r as a separa&lt;/span&gt;&lt;span&gt;te transmission&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;rarr; gets its own even&lt;/span&gt;&lt;span&gt;t&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SLM modem sometimes doesn't process AT#XSEND</title><link>https://devzone.nordicsemi.com/thread/553864?ContentTypeID=1</link><pubDate>Mon, 10 Nov 2025 15:43:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0a22fc16-ee11-4081-b07c-b7088276093a</guid><dc:creator>&amp;#216;yvind</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;From the added HOST (nrf54) logs we can see the following:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;[00:00:17.735,136] &amp;lt;wrn&amp;gt; comms: Not connected to AWS, waiting 5 seconds
[00:00:18.192,960] &amp;lt;err&amp;gt; modem_nrf91: AT#XSEND failed or timed out (err -116)
[00:00:18.192,992] &amp;lt;err&amp;gt; net_sock_tls: TLS handshake error: -0x4e&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Are you able to share modem traces from the nRF91, and full logs from both HOST and NRF91?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Øyvind&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>