<?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>DFU upload speed through BT SMP is slow</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/107766/dfu-upload-speed-through-bt-smp-is-slow</link><description>DFU file upload speed through BT SMP is painstakingly slow especially for Matter firmware with MCUboot which are about 800 kB. 
 I just simply compiled and provisioned Matter lamp example on nRF52840 DK and without modifications the upload speed was around</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 25 Jan 2024 20:05:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/107766/dfu-upload-speed-through-bt-smp-is-slow" /><item><title>RE: DFU upload speed through BT SMP is slow</title><link>https://devzone.nordicsemi.com/thread/466115?ContentTypeID=1</link><pubDate>Thu, 25 Jan 2024 20:05:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d04e32a1-f339-4e10-9cf9-68b96c5311b9</guid><dc:creator>JamesDougherty</dc:creator><description>&lt;p&gt;Awesome! Glad to hear that helped. You&amp;#39;re more than welcome.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU upload speed through BT SMP is slow</title><link>https://devzone.nordicsemi.com/thread/466114?ContentTypeID=1</link><pubDate>Thu, 25 Jan 2024 20:02:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4819b97a-166a-4ee9-a3ad-d07730b677f1</guid><dc:creator>Sergey A.</dc:creator><description>&lt;p&gt;&amp;nbsp;Hi &lt;span style="background-color:#eeeeee;"&gt;&lt;a href="https://devzone.nordicsemi.com/members/jamesdougherty"&gt;JamesDougherty&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thank you very much for your suggestion. I wrongly assumed&amp;nbsp;that if I specify&amp;nbsp;DCONFIG_CHIP_DFU_OVER_BT_SMP, the example will&amp;nbsp;set other options optimized for DFU over BT, but, obviously, I was wrong. When I set&amp;nbsp;CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y the speed&amp;nbsp;increased to 15 kB/s. That&amp;#39;s&amp;nbsp;totally awesome, thank you for your help!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU upload speed through BT SMP is slow</title><link>https://devzone.nordicsemi.com/thread/466100?ContentTypeID=1</link><pubDate>Thu, 25 Jan 2024 16:56:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:605e18ca-1617-4390-911f-a517c30dbe61</guid><dc:creator>JamesDougherty</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I just got done working on ours and it seems OK. I&amp;#39;ve tested from our Android app and it transfers the, almost 500 kB image, in about 35 seconds. We are using the nRF52840 SoC and the nRF21540 FEM on our boards.&lt;/p&gt;
&lt;p&gt;What other config options are you using? One of the main ones is:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;as that will imply the:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;config. The&amp;nbsp;NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP will set all of those for you:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;config NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP
	bool &amp;quot;MCUmgr OTA DFU speedup&amp;quot;
	depends on BT_CTLR || (NCS_SAMPLE_HCI_RPMSG_CHILD_IMAGE || NCS_SAMPLE_MULTIPROTOCOL_RPMSG_CHILD_IMAGE)
	help
	  Enable this option to speed up the OTA DFU transfer over Bluetooth.
	  This option extends the Bluetooth buffers to extend Bluetooth MTU
	  size. The buffer configuration should be the same in the Network Core
	  and Application Core image.

	  This configuration option is automatically applied for the Network
	  Core child image if the NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP option is
	  enabled in the main image.

if NCS_SAMPLE_MCUMGR_BT_OTA_DFU_SPEEDUP

config BT_L2CAP_TX_MTU
	default 498 if BT_HCI_HOST

config BT_BUF_ACL_TX_SIZE
	default 251

config BT_BUF_ACL_RX_SIZE
	default 502

config BT_CTLR_DATA_LENGTH_MAX
	default 251 if BT_CTLR

endif&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For what it&amp;#39;s worth, here are the exact BT and bootloader configs I&amp;#39;m using:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#=======================================================================================================================
# Bluetooth Configuration
#=======================================================================================================================
CONFIG_BT=y
CONFIG_BT_SMP=n
CONFIG_BT_MAX_CONN=10
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_THROUGHPUT=y
CONFIG_BT_COMPANY_ID=0x073A
CONFIG_BT_ATT_PREPARE_COUNT=2
CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y

CONFIG_BT_BUF_CMD_TX_SIZE=251
# CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255

CONFIG_BT_CTLR_PHY_2M=y
CONFIG_BT_CTLR_CONN_RSSI=n
CONFIG_BT_CTLR_PHY_CODED=n
CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y

CONFIG_BT_DEVICE_NAME=&amp;quot;&amp;quot;
CONFIG_BT_DEVICE_NAME_MAX=6
CONFIG_BT_DEVICE_NAME_DYNAMIC=y

CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=y
CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=y

CONFIG_BT_GATT_CACHING=y
CONFIG_BT_GATT_SERVICE_CHANGED=y
CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n

# Make sure supervision timeout is always 5 seconds (500 * 10ms)
CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=500

CONFIG_BT_USER_PHY_UPDATE=y
CONFIG_BT_USER_DATA_LEN_UPDATE=y


#=======================================================================================================================
# Bootloader / Firmware Configuration
#=======================================================================================================================
CONFIG_MCUMGR=y
CONFIG_MCUMGR_TRANSPORT_BT=y
CONFIG_MCUMGR_TRANSPORT_BT_AUTHEN=n
CONFIG_MCUMGR_TRANSPORT_BT_REASSEMBLY=y
CONFIG_MCUMGR_TRANSPORT_BT_CONN_PARAM_CONTROL=y
CONFIG_MCUMGR_TRANSPORT_NETBUF_COUNT=6
CONFIG_MCUMGR_TRANSPORT_WORKQUEUE_STACK_SIZE=4608

CONFIG_MCUMGR_GRP_IMG=y
CONFIG_MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOK=y
CONFIG_MCUMGR_MGMT_NOTIFICATION_HOOKS=y

CONFIG_IMG_MANAGER=y
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
CONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP=y&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>