SILICON LABS Bluetooth LE SDK Low Energy LE Software User Guide

July 9, 2024
SILICON LABS

SILICON LABS Bluetooth LE SDK Low Energy LE Software User Guide

Silicon Labs is a leading vendor in Bluetooth hardware and software technologies, used in products such as sports and fitness, consumer electronics, beacons, and smart home applications. The core SDK is an advanced Bluetooth 5.3-compliant stack that provides all of the core functionality along with multiple API to simplify development. The core functionality offers both standalone mode allowing a developer to create and run their application directly on the SoC, or in NCP mode allowing for the use of an external host MCU.

These release notes cover SDK version(s):
5.1.4.1 GA released July 3, 2024
5.1.4.0 GA released January 24, 2024
5.1.3.0 GA released August 16, 2023 (support for EFR32xG21, Revision C and later plus
multiprotocol updates)
5.1.2.0 GA released May 3, 2023
5.1.1.0 GA released March 8, 2023
5.1.0.0 GA released February 1, 2023
5.0.0.0 GA released December 14, 2022

Compatibility and Use Notices
For information about security updates and notices, see the Security chapter of the Gecko Platform Release notes installed with this SDK or on the TECH DOCS tab on https://www.silabs.com/developers/bluetooth-low-energy. Silicon Labs also strongly recommends that you subscribe to Security Advisories for up-to-date information. For instructions as well as notes on using Secure Vault features, or if you are new to the Silicon Labs Bluetooth SDK, see

BLUETOOTH

KEY FEATURES

Bluetooth

  • External bonding database to support infinite number of bonding’s and key sharing
  • BGAPI event for Bluetooth buffer exhaustion signaling
  • Active scan improvements
  • Three-Wire UART (H5) Transport Layer for HCI (experimental)
  • Certification-Based Authentication and Pairing for High- and Mid-Vault devices (experimental) Multiprotocol
  • Dynamic Multiprotocol Bluetooth and multi-PAN 802.15.4 in RCP mode
  • BLE de-init and re-init for multiprotocol use cases
  • Dynamic Multiprotocol Bluetooth and Zigbee NCP – experimental

New Items

New Features
Added in release 5.1.1.0
The TrustZone solution is now available on all Bluetooth devices. Refer to AN1374: Series 2 TrustZone for the implementation details.

bt_soc_csr_generator and bt_soc_cbap applications are now also available as a Simplicity Studio Solution that includes both the application and the appropriate bootloader project.

Added in release 5.1.0.0

Bluetooth AppLoader OTA DFU Configurations The
Bluetooth AppLoader OTA DFU software component has configuration options now. When a custom device address is used, by default the address is read from the MFG_CUSTOM_EUI_64 token in the User Data page. This default behavior can be overridden by implementing the bootloader_apploader_get_custom_device_address() function.

Added in release 5.0.0.0

External bonding database
The external bonding database is provided in this release as an optional feature component. When the feature is used, the application stores the persistent data of Bluetooth bondings. The Bluetooth stack sends BGAPI events to the application to store bonding data and to request the application to pass bonding data when needed.

Three-Wire UART transport layer support
Three-Wire UART transport layer support for HCI is available in this release.

Per-PHY Power Limit Configuration
A new per-PHY power limit configuration is available for specifying the maximum output power when TX power is limited by power spectral density.

New AFH configuration for enabling high power
New SL_BT_CONFIG_AFH_ENABLE_HIGH_POWER configuration option is added to the bluetooth_feature_afh component. Customers who want the device to behave as FHS, that is to use high power, in regions where AFH is not mandatory can enable this option only, and disable the SL_BT_CONFIG_AFH_ENABLE_AT_BOOT configuration.

New configurations in Bluetooth Controller
The Bluetooth Controller component has two new configurations:

  • SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD for defining the number of transmitted air interface ACL packets to trigger the Number Of Completed Packets HCI event
  • SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT for defining the maximum number of connection events since the previous Number Of Completed Packets HCI event to trigger reporting of any unreported completed ACL packets.

Read Version over HCI
UC component bt_hci_version is added for HCI vendor specific read version command.

