Skip to content

Commit 576e0e0

Browse files
committed
softdevice_controller: rev 28a208b6b6a2119886799eb1d8964aa4d3db331e
CHANGELOG.rst contains the list of changes. Signed-off-by: Martin Tverdal <[email protected]>
1 parent ef2e585 commit 576e0e0

File tree

67 files changed

+128
-208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+128
-208
lines changed

softdevice_controller/CHANGELOG.rst

Lines changed: 20 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,14 @@ Changelog
99

1010
All the notable changes to this project are documented on this page.
1111

12-
Main branch
13-
***********
14-
15-
Added
16-
=====
17-
18-
* Central-only and Peripheral-only library variants for the nRF54L Series devices. (DRGN-25081)
19-
* Support for generating paEventCounter reports using the VS Enable Periodic Advertising Event Counter Reports command (DRGN-25444).
12+
nRF Connect SDK v3.0.1
13+
**********************
2014

2115
Bug fixes
2216
=========
2317

24-
* Fixed a rare issue where the controller would assert when scanning and initiating simultaneously. (DRGN-25478)
25-
26-
The issue would only happen if all the following conditions are met:
27-
28-
* The scan interval and scan window used by the initiator were not equal to those used by the scanner.
29-
* The Bluetooth host temporarily stopped pulling HCI events.
30-
* The initiator received a connectable ``ADV_EXT_IND``.
31-
32-
* Fixed an issue where mode-0 steps in a Channel Sounding subevent would compensate for a random frequency actuation error when using the LE CS Test HCI command (DRGN-25522).
33-
* Fixed an issue where the controller would assert when terminating a connection created from PAwR.
34-
The issue would occur if the :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_SOUNDING` Kconfig option was enabled. (DRGN-25200)
35-
* Fixed a rare issue where the controller could assert when calling the ``LE Create Connection Cancel`` HCI command. (DRGN-25326)
36-
* Fixed an issue where the controller could assert when receiving on the Coded PHY over an ACL connection.
37-
This would occur when coding indicator or length byte was corrupted, causing the controller to listen for more than 27 bytes on S8 Coded PHY. (DRGN-24930)
38-
39-
Changes
40-
=======
41-
42-
* The ``Version`` field in the ``LL_VERSION_IND`` packet now contains the value ``0x0F`` to indicate compatibility with Bluetooth Core Specification v6.1 (DRGN-25531).
43-
* When controller to host flow control is enabled, the controller no longer waits until all ACL data packets have been acknowledged by the host before raising the Disconnection Complete event.
44-
The controller no longer validates the handles provided in the Host Number of Complete Packets command.
45-
That is, the handles provided may belong to a Disconnection Complete event which has not yet been processed by the host.
46-
This reverts the changes done by DRGN-21085. (DRGN-24882)
47-
* The packets received on Coded PHY with reserved for future use (RFU) values in the coding indicator (CI) field are now treated as CRC errors.
48-
This would occur when the CI field is corrupted in noisy environments, causing the controller to decode at an incorrect rate. (DRGN-25037)
18+
* Fixed an issue where the controller would assert when terminating a connection created from PAwR. (DRGN-25200)
19+
The issue would occur if the :kconfig:option:`CONFIG_BT_CTLR_CHANNEL_SOUNDING` Kconfig option was enabled.
4920

5021
nRF Connect SDK v3.0.0
5122
**********************
@@ -64,8 +35,8 @@ Changes
6435
=======
6536

6637
* The Channel Sounding feature is now :ref:`supported <nrf:software_maturity>` instead of experimental. (DRGN-24060)
67-
* The LE Channel Selection Algorithm event is no longer raised when a connection was established as a peripheral using legacy advertising commands.
68-
This behavior was changed to accommodate ES-27170. (DRGN-24660)
38+
* The LE Channel Selection Algorithm event is no longer raised when a connection was established as a peripheral using legacy advertising commands. (DRGN-24660)
39+
This behavior was changed to accommodate ES-27170.
6940
* The CIS or BIS sink now generate lost SDUs immediately when scheduling conflicts occur instead of after receiving the next valid SDU. (DRGN-24062)
7041
* Removed support for running the SoftDevice Controller on the nRF54L15 DK v0.8.1 and earlier. (DRGN-21403)
7142
* Reduced latency when changing the list of subevents to which a Periodic Advertising with Responses Scanner is synchronized. (DRGN-24543)
@@ -82,9 +53,8 @@ Bug fixes
8253

8354
* Fixed an issue where disconnect could happen if multiple peripheral links were active and encrypted. (DRGN-24784)
8455
* Fixed an issue where the controller would fail to synchronize with a BIS Broadcaster. (DRGN-24670)
85-
8656
This would occur when the Broadcaster has set ``Num_Bis=1``, ``NSE > 1``, and ``Sub_Interval == BIS_Spacing``.
87-
Previously, the controller would raise the LE BIG Sync Established event with status set to ``Unsupported Feature or Parameter value (0x11)``.
57+
Previously, the controller would raise the LE BIG Sync Established event with status set to "Unsupported Feature or Parameter value (0x11)".
8858
* Fixed an issue where ACL connections could not be created if a Periodic Advertiser was configured when the :kconfig:option:`CONFIG_BT_CTLR_SDC_PAWR_ADV` Kconfig option was selected. (DRGN-24148)
8959
* Fixed a rare issue where the scanner would assert when scanning and initiating at the same time. (DRGN-24198)
9060

@@ -94,7 +64,7 @@ Bug fixes
9464
* :kconfig:option:`BT_CTLR_SDC_SCAN_BUFFER_COUNT` is set to the non-default value 2.
9565
* The initiator has received a connectable ``ADV_EXT_IND``.
9666
* The initiator is canceled.
97-
* Fixed an issue where the central device would disconnect 40 s after responding to a ``LL_SUBRATE_REQ`` with reason ``LMP Response Timeout (0x22)``.
67+
* Fixed an issue where the central device would disconnect 40 s after responding to a ``LL_SUBRATE_REQ`` with reason "LMP Response Timeout (0x22)".
9868
This would only occur on nRF52 Series and nRF53 Series devices. (DRGN-24310)
9969
* Fixed a very rare issue where the scanner would assert, hang or stop producing reports when scanning and initiating at the same time. (DRGN-24370)
10070

@@ -107,7 +77,6 @@ Bug fixes
10777

10878
See :ref:`concurrent_scanner_initiator_timing` for information on how to select parameters where the timing events are combined.
10979
* Fixed a rare issue where the scanner would fail to receive a secondary channel packet. (DRGN-24300)
110-
11180
The issue would only happen if all the conditions are met:
11281

11382
* The configured scan window is larger than 500 milliseconds.
@@ -120,8 +89,8 @@ Bug fixes
12089

12190
* The subevent interval is large, or if the CIS is configured with interleaved packing.
12291
* There are scheduling conflicts.
123-
* Fixed an issue where an application running on a nRF54L Series device would sometimes fail to receive an ACL packet after it had sent a packet on Coded PHY with S=2.
124-
The issue would only happen when the application explicitly asked to use the coding scheme S=2. (DRGN-23691)
92+
* Fixed an issue where an application running on a nRF54L Series device would sometimes fail to receive an ACL packet after it had sent a packet on Coded PHY with S=2. (DRGN-23691)
93+
The issue would only happen when the application explicitly asked to use the coding scheme S=2.
12594
* Fixed an issue where a CIS Peripheral would assert when receiving an invalid ``LL_CIS_REQ``.
12695
This would only happen if unframed PDUs were used. (DRGN-24706)
12796
* Fixed a rare issue where the controller would assert when in a connection. (DRGN-24749)
@@ -136,8 +105,8 @@ Bug fixes
136105
* Fixed a rare assert when stopping a CIG or BIG.
137106
This issue would only occur when another CIG or BIG role was active at the same time. (DRGN-24938)
138107
* Fixed a rare issue where the controller running on an nRF54 Series device would send a corrupted packet with a valid CRC.
139-
This could lead to sending a packet with an invalid MIC in the case of an encrypted connection.
140-
The issue would occur if the :kconfig:option:`CONFIG_FPU` and :kconfig:option:`CONFIG_FPU_SHARING` Kconfig options are enabled. (DRGN-24929)
108+
This could lead to sending a packet with an invalid MIC in the case of an encrypted connection. (DRGN-24929)
109+
The issue would occur if the :kconfig:option:`CONFIG_FPU` and :kconfig:option:`CONFIG_FPU_SHARING` Kconfig options are enabled.
141110

142111
nRF Connect SDK v2.9.0
143112
**********************
@@ -232,7 +201,7 @@ Changes
232201
* Generating the Number of Completed Packets event is now prioritized above all other events.
233202
The event is generated irrespective of the state of the Controller to Host data flow control. (DRGN-23284)
234203
* When a link disconnects, the controller will now raise one or more Number Of Completed Packets events for data packets not ACKed by the peer device. (DRGN-23302)
235-
* Isochronous roles may now produce HCI ISO data with SDUs containing the ``0b01`` packet status flag which indicates possibly invalid data.
204+
* Isochronous roles may now produce HCI ISO data with SDUs containing the ``0b01`` packet status flag which indicates "possibly invalid data".
236205
This is the case if the peer sends invalid data. (DRGN-23420)
237206

238207
Bug fixes
@@ -350,7 +319,7 @@ Bug fixes
350319
This could happen with both the LL Create BIG and LL Create BIG Test commands (DRGN-21912).
351320
* Fixed an issue with the controller-initiated autonomous LE Power Control Request procedure for Coded PHY that could lead to a disconnection. (DRGN-21923)
352321
* Fixed an issue where the |controller| could assert if a BIS Receiver stops receiving packets from the BIS Broadcaster. (DRGN-21949)
353-
* Fixed an issue where the |controller| could in some rare cases generate an LE Periodic Advertising Subevent Data Request for a subevent it did not have the memory capacity for. (DRGN-21839)
322+
* Fixed an issue where the |controller| could in some rare cases generate an LE Periodic Advertising Subevent Data Request for a subevent it didn't have the memory capacity for. (DRGN-21839)
354323
* Fixed an issue where an assert could happen if the peripheral received a connection update indication.
355324
This happened when the central used a wide receive window for the connection update, and both sent at the end of the receive window and sent a lot of data in the connection event with the connection update instant (DRGN-22024).
356325
* Fixed an issue where the |controller| could assert when scanning or advertising on Coded PHY using SPI FEM on the nRF53 series. (DRGN-21962)
@@ -397,7 +366,7 @@ Changes
397366
:c:func:`sdc_hci_cmd_vs_set_power_control_apr_handling` have been replaced by
398367
:c:func:`sdc_hci_cmd_vs_set_power_control_request_params` (DRGN-17355).
399368
* The controller now always returns the error code ``0x0D`` if a connection attempt is made while another is still pending.
400-
Previously, this was not the case if one connection attempt was through periodic advertising with responses while the other was through the initiator. (DRGN-20823)
369+
Previously, this wasn't the case if one connection attempt was through periodic advertising with responses while the other was through the initiator. (DRGN-20823)
401370
* The scheduling priority for initiator events where the scan window is equal to the scan interval is lowered to the third scheduling priority.
402371
For other configurations of scan window and scan interval the priority is unchanged. (DRGN-20831)
403372
* The vendor-specific Set event length for ACL connections HCI command now accepts values lower than 1250 us. (DRGN-20796)
@@ -735,8 +704,8 @@ Bug fixes
735704

736705
* Fixed an issue where Advertiser Address Type in the LE Periodic Advertising Sync Established event was never set to 0x02 or 0x03, even if the advertiser's address was resolved (DRGN-17110).
737706
* Fixed an issue where Advertiser Address Type was not set in the LE Periodic Advertising Sync Established event when using the Periodic Advertiser List (DRGN-17110).
738-
* Fixed an issue where setting advertiser radio output power using the vendor-specific HCI command Zephyr Write TX Power Level returned ``Unknown Advertiser Identifier (0x42)``.
739-
* Fixed an issue where reading advertiser radio output power using the vendor-specific HCI command Zephyr Read TX Power Level returned ``Unknown Advertiser Identifier (0x42)``.
707+
* Fixed an issue where setting advertiser radio output power using the vendor-specific HCI command Zephyr Write TX Power Level returned "Unknown Advertiser Identifier (0x42)".
708+
* Fixed an issue where reading advertiser radio output power using the vendor-specific HCI command Zephyr Read TX Power Level returned "Unknown Advertiser Identifier (0x42)".
740709
* Fixed an issue where an assert could occur if :c:func:`sdc_disable` was called while a Bluetooth role was running (DRGN-16515).
741710
* Fixed an issue where the advertiser would incorrectly set Offset Adjust in the SyncInfo when the offset to the ``AUX_SYNC_IND`` is large (DRGN-16887).
742711
* Fixed an issue where issuing a legitimate connection update could result in an ``BT_HCI_ERR_INVALID_PARAM`` error (DRGN-17324).
@@ -884,7 +853,7 @@ Bug fixes
884853
* Fixed an issue where, in rare cases, an assert could occur when receiving a packet as a slave.
885854
This could only occur after performing a data length procedure on Coded PHY (DRGN-15251).
886855
* Fixed an issue where "HCI Read RSSI" would always return a Command Disallowed (0x0C) error code (DRGN-15310).
887-
* Fixed an issue where setting radio output power using the vendor-specific HCI command Zephyr Write TX Power Level returned ``Unsupported Feature or Parameter value (0x11)``.
856+
* Fixed an issue where setting radio output power using the vendor-specific HCI command Zephyr Write TX Power Level returned "Unsupported Feature or Parameter value (0x11)".
888857
Now the controller will select an output power level that is lower or equal to the one requested.
889858
The command returns success and the selected power level (DRGN-15369).
890859
* Fixed an issue where an assert could occur when running an extended advertiser with maximum data length and minimum interval on Coded PHY.
@@ -929,7 +898,7 @@ Bug fixes
929898
* Fixed an issue where a directed advertiser used a resolvable address as the ``TargetA`` when the local device address was set to public or random device address (DRGN-13921).
930899
* Fixed an issue where "HCI LE Set Extended Advertising Parameters" should have returned "Packet Too Long (0x45)" when the advertising set was already configured with data that was longer than it could fit within the advertising interval.
931900
Previously, the advertising data was cleared every time the advertising set was configured (DRGN-14008).
932-
* Fixed an issue where the link would disconnect with reason ``LMP Response Timeout (0x22)``.
901+
* Fixed an issue where the link would disconnect with reason "LMP Response Timeout (0x22)".
933902
This would occur if the "HCI LE Long Term Key Request event" was disabled and the slave received an encryption request (DRGN-15226).
934903
* Fixed an issue where the LL control procedures LE start encryption and LE connection parameter update could not be initiated at the same time (DRGN-11963).
935904
* Fixed an issue where the generation of QoS Connection event was not disabled after an HCI reset (DRGN-15291).
@@ -1034,7 +1003,7 @@ Changes
10341003
* The VersNr field in the LL_VERSION_IND packet now contains the value 0x0B to indicate Bluetooth Core Specification v5.2 compliance.
10351004
* The previously implemented Vendor Specific HCI command opcodes are now offset with 0x100.
10361005
* The previously implemented Vendor Specific HCI event codes are now offset with 0x80.
1037-
* When the controller receives an unknown command, it will raise ``Command Status event`` instead of ``Command Complete event``.
1006+
* When the controller receives an unknown command, it will raise "Command Status event" instead of "Command Complete event".
10381007
* When in slave latency, the controller now picks up data from the host for transmission earlier than it used to.
10391008
* In the LE Extended Advertising Report, the Direct Address Type values 0x02, 0x03, and 0xFE will only be used when the Scanning Filter Policy is equal to 0x02 or 0x03 and TargetA is a resolvable private address.
10401009
If the address is resolved, then the Direct Address Type will contain the same value as the Own Address Type parameter of the command LE Set Extended Scan Parameters.

softdevice_controller/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ The libraries are available as soft-float, softfp-float, and hard-float builds f
7676
* For Connection CTE Response, angle of arrival (AoA) is supported, but angle of departure (AoD) is not.
7777
* For Periodic Advertising Sync Transfer - Receiver, only one sync transfer reception may be in progress at any one time per link.
7878
* For the Isochronous Channels features, nRF52820 and nRF52833 are the nRF52 Series devices that support encrypting and decrypting the Isochronous Channels packets.
79-
* For the nRF54L Series devices, the SoftDevice Controller in non-secure mode is experimental.
79+
* For the nRF54H series, all Bluetooth features are experimental.
8080
* Support for the Channel Sounding feature is only available on the nRF54L15 device.
8181

8282
.. _sdc_proprietary_feature_support:

softdevice_controller/doc/channel_sounding.rst

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -315,16 +315,10 @@ The following samples are recommended for getting started with Channel Sounding:
315315
316316
west build -b nrf54l15dk/nrf54l15/cpuapp --pristine -- -DCONFIG_BT_CTLR_CHANNEL_SOUNDING=y
317317
318-
CS Kconfigs
318+
Optional CS Kconfigs
319319
--------------------
320320

321-
Use the following Kconfig options to enable and configure the CS feature:
322-
323-
* Set :kconfig:option:`BT_CTLR_CHANNEL_SOUNDING` to ``y`` to enable the Channel Sounding feature.
324-
* Set :kconfig:option:`BT_CTLR_SDC_CS_COUNT` to a value between ``1`` and :kconfig:option:`BT_MAX_CONN` to set the number of connections that can use CS procedures.
325-
326-
327-
Use the following Kconfig options to enable the desired optional CS capabilities:
321+
Use the following Kconfig options to enable the desired optional CS features:
328322

329323
* Set :kconfig:option:`BT_CTLR_SDC_CS_STEP_MODE3` to ``y`` to enable Channel Sounding step mode-3 support.
330324

softdevice_controller/doc/scheduling.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@ Scanner, observer, and initiator events can therefore cause connection packets t
657657
To reduce the chance of colliding connections, configure all connection intervals to have a common factor.
658658
This common factor should be greater than or equal to :math:`\mathsf{\sum{t_{event-Cx}}}`.
659659
For example, for eight connections with an event length of 2.5 ms, the lowest recommended connection interval is 20 ms.
660-
This means all connections would then have a connection interval of 20 ms or a multiple of 20 ms, such as 40 ms or 60 ms.
660+
This means all connections would then have a connection interval of 20 ms or a multiple of 20 ms, such as 40 ms, 60 ms, and so on.
661661

662662
To summarize, when only Central roles are running, all central role intervals (such as connection interval and Scanner interval) should have a common factor.
663663
This common factor should be greater than or equal to :math:`\mathsf{\sum{t_{event-Cx}} + scanWindow}`.

softdevice_controller/doc/softdevice_controller.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ For the nRF53 Series:
4545

4646
For the nRF54H Series:
4747

48-
* ``CCM031``
49-
* ``AAR031``
48+
* ``CCM030``
49+
* ``AAR030``
5050
* ``DPPIC020`` channels from ``1`` to ``11``
5151
* ``DPPIC030`` channels ``1`` and ``3``
5252
* ``PPIB030`` channels from ``0`` to ``3``

softdevice_controller/include/sdc.h

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1362,36 +1362,6 @@ int32_t sdc_support_connection_subrating_peripheral(void);
13621362
*/
13631363
int32_t sdc_support_channel_sounding_test(void);
13641364

1365-
/** @brief Support Channel Sounding Step Mode 3
1366-
*
1367-
* After this API is called, the controller will support Channel Sounding Step Mode 3
1368-
*
1369-
* @retval 0 Success
1370-
* @retval -NRF_EPERM This API must be called before @ref sdc_cfg_set() or @ref sdc_enable().
1371-
* @retval -NRF_EOPNOTSUPP Channel Sounding is not supported
1372-
*/
1373-
int32_t sdc_support_channel_sounding_mode3(void);
1374-
1375-
/** @brief Support Channel Sounding Initiator role
1376-
*
1377-
* After this API is called, the controller will support Channel Sounding Initiator role
1378-
*
1379-
* @retval 0 Success
1380-
* @retval -NRF_EPERM This API must be called before @ref sdc_cfg_set() or @ref sdc_enable().
1381-
* @retval -NRF_EOPNOTSUPP Channel Sounding is not supported
1382-
*/
1383-
int32_t sdc_support_channel_sounding_initiator_role(void);
1384-
1385-
/** @brief Support Channel Sounding Reflector role
1386-
*
1387-
* After this API is called, the controller will support Channel Sounding Reflector role
1388-
*
1389-
* @retval 0 Success
1390-
* @retval -NRF_EPERM This API must be called before @ref sdc_cfg_set() or @ref sdc_enable().
1391-
* @retval -NRF_EOPNOTSUPP Channel Sounding is not supported
1392-
*/
1393-
int32_t sdc_support_channel_sounding_reflector_role(void);
1394-
13951365
/** @brief Support LE Channel Sounding
13961366
*
13971367
* After this API is called, the controller will support the HCI commands

0 commit comments

Comments
 (0)