<?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>Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/123888/bug-in-nrf-uarte-driver-async-rx-buffer-handling</link><description>Hello! 
 I am stress-testing the nRF54L15 devkit by sending it random-sized chunks of data over UART at 921600 baud, which the devkit code receives using the asynchronous API in Zephyr 4.0.99. 
 The test always fails after some time, the symptom is that</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 07 Nov 2025 09:09:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/123888/bug-in-nrf-uarte-driver-async-rx-buffer-handling" /><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/553641?ContentTypeID=1</link><pubDate>Fri, 07 Nov 2025 09:09:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:350617cd-d07a-442c-a977-481ccb53eb12</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;we are working on this bug. I will let you know if there is an update.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/553056?ContentTypeID=1</link><pubDate>Fri, 31 Oct 2025 15:46:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6387feca-b2bd-47f2-98ed-f03077292348</guid><dc:creator>Tom Weber</dc:creator><description>&lt;p&gt;Same here. I increased the timeout to 200 us (about 20 bytes) as a workaround.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/552996?ContentTypeID=1</link><pubDate>Fri, 31 Oct 2025 11:30:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3fd40c9-79da-4445-9fd0-7068aed1fe9d</guid><dc:creator>ahmed-dl</dc:creator><description>&lt;p&gt;Hi, is there any work towards fixing this bug? We are using high baudrate of 1M without flow control and low timeouts of 100us and see this problem. When increasing the timeout to 1ms we don&amp;#39;t see this problem anymore.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/552986?ContentTypeID=1</link><pubDate>Fri, 31 Oct 2025 10:42:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed93132e-9673-4446-a92d-86bb3e13689d</guid><dc:creator>ahmed-dl</dc:creator><description>&lt;p&gt;&lt;br /&gt;&lt;span&gt;I&amp;#39;m currently experiencing the same bug when using no HW flow control. I also saw that the problem goes away when using higher timeouts.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Did you find a better workaround or solution for this problem?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/549675?ContentTypeID=1</link><pubDate>Wed, 24 Sep 2025 12:24:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ea2994a-5c4a-4abb-8702-ebd88f0eb157</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It looks like a bug in the driver; the driver intentionally handle the ENDRX first before UART_RX_BUF_REQUEST (RXSTARTED event) for other reasons. In case of short buffer that event order may happen and that is unexpected. I think you have used high baud rate?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/548727?ContentTypeID=1</link><pubDate>Mon, 15 Sep 2025 11:02:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a82efb69-7c6e-42cc-9b95-bb82c9a19af3</guid><dc:creator>Tom Weber</dc:creator><description>&lt;p&gt;What baud rate and Rx timeout are you using?&lt;/p&gt;
&lt;p&gt;My workaround for now is to use a longer timeout, it means the bug will not get triggered.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/548659?ContentTypeID=1</link><pubDate>Sat, 13 Sep 2025 22:59:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9894e257-c194-413b-bff5-d2e5ba34cbfa</guid><dc:creator>helpfulchicken</dc:creator><description>&lt;p&gt;I had a similar issue (I think, I may be wrong in my understanding of your issue) where using the asynchronous UART driver I would get missed and corrupted bytes received.&lt;/p&gt;
&lt;p&gt;I stumbled on a solution to my issue in some sample code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;While using async UART API:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_UART_ASYNC_API=y
CONFIG_UART_INTERRUPT_DRIVEN=n&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I would see corrupted and missed Rx bytes intermittently.&lt;/p&gt;
&lt;p&gt;I found that the issue went away if I added the following:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_UART_0_ASYNC=y
CONFIG_UART_0_INTERRUPT_DRIVEN=n
CONFIG_UART_0_NRF_HW_ASYNC=y
CONFIG_UART_0_NRF_HW_ASYNC_TIMER=2
CONFIG_NRFX_TIMER2=y

CONFIG_UART_1_ASYNC=y
CONFIG_UART_1_INTERRUPT_DRIVEN=n
CONFIG_UART_1_NRF_HW_ASYNC=y
CONFIG_UART_1_NRF_HW_ASYNC_TIMER=3
CONFIG_NRFX_TIMER3=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In my use case, I am using both uart0 and uart1.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bug in nRF UARTE driver, async Rx buffer handling</title><link>https://devzone.nordicsemi.com/thread/546650?ContentTypeID=1</link><pubDate>Mon, 25 Aug 2025 14:11:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b17a5d3-19b6-4d36-b6c4-88d879a6b667</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;The UARTE peripheral on&amp;nbsp;Dks is known to have limitations in signaling partial buffer fills. I am not aware if we have some woraround for nRF54L15.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;I have asked team. I will come back to you later.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Thanks.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;BR&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Kazi&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>