MQTT mock component
MQTT mock component is available for the bt_aoa_host_locator example application for testing purposes.

AoD receiver NCP example
The AoD receiver NCP example is available for Simplicity Studio Direction Finding tools.

Object Transfer Service
The Object Transfer Service (OTS) is available for applications to use the object transfer feature.

CTE transmitter SoC example
The CTE transmitter SoC example for Angle of Departure (AoD)

New Applications for TrustZone-compatible devices
bt_soc_csr_generator and bt_soc_cbap applications are now available for all TrustZone-compatible devices.

New APIs

Added in release 5.0.0.0
sl_bt_gap_set_identity_address command: Set the Bluetooth identity address for central and peripheral roles.
sl_bt_external_bondingdb_set_data command: Pass bonding data of a connection from the external bonding database to the stack.
sl_bt_evt_external_bondingdb_data_request event: The Bluetooth stack requests the bonding data of a connection from the external bonding database.
sl_bt_evt_external_bondingdb_data event: Indicates that updated bonding data of a connection is available.
sl_bt_evt_external_bondingdb_data_ready event: The stack has received all the necessary bonding data from the application.
sl_bt_evt_system_resource_exhausted event: Indicates the system is running out of resources during the use of the Bluetooth stack.
New flag in sl_bt_system_linklayer_configure command: A new configuration flag is added for enabling reporting all SCA_RSP pack- ets even if those are not the responses to the scan request initiated by the local  device.
New version constants in header sl_bt_version.h: SL_BT_VERSION_MAJOR, SL BT VERSION_MINOR, SL_BT VERSION_PATCH, SL_BT_VERSION_BUILD, and SL_BT_VERSIONHASH
**VS
Silicon Labs Set Max Low Tx Power (0xfc1b):** New vendor-specific HCI command for the per-PHY power limit configuration feature.

Improvements

Changed Items
Changed in release 5.0.0.0
Stack behavioral change in case of external bonding database
Following functionality or API behavioral changes when the external bonding database feature is used:

  • sl_bt_store_bonding_configuration command must be called to define the list size before adding devices to the accept list.
  • The sl_bt_get_bonding_handles, sl_bt_get_bonding_details, and find_bonding_by_address commands are unavailable.

Bluetooth RTOS adaptation
The Bluetooth RTOS adaptation (bluetooth_rtos_adaptation) kernel object uses dynamic memory allocation for improving adaptability, beginning with this release. The heap usage in applications using this component is increased by roughly 4900 bytes as a result of this change.

Bluetooth API for NCP host
The host-side NCP Bluetooth API in sl_bt_ncp_host.c now accepts NULL pointers to output parameters. If an application does not need an output value that is merely informational, the application can pass a NULL pointer to that output parameter and avoid allocating storage for the output.

bootloader-apploader
The bootloader-apploader component can be used for both bt_soc_csr_generator and bt_soc_cbap. Previously, the bootloader_bgapi_uart_bootloader was used with bt_soc_csr_generator.

bt_soc_throughput_display example app
The bt_soc_throughput_display example app is no longer supported on BRD4169x boards

Changed APIs

Fixed Issues

Fixed in release 5.1.4.0

ID # Description
11057861132177 Fixed the extended connection bakeoff procedure behavior. Now,

when the Link Layer fails multiple times to receive a AUX_CONNECT_RSP after a AUX_CONNECT_REQ is sent, an increasingly random number of connectable extended advertisements are skipped before attempting to connect again.
1124749| Fixed an issue that could cause the Bluetooth stack to enter a live- lock situation where no progress is made if buffer resources are exhausted when the stack is generating critical events that require a retry in out-of- memory situations.
1131945| Fixed an issue in the Uploader that the TX power is too low on EFR32[M|B]G1x devices.
1143531| Fixed an issue that the EDIV and random values were always set to all zero, potentially causing encryption to fail when reconnecting to a peripheral that has been paired with legacy pairing.
1144105| Fixed an issue that the first connection packet was not received by the peripheral if the peripheral was advertising using LE Coded PHY with S2 coding.
1164860| Fixed a bug that caused the Bluetooth link layer to transmit invalid Tx and Rx maximum times in the LLCP_LENGTH_REQ and LLCP_LENGTH_RSP packets to the remote device.
1192858| Improved advertisement report handling over the HCI interface. Now it is possible to configure maximum number of queued advertisement reports. This improves performance over slow HCI connection.
1196365| Fixed an issue seen with DTM when watchdog timer component presents.
1218018| Optimized connection establishments in a DMP configuration. Previously packets were not processed fast enough in certain cases, resulting in connection loss.
1218112| Fixed a race condition between the connection termination and channel map update procedure that could cause a double buffer free.

