<?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>nRF Connect SDK release notes 1.2.0 - removed concurrent BLE scan/advertise?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/58114/nrf-connect-sdk-release-notes-1-2-0---removed-concurrent-ble-scan-advertise</link><description>Hi there, 
 I&amp;#39;m new to the Nordic devices, and thinking to start out using Zephyr, targeting the recently announced nRF5340. So I was reading the ncs 1.2.0 release notes and came across something I didn&amp;#39;t quite understand. 
 In the release notes it was</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 24 Feb 2020 21:56:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/58114/nrf-connect-sdk-release-notes-1-2-0---removed-concurrent-ble-scan-advertise" /><item><title>RE: nRF Connect SDK release notes 1.2.0 - removed concurrent BLE scan/advertise?</title><link>https://devzone.nordicsemi.com/thread/236094?ContentTypeID=1</link><pubDate>Mon, 24 Feb 2020 21:56:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:506c5147-dd36-47a1-85e2-d5ff05841bac</guid><dc:creator>navigator</dc:creator><description>&lt;p&gt;That helps, thanks phun!&lt;/p&gt;
&lt;p&gt;A nice benefit of the nordic move to open source is the details on the playground commits.&amp;nbsp; &amp;nbsp;I just pulled up the commit notes on the throughput example itself and found the following, which supports your idea that it was a bug -- preventing it from achieving the expected performance.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Jan 21, 2020 commit 47256ac&lt;/p&gt;
&lt;pre class="text-small"&gt;Fix throughput test not achieving the expected throughput.
The occurred because the scanner was active during the throughput test
as bt_le_create_conn had already been called when the slave connection
was established.

It was not possible to cancel this connection object in the connecting
state because the same object is used to reference the slave connection.

This happens because the test is trying to establish connections in both
master and slave role at the same time. This use case is not supported
by the zephyr host, and can lead to connection object confusion as two
contexts are connected to the same bluetooth device. The API
bt_conn_lookup_addr_le does not work for this scenario.

Also fixed issues where wrong variable was used for err, mixing u8_t and
int, as well other cases where err was checked without being assigned,
or should have been checked.&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://github.com/NordicPlayground/fw-nrfconnect-nrf/commits/master/samples/bluetooth/throughput"&gt;https://github.com/NordicPlayground/fw-nrfconnect-nrf/commits/master/samples/bluetooth/throughput&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF Connect SDK release notes 1.2.0 - removed concurrent BLE scan/advertise?</title><link>https://devzone.nordicsemi.com/thread/236082?ContentTypeID=1</link><pubDate>Mon, 24 Feb 2020 18:33:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4357170e-691a-44b1-b1eb-d6cb8ff89984</guid><dc:creator>phuntimes</dc:creator><description>&lt;p&gt;There&amp;#39;s a lot to unpack here. 1st, let&amp;#39;s establish&amp;nbsp;for the record that this is not an &amp;quot;optimization&amp;quot; issue. This is an issue of compatibility arising from the Bluetooth LE spec, Zepyhr, and nRF Connect SDK. Looking at the release notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Changed the &lt;a class="reference internal" href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.2.0/nrf/samples/bluetooth/throughput/README.html#ble-throughput"&gt;&lt;span class="std std-ref"&gt;Bluetooth: Throughput&lt;/span&gt;&lt;/a&gt; sample to prevent it from running Bluetooth LE scanning and advertising in parallel. The feature to establish a connection in both master and slave role at the same time is not supported by the Zephyr Bluetooth LE Host.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The BLE spec says that a device in 2 (disjoint) piconets may be a slave in one and a master in the other (but not a master in both). A device is not required to support this topology, which&amp;nbsp;is is what the later sentence means.&lt;/p&gt;
&lt;p&gt;In the throughput sample, the release notes imply the &lt;span&gt;throughput&amp;nbsp;&lt;/span&gt;app is configured as the master (of the Data connection), which you can see in the sample output:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;***** Booting Zephyr OS 1.12.99 *****
[bt] [INF] hci_vs_init: HW Platform: Nordic Semiconductor (0x0002)
[bt] [INF] hci_vs_init: HW Variant: nRF52x (0x0002)
[bt] [INF] hci_vs_init: Firmware: Standard Bluetooth controller (0x00) Version 1.12 Build 99
[bt] [INF] bt_dev_show_info: Identity: c5:ca:14:98:3b:90 (random)
[bt] [INF] bt_dev_show_info: HCI: version 5.0 (0x09) revision 0x0000, manufacturer 0x05f1
[bt] [INF] bt_dev_show_info: LMP: version 5.0 (0x09) subver 0xffff
Bluetooth initialized
Advertising successfully started
Scanning successfully started
Found a peer device c5:6f:8a:38:95:27 (random)
Connected as master&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If the radio also allocates a time window to listen for advertisements, it is now simultaneously in the slave&amp;nbsp;role in a separate piconet (consisting of the Advertiser, the master, and all other scanning devices, the slaves).&lt;/p&gt;
&lt;p&gt;Now, 2nd, even if it&amp;nbsp;was supported, it is not desirable (see my original reply) and is more a &amp;quot;bug&amp;quot; than an &amp;quot;optimization&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF Connect SDK release notes 1.2.0 - removed concurrent BLE scan/advertise?</title><link>https://devzone.nordicsemi.com/thread/235603?ContentTypeID=1</link><pubDate>Fri, 21 Feb 2020 03:19:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d36b04d-3f75-4255-b66b-812da536628c</guid><dc:creator>navigator</dc:creator><description>&lt;p&gt;Yes, I completely agree if the change was made simply for optimization purposes.&amp;nbsp; However the release notes imply it was done for a different purpose... due to support for a feature in the Zephyr OS, so I wonder about that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF Connect SDK release notes 1.2.0 - removed concurrent BLE scan/advertise?</title><link>https://devzone.nordicsemi.com/thread/235593?ContentTypeID=1</link><pubDate>Fri, 21 Feb 2020 00:55:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da15ad5a-b51c-4d9b-aa31-3dbdb6366d14</guid><dc:creator>phuntimes</dc:creator><description>&lt;p&gt;Bluetooth radios use time-division multiplexing. If the radio has to allocate a time window for scanning and advertising while it&amp;#39;s trying to test throughput, well that&amp;#39;s not going to be a very accurate measurement of bandwidth, is it? &amp;nbsp;In the throughput sample, the scanning and advertising functions of the BLE stack are temporarily disabled while characterizing. The throughput sample really has nothing to do with the other sample &amp;quot;&lt;span&gt;Bluetooth: Scan &amp;amp; Advertise&amp;quot; other than any common code&amp;nbsp;related to scanning and&amp;nbsp;advertising.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>