Silicon Labs Bluetooth® SDK 2.12.4.0 GA

19Q2 Gecko SDK Suite

November 8, 2019

Introduction

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-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.

Extensions to the SDK include Bluetooth Mesh and Apple® HomeKit® for customers seeking the additional capabilities.

SDK Versions Covered:

Key Features

Compatibility and Use Notices

If you are new to the Silicon Labs Bluetooth SDK, see Using This Release.

Compatible Compilers:

1 New Items

Gecko Platform release notes are now available through Simplicity Studio's Launcher Perspective, under SDK Documentation > Bluetooth SDK 2.12.n.n > Release Notes. The Gecko Platform code provides functionality that supports protocol plugins and APIs in the form of drivers and other lower layer features that interact directly with Silicon Labs chips and modules. Gecko Platform components include EMLIB, EMDRV, RAIL Library, NVM3, and mbedTLS.

1.1 New Features

Added in release 2.12.2.0

PHY settings on a Bluetooth connection

This feature allows the application to set preferred PHYs the stack should take into account in PHY selection, and the PHYs the stack can accept when the remote device initiates a PHY update.

Added in release 2.12.0.0

Advertising packet chaining

With this feature, the total amount of advertising data in an advertising packet can be up to 1650 bytes in extended advertising.

1.2 New APIs

For additional documentation and command descriptions please refer to the Bluetooth Software API Reference Manual.

Added in release 2.12.2.0

Added in release 2.12.0.0

2 Improvements

2.1 Changed APIs

Changed in release 2.12.4.0

evt_cte_receiver_iq_report

Event counter and several other parameters are added into this event.

Changed in release 2.12.0.0

3 Fixed Issues

Fixed in release 2.12.4.0

ID #Description
429536Documented that maximum 191 bytes of advertisement data can be set for connectable extended advertising.
437725To improve IOP with legacy devices, the stack doesn't set the bit for Channel Selection Algorithm #2 in CONNECT_IND packets when opening connection to a device which doesn't support Channel Selection Algorithm #2.

Fixed in release 2.12.3.0

ID #Description
404249Fix an issue that radio may get stuck in RX state with low RSSI signals, which causes the Bluetooth stack becoming unresponsive.
415812Fix an IOP problem with some smartphones that connection requests from these phones are often not received, which causes connections taking too long to establish.
430101Fix an issue that setting TX Power between -13 and 0 dBm results in much lower transmit power. This issue can cause a noticeable performance degradation in RF polluted environments.
430225Fix PS Key CTUNE control for EFR32xG21 parts.
431563Fix poor OTA performance.
431657Fix a memory leak when the stack opened a connection but connection failed to establish after 6 connection intervals.

Fixed in release 2.12.2.0

ID #Description
376747Fix the voice_over_ble Thunderboard example to dynamically perform GATT service discovery for using correct handles to read characteristic values.
402234More fixes for the disconnection issue caused by connection updates with certain parameters.
420208Fix NCP wake-up pin polarity handling (NCP_WAKEUP_POLARITY), so that the defined polarity is taken into account.
420807Fix the usage of HFXO calibration values for xGM210 modules to avoid reading incorrect calibration values at initialization time.

Fixed in release 2.12.1.0

ID #Description
384097Fix unstable connection issue while the master device has multiple simultaneous connections and is performing scanning.
384144Fix an issue that the stack may return the link layer procedure response timeout error when closing a Bluetooth connection.
391346After advertising is started the stack will send the first advertisement straight away. Previously it might send it after the first advertisement interval has elapsed.
402234Fix disconnection issue when performing connection update with slave latency and specific interval parameters.
403819Apploader can now write images right up to the NVM start address.
406537Fix missing ADI field in chained advertisement packets.
406691The stack can now handle 255 bytes data in cmd_system_data_buffer_write command.
406977Periodic advertising data can now be set in stack when the periodic advertising has not been started. Previously this command returns an error.
407673The stack now blocks the example LTK in Bluetooth specification if sent by the other device. This security improvement addresses vulnerability CVE-2019-2102.
407871Fix default RF antenna pin selection for EFR32xG21 parts, radio boards and xGM210 modules.
411446If advertising single event at a time, the stack does not check anymore if packet length would exceed advertising interval. Previously packet_too_long error would have been returned.

Fixed in release 2.12.0.0

ID #Description
412625The stack ensures that the GATT database hash value is calculated when it is first read by command gecko_cmd_gatt_server_read_attribute_value. Previously an incorrect value might be returned in this case. Additionally the fix also prevents from overwriting the hash value with gecko_cmd_gatt_server_write_attribute_value.
412725A change was introduced in version 2.12.0 which caused compatibility issues with TB Sense mobile app. This change was reversed to fix those issues and it will be reintroduced when board detection gets improved on the TB Sense mobile app side.
397063In Bluetooth SDK 2.11.4 and 2.11.5, occasionally the stack is unable to receive all GATT write without response or characteristic value notification PDUs.
337089Deleting the bonding of a device while the device is still connected causes the stack using outdated bonding data on the connection. This has been fixed so that the connection is also closed after the bonding has been deleted.
384093The application cannot configure the maximum ATT MTU if GATT client is excluded. This has been fixed by adding a new equivalent API in GATT server class.
387745When Bluetooth runs in RTOS, the stack initialization may cause assertions.
391345Advertising could not be restarted if a timeout has been set previously.
396352Increasing security on a connection with previously bonded devices may fail.
398948The stack does not correctly inform the application about ATT MTU size change if the remote device first denies the stack's ATT MTU exchange request and then initiates another ATT MTU exchange request.

4 Known Issues in the Current Release

Issues in bold were added since the previous release.