Fixed in release 5.1.2.0

ID # Description
1115163 Fixed an issue where Extended Advertisement packets would not be

transmitted if AFH was enabled and the advertisement interval was longer than the AFH interval (default: 1 second).
1117851| Fixed the BGAPI event order so that the sl_bt_evt_connection_opened event is sent to the application before the sl_bt_evt_external_bondingdb_data_request event when the bluetooth_feature_external_bonding_database feature is used.
1117852| The option “Allow connections only from bonded devices” of the sl_bt_sm_configure() command is now ignored and treated as unsupported when the application uses the bluetooth_feature_external_bonding_database feature.
1120955| Fixed a regression where channel maps in the connection creation packets had reserved-for-future field bits set to 1.
1129475| Fixed a memory corruption issue in the GATT server that is caused by a data truncation operation when the data buffer used for sending a prepare write response has extra data payload to discard.

Fixed in release 5.1.1.0

ID # Description
731981 UG434 now only describes the priorities of interrupts used by the Link

Layer and radio. Other interrupts, such as the USART interrupt, are not used by the Bluetooth stack. Please check the priority settings in the corresponding component to see if it uses the default priorities or has own setting.
840102| Fixed a crash when the stack does not properly handle received data during the disconnection of a Bluetooth connection. The fix was first released to the Bluetooth SDK 4.0.0, and is available on all newer SDK versions.
1016107| For TrustZone-capable devices, the CBAP workspace can be used. Users don’t have to create their own TrustZone solutions.
1039103| Fixed a crash that may happen during the pairing process when the Bluetooth Controller runs on RTOS.
1080356| Fixed an issue that the Bluetooth stack could run out of memory if the remote device sends a L2CAP packet that has a very long length value in the L2CAP header.
1103368| Fixed a case where device could get stuck when operating as central device and opening a connection using the extended connection request procedure.
ID #| Description
---|---
1103786| Fixed an issue in the apploader_lib component on EFR32BG24 and EFR32BG27 devices that the libapploader.a is not included correctly in the bootloader-apploader project.
1105833| Fixed the HCI LE Rand command such that pseudorandom values are generated each time command is issued.

Fixed in release 5.1.0.0

ID # Description
1036645 Fixed an issue in BLE CPC NCP that prevents a client application from

reconnecting after the first disconnection.
1084216| Fixed an issue in the HCI Three-wire UART that causes a deadlock when the acknowledge timeout of the controller is greater than the resending timeout of the host.
1092646| Fixed an issue in the DTM RX scheduling that may cause the stack to become unresponsive when the stack runs in RTOS.

Fixed in release 5.0.0.0

ID # Description
1019590 Fixed an issue that the sl_bt_system_get_counters() function will

