<?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>Help with serial DFU; &amp;quot;Failed to send data over serial interface!&amp;quot;</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/50379/help-with-serial-dfu-failed-to-send-data-over-serial-interface</link><description>I&amp;#39;m attempting to use the serial DFU bootloader to update my nRF52832 firmware but am unable to. I started by following this guide though I changed some things so that the uart and not the ble bootloader was loaded. My setup consists of a nRF52832 on</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Aug 2019 14:18:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/50379/help-with-serial-dfu-failed-to-send-data-over-serial-interface" /><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/206423?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 14:18:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bdecfb66-0cdd-46a6-b791-fdbb48128e22</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;HI nkrinsky,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I apologize for the late reply, I was on vacation the past week.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ok, so it the following part that&amp;#39;s not happening on the custom board.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
Last TX byte transmitted.
in function nrf_uarte_event_clear
in function nrf_uarte_tx_amount_get
in nrfx_uarte tx_done_event&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="nkrinsky"]They&amp;#39;re the same until the end, where the DK has a&amp;nbsp;NRF_UARTE_EVENT_ENDRX and then a&amp;nbsp;NRF_UARTE_EVENT_ENDTX event, and the custom board does not. Where in the code&amp;nbsp;do serial messages actually get sent? It seems the custom board is not entering that part.[/quote]
&lt;p&gt;It should be&amp;nbsp;nrfx_uarte_tx() in nrfx_uarte.c, which set the tx buffer using&amp;nbsp;nrf_uarte_tx_buffer_set() and then triggers the&amp;nbsp;NRF_UARTE_TASK_STARTTX task using&amp;nbsp;nrf_uarte_task_trigger().&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Do you have a way of checking that there is data on the UART lines of the custom board after the last nrfx_uarte_tx call that returns NRF_SUCCESS? i.e. a logic analyzer or an oscilloscope?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/204176?ContentTypeID=1</link><pubDate>Wed, 14 Aug 2019 22:15:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:831eb1ba-644e-467e-bf50-cbb6eb034f87</guid><dc:creator>nkrinsky</dc:creator><description>&lt;p&gt;Here&amp;#39;s what&amp;#39;s going on on the custom board:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Enter main loop
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
Receive buffer is filled up
in function nrf_uarte_event_clear
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTRX
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
reached end of uarte_irq_handler
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
Receive buffer is filled up
in function nrf_uarte_event_clear
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTRX
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
reached end of uarte_irq_handler
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
Receive buffer is filled up
in function nrf_uarte_event_clear
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTRX
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_dfu_serial_on_packet_received
Received ping 1
in function payload_free
in function nrf_dfu_req_handler_on_req
end of nrf_dfu_req_handler_on_req
Allocated buffer 20001764
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
reached end of uarte_irq_handler
in function nrf_dfu_req_handler_req
in function nrf_dfu_req_handler_req_process
Handle NRF_DFU_OP_PING
Request handling complete. Result: 0x1.
in function dfu_req_handler_rsp_clbk
p_res-&amp;gt;requestion != NRF_DFU_OP_OBJECT_WRITE
in function response send
Sending Response: [0x9, 0x1]
p_response-&amp;gt;result == NRF_DFU_RES_CODE_SUCCESS
p_response-&amp;gt;request = NRF_DFU_OP_PING
in function rsp_send
in nrf_drv_uart_tx
NRF_DRV_UART_USE_UARTE==true
in nrfx_uarte_tx
Transfer tx_len: 5.
Tx data:
60 9 1 1 C0 
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in nrf_uarte_tx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTTX
Function: nrfx_uarte_tx, error code: NRF_SUCCESS.&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And on the DK:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Enter main loop
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
Receive buffer is filled up
in function nrf_uarte_event_clear
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTRX
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
reached end of uarte_irq_handler
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
Receive buffer is filled up
in function nrf_uarte_event_clear
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTRX
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
reached end of uarte_irq_handler
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
Receive buffer is filled up
in function nrf_uarte_event_clear
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTRX
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_dfu_serial_on_packet_received
Received ping 1
in function payload_free
in function nrf_dfu_req_handler_on_req
end of nrf_dfu_req_handler_on_req
Allocated buffer 20001764
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
reached end of uarte_irq_handler
in function nrf_dfu_req_handler_req
in function nrf_dfu_req_handler_req_process
Handle NRF_DFU_OP_PING
Request handling complete. Result: 0x1.
in function dfu_req_handler_rsp_clbk
p_res-&amp;gt;requestion != NRF_DFU_OP_OBJECT_WRITE
in function response send
Sending Response: [0x9, 0x1]
p_response-&amp;gt;result == NRF_DFU_RES_CODE_SUCCESS
p_response-&amp;gt;request = NRF_DFU_OP_PING
in function rsp_send
in nrf_drv_uart_tx
NRF_DRV_UART_USE_UARTE==true
in nrfx_uarte_tx
Transfer tx_len: 5.
Tx data:
60 9 1 1 C0 
in function nrf_uarte_event_clear
in function nrf_uarte_event_clear
in nrf_uarte_tx_buffer_set
in nrf_uarte_task_trigger
task = NRF_UARTE_TASK_STARTTX
Function: nrfx_uarte_tx, error code: NRF_SUCCESS.
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ERROR, Error detected.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDRX, Receive buffer is filled up.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_RXTO, Receiver timeout.
in function nrf_uarte_event_check
NRF_UARTE_EVENT_ENDTX, Last TX byte transmitted.
Last TX byte transmitted.
in function nrf_uarte_event_clear
in function nrf_uarte_tx_amount_get
in nrfx_uarte tx_done_event&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;They&amp;#39;re the same until the end, where the DK has a&amp;nbsp;NRF_UARTE_EVENT_ENDRX and then a&amp;nbsp;NRF_UARTE_EVENT_ENDTX event, and the custom board does not. Where in the code&amp;nbsp;do serial messages actually get sent? It seems the custom board is not entering that part.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/202475?ContentTypeID=1</link><pubDate>Mon, 05 Aug 2019 15:20:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae0b81f8-8ddc-488a-948b-2427d8f9b735</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/nkrinsky"&gt;nkrinsky&lt;/a&gt;,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I apologize for not replying sooner.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;nrfx_uarte_0_irq_handler() will be invoked by any of the following events&lt;/p&gt;
&lt;table border="1" cellpadding="4" cellspacing="0" frame="border" rules="all" summary=""&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_CTS"&gt;EVENTS_CTS&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x100&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;CTS is activated (set low). Clear To Send.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_NCTS"&gt;EVENTS_NCTS&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x104&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;CTS is deactivated (set high). Not Clear To Send.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_RXDRDY"&gt;EVENTS_RXDRDY&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x108&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Data received in RXD (but potentially not yet transferred to Data RAM)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_ENDRX"&gt;EVENTS_ENDRX&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x110&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Receive buffer is filled up&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_TXDRDY"&gt;EVENTS_TXDRDY&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x11C&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Data sent from TXD&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_ENDTX"&gt;EVENTS_ENDTX&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x120&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Last TX byte transmitted&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_ERROR"&gt;&lt;span&gt;EVENTS_ERROR&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x124&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Error detected&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_RXTO"&gt;EVENTS_RXTO&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x144&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Receiver timeout&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_RXSTARTED"&gt;EVENTS_RXSTARTED&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x14C&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;UART receiver has started&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_TXSTARTED"&gt;EVENTS_TXSTARTED&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x150&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;UART transmitter has started&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="1" headers="d1395099e617" rowspan="1"&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52811/uarte.html?resultof=%22%45%56%45%4e%54%53%5f%45%52%52%4f%52%22%20#register.EVENTS_TXSTOPPED"&gt;EVENTS_TXSTOPPED&lt;/a&gt;&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e620" rowspan="1"&gt;0x158&lt;/td&gt;
&lt;td colspan="1" headers="d1395099e623" rowspan="1"&gt;
&lt;p&gt;Transmitter stopped&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Its hard to say whats going on without knowing which events that are triggering the&amp;nbsp;&lt;span&gt;nrfx_uarte_0_irq_handler&amp;nbsp;on the DK, but not the custom board. Do you think you could print the type of event in addition to &amp;quot;in function nrf_uarte_event_check&amp;quot; - It would also be useful if you could do a logic trace of the UART pins,just to verify that there nothing going on HW wise.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Bjørn&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201692?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 20:54:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e290562-d160-4e0e-8955-9f162fd9e98b</guid><dc:creator>nkrinsky</dc:creator><description>&lt;p&gt;UPDATE: In addition to the nRF52832 on the custom board, I also have a BMD-301 evaluation kit which I have flashed with the same bootloader and SoftDevice with a Mac. I noticed that nrfutil starts with an initial ping that contains the hex values 9 1 and 192 so I&amp;#39;ve been manually sending those bytes to both nRF devices to see how they respond. After cleaning up my debugging statements this is what I get&amp;nbsp;on the custom board:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Enter main loop
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
in function nrf_uarte_event_check
Receive buffer is filled up
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_uarte_event_check
in function nrf_uarte_event_check
reached end of uarte_irq_handler
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
in function nrf_uarte_event_check
Receive buffer is filled up
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_uarte_event_check
in function nrf_uarte_event_check
reached end of uarte_irq_handler
in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
in function nrf_uarte_event_check
Receive buffer is filled up
in function nrf_uarte_rx_amount_get
secondary buffer == 0
in nrfx_uarte rx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_RX_DONE
in functino on_rx_complete
in nrfx_uarte_rx
in function nrf_uarte_int_disable
Transfer rx_len: 1.
in function nrf_uarte_rx_buffer_set
in nrf_uarte_task_trigger
in function nrf_uarte_int_enable
Function: nrfx_uarte_rx, error code: NRF_SUCCESS.
in function nrf_dfu_serial_on_packet_received
Received ping 1
in function payload_free
in function nrf_dfu_req_handler_on_req
end of nrf_dfu_req_handler_on_req
Allocated buffer 20001764
in function nrf_uarte_event_check
in function nrf_uarte_event_check
reached end of uarte_irq_handler
in function nrf_dfu_req_handler_req
in function nrf_dfu_req_handler_req_process
Handle NRF_DFU_OP_PING
Request handling complete. Result: 0x1.
in function dfu_req_handler_rsp_clbk
p_res-&amp;gt;requestion != NRF_DFU_OP_OBJECT_WRITE
in function response send
Sending Response: [0x9, 0x1]
p_response-&amp;gt;result == NRF_DFU_RES_CODE_SUCCESS
in function rsp_send
in nrf_drv_uart_tx
NRF_DRV_UART_USE_UARTE==true
in nrfx_uarte_tx
Transfer tx_len: 5.
Tx data:
60 9 1 1 C0 
in nrf_uarte_tx_buffer_set
in nrf_uarte_task_trigger
Function: nrfx_uarte_tx, error code: NRF_SUCCESS.&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;On the evaluation board it is exactly the same except these additional statements are printed at the end:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;in nrfx_uarte_0_irq_handler
in nrfx_uarte uarte_irq_handler
in function nrf_uarte_event_check
in function nrf_uarte_event_check
in function nrf_uarte_event_check
in function nrf_uarte_event_check
Last TX byte transmitted.
in function nrf_uarte_tx_amount_get
in nrfx_uarte tx_done_event
in nrf_drv_uart uarte_evt_handler
in function uart_event_handler
event type = NRF_DRV_UART_EVT_TX_DONE
reached end of uarte_irq_handler&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For whatever reason my custom board isn&amp;#39;t triggering&amp;nbsp;nrfx_uarte_0_irq_handler that final time when the Last TX byte transmitted event occurs. What exactly triggers&amp;nbsp;nrfx_uarte_0_irq_handler? Why would the same exact code result in this difference?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201689?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 18:59:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4942af1c-a25e-4b7b-ba9e-d867312f94eb</guid><dc:creator>nkrinsky</dc:creator><description>&lt;p&gt;Yes we are using P0.05 to P0.08. It would be inconvenient to change the pins but I could do that as a last resort. I do want to clarify and say that this exact hardware setup has been used to produce a serial UART connection between the devices in the past with a different project, so I don&amp;#39;t think the pins are the problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201656?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 15:05:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ec91fbe-52c1-42c4-92fd-5640325640ab</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Oh sorry, didnt think when I asked the question. Yes, nRFutil enables it by default.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Which pins on the nRF52 DK are you using? P0.05 through to P0.08? If that is the case, then try to change the pins to some pins that are not connected to the interface MCU, e.g.&amp;nbsp;&lt;span&gt;P0.22&amp;nbsp;through to P0.25.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Bjørn&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201647?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 14:22:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2019f7a5-d6d1-409c-8165-1a2ee56c4aae</guid><dc:creator>nkrinsky</dc:creator><description>&lt;p&gt;It&amp;#39;s not enabled by pyserial by default, I mean when nrfutil runs and executes dfu_transport_serial.py it creates a serial connection with rtscts flow control enabled (see lines 151 and 199 in&amp;nbsp;&lt;a href="https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py"&gt;https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py&lt;/a&gt;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201643?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 14:09:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1dc8eb94-4475-4d45-866e-854ce5794c81</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Is it enabled by default? It kinda looks like its not, when looking at the __init__ function here&amp;nbsp;&lt;a href="https://pyserial.readthedocs.io/en/latest/pyserial_api.html"&gt;https://pyserial.readthedocs.io/en/latest/pyserial_api.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201629?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 13:42:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b643d4a-5c1b-4e06-b030-75f85af5f3cf</guid><dc:creator>nkrinsky</dc:creator><description>&lt;p&gt;I have RTS and CTS line and flow control is enabled in the pyserial connection (I think by default).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201417?ContentTypeID=1</link><pubDate>Wed, 31 Jul 2019 07:20:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab34b1a9-33bc-4e43-95e8-3da374e1ef12</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;OK, the serial UART connection, is it only TX and RX or RTS and CTS lines in addition?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201324?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2019 14:56:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa4ef589-9bb4-49a2-a12a-eeb81e0a3c7c</guid><dc:creator>nkrinsky</dc:creator><description>&lt;p&gt;I&amp;#39;m using nrfutil version 5.2.0. The board is connected to the Linux computer via a serial UART connection. I&amp;#39;m not able to test a serial DFU with any computer but the Linux computer due to our setup.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Help with serial DFU; "Failed to send data over serial interface!"</title><link>https://devzone.nordicsemi.com/thread/201319?ContentTypeID=1</link><pubDate>Tue, 30 Jul 2019 14:43:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8a87234-67ad-46ca-91e0-2ec26263a416</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;How is the custom board connected to the linux computer? Through a USB-TTL cable? If so does this have RTS/CTS lines? Which version of nrfutil are you using on the Linux computer? Are you able to perform a serial DFU from a windows computer?&lt;/p&gt;
&lt;p&gt;BEst regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>