ID #DescriptionWorkaround
243009With certain events, GCC breakpoints cannot be set.Change optimization level to none in project settings
335894Command gecko_cmd_gatt_discover_primary_services_by_uuid returns success in case of incomplete parameters.None
337467MGM12P has poor signal strength when doing OTA with Apploader.None
360313Default RAIL assertion (RAILCb_AssertFailed) enters an infinite loop causing the stack not responsive.Override RAIL assertion function in application space following these instructions.
361592The sync_data event does not report TX power.None
368798Example project soc-thunderboard_sense_2 does not print float values correctly.In project C/C++ settings, enable the printf float option.
396308In NCP, BGAPI may be out of sync between the host and target when the target is reset in the middle of sending a BGAPI message to host. The out of sync issue could cause the host unable to communicate with the target.In NCP target, add a delay to flush NCP Tx queue after a system reset command is received.
415583The stack returns wrong state instead of out of memory error if application sends a characteristic notification to all connections in low memory situation.In application, treat this condition as low memory.
420866With iPhone6, the stack could become unresponsive if it is sending lots of data using characteristic notifications to the phone.In application, do not use a loop waiting for the success of sending characteristic notification operation. When an out of memory error is received from this operation, a timer should be used to retry the operation later.
431452When the requested TX Power is above 0 dBm, the actual transmit power may deviate randomly.None
436243The soc-dtm example does not correctly timeout incoming data due to incorrect HW initialization.On EFR32xG1 devices, initialize CRYOTIMER to 32768 Hz ticks. No workaround for EFR32xG21 devices.

5 Deprecated Items

Deprecated in release 2.12.2.0

Deprecated APIs

Deprecated in release 2.12.1.0

Deprecated item: EFR32BG14 Part Support

Reason: The EFR32BG14 is EOL.

End-of-Service (EoS) Date: June 2020. As of this EoS date, EFR32BG14 part support will no longer be available in the then current and future GSDK releases, and EFR32BG14 parts will no longer be supported in any GSDK releases.

Maintenance Period: From now until the EoS date, only critical bug fixes and security patches may be made available on currently supported GSDK releases.

Replacement: EFR32BG13.

Deprecated in release 2.12.0.0

As of June 2019 Simplicity Studio 3.0 is being deprecated. All access will be removed from Silicon Labs' website at the end of 2019.

Deprecated APIs

6 Removed Items

None

7 Using This Release

This release contains the following:

For more information about the Bluetooth SDK see QSG139: Getting Started with Bluetooth® Software Development. If you are new to Bluetooth see UG103.14: Bluetooth LE Fundamentals.

7.1 Installation and Use

A registered account at Silicon Labs is required in order to download the Silicon Labs Bluetooth SDK. You can register at https://siliconlabs.force.com/apex/SL_CommunitiesSelfReg?form=short.

Stack installation instruction are covered in QSG139: Getting Started with Bluetooth® Software Development.

Use the Bluetooth SDK with the Silicon Labs Simplicity Studio V4 development platform. Simplicity Studio ensures that most software and tool compatibilities are managed correctly. Install software and board firmware updates promptly when you are notified.

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/.

7.2 Support

Development Kit customers are eligible for training and technical support. You can 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.

PDF preview unavailable. Download the PDF instead.

bt-software-release-notes-2.12.4.0 Silicon Labs Adobe PDF Library 19.12.68

Related Documents

Preview Silicon Labs 32-bit MCU SDK 6.4.7.0 GA Release Notes
Official release notes for Silicon Labs' 32-bit MCU SDK version 6.4.7.0 GA, part of Gecko SDK Suite 4.2. Details SDK versions, new features, compatibility, and support for EFM32 and EZR32 development kits.
Preview Connect SDK 4.0.0.0 GA Release Notes - Silicon Labs
Comprehensive release notes for Silicon Labs Connect SDK version 4.0.0.0 GA, detailing new features, improvements, fixed issues, known issues, and compatibility information for proprietary wireless applications using IEEE 802.15.4.
Preview Silicon Labs Bluetooth Mesh SDK Release Notes v8.1.0.0
Release notes for Silicon Labs Bluetooth Mesh SDK version 8.1.0.0, detailing new features, improvements, fixed issues, and known issues for Bluetooth Low Energy mesh networking development.
Preview Silicon Labs Bluetooth LE SDK 9.1.1.0 GA and Simplicity SDK Suite 2024.12.3 Release Notes
This document provides release notes for Silicon Labs Bluetooth LE SDK version 9.1.1.0 GA and Simplicity SDK Suite 2024.12.3, detailing new features, improvements, fixed issues, known issues, deprecated items, and removed items.
Preview Wi-SUN SDK 2.5.1.0 Release Notes
Release notes for Silicon Labs Wi-SUN SDK version 2.5.1.0, detailing new features, improvements, and fixed issues for Wi-SUN stack and applications.
Preview Connect SDK 4.0.2.0 GA Release Notes - Silicon Labs
Release notes for Silicon Labs Connect SDK version 4.0.2.0 GA, detailing new features, improvements, fixed issues, known issues, deprecated items, and removed items for the Simplicity SDK Suite. Includes compatibility information and installation guidance.
Preview Silicon Labs Bluetooth Mesh SDK 6.1.1.0 GA Release Notes
Release notes for Silicon Labs Bluetooth Mesh SDK version 6.1.1.0 GA, detailing new features, improvements, fixed issues, and compatibility information for the Gecko SDK Suite 4.4.
Preview Silicon Labs Bluetooth SDK 2.13.7.0 GA Release Notes
Release notes for Silicon Labs Bluetooth SDK version 2.13.7.0 GA, covering new features, improvements, fixed issues, known issues, deprecated items, and removed items for the Gecko SDK Suite 2.7.