always return 0 for GRANT denied counts when using the rail_util_coex component with Bluetooth.
1020072| Fixed the issue where the coex REQUEST is held asserted for a longer duration than normal when a connection event pre-empts a lower-priority passive scan event that is at or near completion.
1039172| Fixed multiple HCI packet handling in CPC-HCI bridge that causes a GATT discovery failure.
1039636| Fixed an issue in the Bluetooth controller that overrides the low- power amplifier configuration to the high-power amplifier if the application selects the low-power amplifier. This issue causes an increase in transmission current. The fix is available since the Bluetooth SDK 4.2.0.0.
1040323| The mandatory ADI field has been added to the AUX_ADV_IND PDUs.
1042501| Fixed an issue in AppLoader causing using static random address in Series-2 devices to fail.
1043031| Fixed an issue with RAIL’s PA auto mode that would result in selecting an unsupported RAIL_TxPowerMode_t on chip OPNs that are missing the higher power PAs.
1057377| Fixed an issue that the Apploader hits an assertion causing the OTA DFU to be unable to proceed on [M|B]GM240P modules.
1057775| Add BGM240P/BGM240S support in Bluetooth sample applications.
1058017| Fixed for the bt_aoa_host_locator example to use less CPU on the host side.
10601181067617| Fixed an issue that causes efr32[M|B]g24 devices to stop sending Bluetooth packets properly after several hours of operation.
1063497| Fixed an issue in the bt_ncp_host that it is unable to send data to the device. This issue was introduced in Bluetooth SDK 4.2.0.
1067967| Fixed an issue that causes sl_bt_evt_sync_opened and sl_bt_evt_sync_transfer_received events to report a wrong adv_phy value if the periodic advertising train uses the coded PHY.
1068798| Fixed an issue that causes sl_bt_connection_get_tx_power() and sl_bt_connection_get_remote_tx_power() to return an error when they are called with phy value sl_bt_gap_phy_coding_500k_coded.
1069081| Fixed the vendor specific deinit command not working properly when called over HCI.
1069305| The stack now adds the device name to scan response data packet as needed when handling the command sl_bt_legacy_advertiser_generate_data() for generating advertising data for legacy advertising PDUs.
1069609| Fixed an issue that makes it impossible to set scan parameters via command sl_bt_cmd_scanner_set_parameters() when the component bluetooth_feature_scanner is used, but neither the bluetooth_feature_legacy_scanner nor bluetooth_feature_extended_scanner is.
1078436| Fixed the issue in Bluetooth SDK versions 4.0.0, 4.1.0, 4.2.0, and 4.2.1, where devices previously bonded with using Bluetooth SDK versions 3.3.2 or earlier appear to be not bonded.

Known Issues in the Current Release

Issues in bold were added since the previous release. If you have missed a release, recent release notes are available on https://www.silabs.com/developers/bluetooth-low-energy in the Tech Docs tab.

ID # Description Workaround
361592 The sync_data event does not report TX power. None
368403 If setting CTE interval to 1, a CTE request should be sent in every
connection interval. But it is sent only in every second connection interval.

None
641122| The Bluetooth stack component does not provide a configuration for RF antenna path.| This is an issue specifically for BGM210P. One workaround is to manually update the configuration in sl_bluetooth_config.h in text edit mode.If the OTA with Apploader is used, include the bluetooth_feature_ota_config component in application project. Call command sl_bt_ota_set_rf_path() to set the RF path for OTA mode.
650079| LE 2M PHY on EFR32[B|M]G12 and EFR32[B|M]G13 doesn’twork with smartphones using the Mediatek Helio chip due to an interoperability issue.| No workaround exists. For application development and testing, the disconnection can be avoided by disabling 2M PHY with sl_bt_connection_set_preferred_phy() or sl_bt_connection_set_default_preferred_phy().
682198| The Bluetooth stack has an interoperability issue on the 2M PHY with a Windows PC.| No workaround exists. For application development and testing, the disconnection can be avoided by disabling 2M PHY with sl_bt_connection_set_preferred_phy() or sl_bt_connection_set_default_preferred_phy().
730692| 4-7% packet error rate is observed on EFR32M|BG13 devices when RSSI is between -25 and -10 dBm. The PER is nominal (as per the datasheet) both above and below this range.| None
756253| The RSSI value on a Bluetooth connection returned by the Bluetooth API is incorrect on EFR32M|B1, EFR32M|B12, EFR32M|B13, and EFR32M|B21 devices. On EFR32M|B21 devices. It is about 8~10 dBm higher than the actual value, according to a measurement.| Install the “RAIL Utility, RSSI” component in the application project. This component provides a default RSSI offset for the chip that is applied at the RAIL level and can help to achieve more accurate RSSI measurements.
845506| When the Bluetooth_feature_afh component for AFH is included, the feature initialization always enables AFH.| To include the component but not to enable AFH at device boot, change the parameter value from 1 to 0 in the function call of sl_btctrl_init_afh() in sl_bt_stack_init.c.
1031031| Changing the configuration in the bt_aoa_host_locator application results in crash in the application.| None
1169496| There is an issue in the Bluetooth link layer that may cause a multiprotocol application using the BLE advertisements to crash after running for a long time.This issues does not exist on newer Bluetooth SDK versions.| None

Deprecated Items

Deprecated in release 5.0.0.0
sl_bt_scanner_set_mode
sl_bt_scanner_set_timing
Deprecated version constants in sl_bt_version.h

  • BG_VERSION_MAJOR, replaced by SL_BT_VERSION_MAJOR
  • BG_VERSION_MINOR, replaced by SLBT VERSION_MINOR
  • BG_VERSION_PATCH, replaced by SLBT VERSION_PATCH
  • BG_VERSION_BUILD, replaced by SLBT VERSION_BUILD
  • BG_VERSION_HASH, replaced by SLBT VERSION_HASH

Removed Items

Removed from release 5.0.0.0
BGAPI command sl_bt_dfu_reset

Multiprotocol Gateway and RCP

New Items
Added in release 5.1.1.0
Zigbeed now loads the CREATOR_STACK_RESTORED_EUI64, if present, from the host tokens file, and uses it as the EUI64, overriding the EUI64 stored on the EFR32.

Added in release 5.1.0.0
Zigbeed now supports coex EZSP commands.

Added in release 5.0.0.0
Added Dynamic Multiprotocol BLE and Zigbee NCP project (zigbee_ncp-ble_ncp- xxx.slcp). Released as experimental quality.
Added 802.15.4 concurrent listening for EFR32MG24 CMP RCP. This is the ability to run Zigbee and OpenThread simultaneously on
different channels using a single RCP (rcp-802154-xxx.slcp and rcp-802154 -blehci-xxx.slcp). Released as experimental quality.
Added Zigbeed support for 32-bit x86 architecture.
Added support for BLE to de-init in multiprotocol use cases, freeing up memory resources for use by other protocol stacks.
The Stack API Trace now can be enabled for Zigbeed by setting the debug-level to 4 or 5 in the zigbeed.conf file.
Zigbeed stack version as well as build date and time are now printed in the logs.

Improvements
Changed in release 5.1.1.0
Reduced CPC Tx and Rx queue sizes to fit the Zigbee BLE DMP NCP onto the MG13 family.
Changed zigbee_ble_event_handler to print scan responses from legacy advertisements in DMPLight app.
The rcp-xxx-802154 and rcp-xxx-802154-blehci apps now use 192 µsec turnaround time for non-enhanced acks while still using 256 µsec turnaround time for enhanced acks required by CSL.

Fixed Issues
Fixed in release 5.1.4.0

ID # Description
1244459 When sending Zigbee data packets to sleepy children of an RCP-based

device, the framePending state for that child on the RCP could be corrupted and forced False under these conditions:

  • if the delivery to the child fails due to no MAC Ack received, and·
  • additional data packets for that child are waiting in the MAC Indirect queue.This corruption would leading to no further data being picked up by the sleepy end device until all those pending data have timed out in the host stack after the MAC Indirect Transmission Timeout (7680ms by default) has elapsed for each queued message.This issue has been fixed.Other ref. 1243036, 1294248

** 1199706| Fixed an issue where data polls from forgotten end device children weren’t properly setting a pending frame on the RCP to queue a Leave and Rejoin command to the former child.Other ref. 1305071**

Fixed in release 5.1.4.0

ID # Description
1188521 Fixed an RCP hang issue when running BLE Scan on with notification

and OpenThread ping traffic.

Fixed in release 5.1.3.0

ID # Description
1118077 In the CMP RCP, Spinel messages were being dropped under heavy

traffic load due to CPC not keeping up with the incoming packets. Fixed this by bundling all Spinel messages ready to be sent over CPC into one payload on the RCP, and unbundling them on the host. This dramatically improves the efficiency of CPC so that it can keep up with the incoming radio traffic.
1113498,1135805,1139990,1143344| **** Fixed multiple intermittent Zigbeed crashes and asserts that could be triggered when joining many Zigbee devices simultaneously to the CMP RCP.

Fixed in release 5.1.2.0

ID # Description
1130226 Fixed issue in which the RCP would not recover if CPC became

temporarily busy.
1129821| Fixed null pointer dereference in Zigbeed when receiving a packet if no buffers are available.

Fixed in release 5.1.0.0

ID # Description
1036645 Solved a bug in BLE CPC NCP which prevented a client app from

reconnecting after the first disconnection.
1068435| Fixed Green Power bidirectional commissioning timing issue. Certification test case GPP 5.4.1.23 passes.
1074593| Fixed issue in which Just-in-time (JIT) messages to sleepy end devices were not sent correctly by Zigbeed + RCP.
1076235| Fixed issue where ot-cli failed to run in the multiprotocol docker container.
1080517| Z3GatewayCPC now automatically handles a reset of the NCP (CPC secondary).
1085498| Fixed an issue where Zigbeed was not sending rejoin responses to sleepy end devices indirectly.
1090915| Fixed issue where multiple 0x38 errors appeared when attempting to either open a Zigbee endpoint on the Z3GatewayCPC OR to set EZSP parameters without resetting the CPC NCP.

Fixed in release 5.0.0.0

ID # Description
828785 Fixed a bug in cpc-hci-bridge that caused an HCI packet to be dropped

if BlueZ sent two at once.
834191| Improved the CPU utilization of the cpc-hci-bridge helper application.
1025713| Increased max length of Zigbeed device path to 4096.
1036622| Fixed a problem using cmake to build ot-cli using the multi-PAN RCP.
1040127| CPC security was failing to initialize for the rcp-uart-802154 and rcp-spi-802154 projects on MG13 and MG14 series parts. To work around this issue, mbedtls_entropy_adc has been added as entropy source for these parts. That might prevent the ADC from being used in combination with CPC security.
1066422| Fixed an intermittent buffer leak in Zigbeed.
1068429| Fixed a race condition that could cause the CMP RCP to assert.
1068435| Added capability on the RCP node to check and buffer a single bidirectional Green Power data frame and send it out upon rx offset timeout.
1068942| Fixed a leak in the RCP source match table that could prevent Zigbee devices from joining.
ID #| Description
---|---
1074172| Fixed sending leave request from Zigbeed when receiving a poll from a non-child.
1074290| Stopped Zigbeed from processing un-acked polls.
1079903| Fixed a bug in the CMP RCP that could cause SPINEL messages to be dispatched incorrectly, resulting in Zigbeed and OTBR crashing or exiting.

Known Issues in the Current Release
Issues in bold were added since the previous release. If you have missed a release, recent release notes are available on https://www.silabs.com/developers/gecko-software-development-kit.

ID # Description Workaround
811732 Custom token support is not available when using Zigbeed. Support is

planned in a future release.
937562| Bluetoothctl ‘advertise on’ command fails with rcp-uart- 802154-blehci app on Raspberry Pi OS 11.| Use btmgmt app instead of bluetoothctl.
1031607| The rcp-uart-802154.slcp project is running low on RAM on an MG1 part. Adding components may reduce the heap size below what is needed to support ECDH binding in CPC.| A workaround is to disable CPC security via the SL_CPC_SECURITY_ENABLED configuration.
1074205| The CMP RCP does not support two networks on the same PAN id.| Use different PAN ids for each network. Support is planned in a future release.

Deprecated Items
Removed Items

Using This Release

This release contains the following

  • Silicon Labs Bluetooth stack library
  • Bluetooth sample applications

For more information about the Bluetooth SDK see QSG169: Bluetooth® SDK v3.x Quick Start Guide. If you are new to Bluetooth see UG103.14: Bluetooth LE Fundamentals.

Installation and Use
The Bluetooth SDK is provided as part of the Gecko SDK (GSDK), the suite of Silicon Labs SDKs. To quickly get started with the GSDK, install Simplicity Studio 5, which will set up your development environment and walk you through GSDK installation. Simplicity Studio 5 includes everything needed for IoT product development with Silicon Labs devices, including a resource and project launcher, software configuration tools, full IDE with GNU toolchain, and analysis tools. Installation instructions are provided in the online Simplicity Studio 5 User’s Guide.
Alternatively, Gecko SDK may be installed manually by downloading or cloning the latest from GitHub. See https://github.com/SiliconLabs/gecko_sdk for more information.

Simplicity Studio installs the GSDK by default in:

  • (Windows): C:\Users\\SimplicityStudio\SDKs\gecko_sdk
  • (MacOS): /Users//SimplicityStudio/SDKs/gecko_sdk

Documentation specific to the SDK version is installed with the SDK. Additional information can often be found in the knowledge base articles (KBAs). API references and other information about this and earlier releases is available on https://docs.silabs.com/.

Security Information
Secure Vault Integration
When deployed to Secure Vault High devices, sensitive keys such as the Long Term Key (LTK) are protected using the Secure Vault Key Management functionality. The table below shows the protected keys and their storage protection characteristics.

Wrapped Key Exportable / Non-Exportable Notes
Remote Long Term Key (LTK) Non-Exportable
Local Long Term Key (legacy only) Non-Exportable
Remote Identity Resolving Key (IRK Exportable Must be Exportable for future

compatibility reasons
Local Identity Resolving Key| Exportable| Must be Exportable because the key is shared with other devices.

Wrapped keys that are marked as “Non-Exportable” can be used but cannot be viewed or shared at runtime.
Wrapped keys that are marked as “Exportable” can be used or shared at runtime but remain encrypted while stored in flash.
For more information on Secure Vault Key Management functionality, see AN1271: Secure Key Storage.

Security Advisories

To subscribe to Security Advisories, log in to the Silicon Labs customer portal, then select Account Home. Click HOME to go to the portal home page and then click the Manage Notifications tile. Make sure that ‘Software/Security Advisory Notices & Product Change Notices (PCNs)’ is checked, and that you are subscribed at minimum for your platform and protocol. Click Save to save any changes.

Support
Development Kit customers are eligible for training and technical support. Use the Silicon Labs Bluetooth LE web page to obtain information about all Silicon Labs Bluetooth products and services, and to sign up for product support.

You can contact Silicon Laboratories support at http://www.silabs.com/support.

IoT Portfolio
www.silabs.com/IoT

SW/HW
www.silabs.com/simplicity

Quality
www.silabs.com/quality

Support & Community
www.silabs.com/community

Disclaimer
Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and “Typical” parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice to the product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Without prior notification, Silicon Labs may update product firmware during the manufacturing process for security or reliability reasons. Such changes will not alter the specifications or the performance of the product. Silicon Labs shall have no liability for the consequences of use of the information supplied in this document. This= document does not imply or expressly grant any license to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any FDA Class III devices, applications for which FDA premarket approval is required or Life Support Systems without the specific written consent of Silicon Labs. A “Life Support System” is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Silicon Labs disclaims all express and implied warranties and shall not be responsible or liable for any injuries or damages related to use of a Silicon Labs product in such unauthorized applications.
Note: This content may contain offensive terminology that is now obsolete. Silicon Labs is replacing these terms with inclusive language wherever possible. For more information, visit www.silabs.com/about-us /inclusive-lexicon-project
Trademark Information
Silicon Laboratories Inc.® , Silicon Laboratories® , Silicon Labs® , SiLabs® and the Silicon Labs logo® , Bluegiga® , Bluegiga Logo® , EFM® , EFM32® , EFR, Ember® , Energy Micro, Energy Micro logo and combinations thereof, “the world’s most energy friendly microcontrollers”,  RedpineSignals® , WiSeConnect , n-Link, EZLink® , EZRadio® , EZRadioPRO® , Gecko® , Gecko OS, Gecko OS Studio, Precision32®
, Simplicity Studio® , Telegesis, the Telegesis Logo® , USBXpress ® , Zentri, the Zentri logo and Zentri DMS, Z-Wave® , and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. Wi-Fi is a registered trademark of the Wi-Fi Alliance. All other products or brand names mentioned herein are trademarks of their respective holders.

Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701 USA
www.silabs.com

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

SILICON LABS User Manuals

Related Manuals