2.3 Bluetooth Dual Mode Software v.1.5.0 build 212. Software Version. 1.5.0 build 212. Software Status. Production. Release Date. 6th of April, 2020. Affected Products. BT121. Dual ...
18 juin 2021 — 979 BT121 iAP endpoint send buffers. Endpoint was not closed after iAP connection timeout and buffers stuck full full message.
BLUETOOTH DUAL MODE SOFTWARE RELEASE NOTES Wednesday, 3 March 2021 Version 3.10 Table of Contents 1 Version History ________________________________________________________________________ 3 2 Bluegiga Bluetooth Dual Mode Software Release Notes ________________________________________ 4 2.1 Bluetooth Dual Mode Software v.1.7.0 build 217 __________________________________________ 4 2.1.1 Changes: 1.7.0 (build 217) compared to 1.6.0 (build 215) ____________________________ 4 2.2 Bluetooth Dual Mode Software v.1.6.0 build 215 __________________________________________ 4 2.2.1 Changes: 1.6.0 (build 215) compared to 1.5.0 (build 212) ____________________________ 4 2.3 Bluetooth Dual Mode Software v.1.5.0 build 212 __________________________________________ 5 2.3.1 Changes: 1.5.0 (build 212) compared to 1.4.0 (build 211) ____________________________ 5 2.4 Bluetooth Dual Mode Software v.1.4.0 build 211 __________________________________________ 5 2.4.1 Changes: 1.4.0 (build 211) compared to 1.3.0 (build 210) ____________________________ 5 2.5 Bluetooth Dual Mode Software v.1.3.0 build 210 __________________________________________ 6 2.5.1 Changes: 1.3.0 (build 210) compared to 1.2.0 (build 208) ____________________________ 6 2.5.2 IOP testing _________________________________________________________________ 7 2.6 Bluetooth Dual Mode Software v.1.2.0 build 208 _________________________________________ 8 2.6.1 Changes: 1.2.0 (build 208) compared to 1.1.2 (build 184) ____________________________ 8 2.6.2 IOP testing ________________________________________________________________ 10 2.7 Bluetooth Dual Mode Software v.1.1.2 build 184 _________________________________________ 11 2.7.1 Changes: 1.1.2 (build 184) compared to 1.1.1 (build 168) ___________________________ 11 2.8 Bluetooth Dual Mode Ready Software v.1.1.1 build 168 ___________________________________ 12 2.8.1 Changes: 1.1.1 (build 168) compared to 1.1.0 (build 154) ___________________________ 12 2.9 Bluetooth Dual Mode Software v.1.1.0 build 154 _________________________________________ 13 2.9.1 Changes: 1.1.0 (build 154) compared to 1.0.0 (build 97) ____________________________ 14 2.10 Bluetooth Dual Mode Software v.1.0.0 build 97 _________________________________________ 16 2.10.1 Changes: 1.0.0 (build 97) compared to 0.9.1 (build 44) ____________________________ 16 2.11 Bluetooth Dual Mode Software v.0.9.1 build 44 _________________________________________ 19 2.11.1 Features in the First Release ________________________________________________ 19 2.11.2 Fixed Issues _____________________________________________________________ 19 2.11.3 Known Issues in this Release ________________________________________________ 19 2.11.4 IOP Testing ______________________________________________________________ 20 Silicon Labs Page 2 of 22 1 Version History Version Comments 1.0 Beta SW Release 0.9.1 build 44 2.0 Production SW Release 1.0.0 build 97 3.0 Production SW Update 1.1.0 build 149 3.1 Production SW Release 1.1.0 build 154 3.2 Production SW Update 1.1.0 build 154 3.3 Production SW Release 1.1.1 build 168 3.4 Production SW Release 1.1.2 build 184 3.5 Production SW Release 1.2.0 build 208 3.6 Production SW Release 1.3.0 build 210 3.7 Production SW Release 1.4.0 build 211 3.8 Production SW Release 1.5.0 build 212 3.9 Production SW Release 1.6.0 build 215 3.10 Production SW Release 1.7.0 build 217 Silicon Labs Page 3 of 22 2 Bluegiga Bluetooth Dual Mode Software Release Notes 2.1 Bluetooth Dual Mode Software v.1.7.0 build 217 Software Version Software Status Release Date Affected Products 1.7.0 build 217 Production 3rd of March, 2021 BT121 Bluetooth Dual Mode Module 2.1.1 Changes: 1.7.0 (build 217) compared to 1.6.0 (build 215) New Features Feature Accessory identification information parameters Explanation Updated list of accessory identification information parameters according to new requirements in MFi specification Quality Improvements N/A Fixed Known Issues in this release ID Issue Explanation N/A N/A No known issues 2.2 Bluetooth Dual Mode Software v.1.6.0 build 215 Software Version Software Status Release Date Affected Products 1.6.0 build 215 Production 25th of November, 2020 BT121 Bluetooth Dual Mode Module 2.2.1 Changes: 1.6.0 (build 215) compared to 1.5.0 (build 212) Quality Improvements Implemented protection against IOActive BR/EDR ASB-U Injection Attack Implemented protection against Impersonation in the Passkey Entry Protocol, Authentication of the LE Legacy Pairing Protocol and Impersonation in the PIN Pairing Protocol vulnerabilities Fixed Known Issues in this release ID Issue 979 BT121 iAP endpoint_send buffers stuck full 986 Unable to bond with PC (Win10) Explanation of the issue Endpoint was not closed after iAP connection timeout and buffers full message BT121 didn't store the previous link key Silicon Labs Page 4 of 22 ID Issue 992 Wrong invalidation of a some PS Keys Explanation of the issue PS Dump function returned no longer valid PS Keys apart from existing PS Keys 2.3 Bluetooth Dual Mode Software v.1.5.0 build 212 Software Version Software Status Release Date Affected Products 1.5.0 build 212 Production 6th of April, 2020 BT121 Bluetooth Dual Mode Module 2.3.1 Changes: 1.5.0 (build 212) compared to 1.4.0 (build 211) Quality Improvements Implemented protection against SweynTooth vulnerabilities Known Issues in this release ID Issue Explanation N/A N/A No known issues 2.4 Bluetooth Dual Mode Software v.1.4.0 build 211 Software Version Software Status Release Date Affected Products 1.4.0 build 211 Production 20th of March, 2020 BT121 Bluetooth Dual Mode Module 2.4.1 Changes: 1.4.0 (build 211) compared to 1.3.0 (build 210) Quality Improvements Changed messages generated during HID connection closing Fixed Known Issues since the version 1.3.0 build 210 ID Issue Explanation of the issue Silicon Labs Page 5 of 22 ID Issue 981 Problem with smartphone connection over HID profile 985 Bonding to BT121 with random static address doesn't work Explanation of the issue When the first connection attempt initialized by BT121 was rejected intentionally by a smartphone user, the next connection attempt resulted with an error message ' PSM already in use ' When BT121 device uses random static address, the attempt of bonding establishment during LE connection fails 2.5 Bluetooth Dual Mode Software v.1.3.0 build 210 Software Version Software Status Release Date Affected Products 1.3.0 build 210 Production 25th of October, 2019 BT121 Bluetooth Dual Mode Module 2.5.1 Changes: 1.3.0 (build 210) compared to 1.2.0 (build 208) New Features Feature BGAPI and streaming mode switching Bridging example Delay example Explanation Support for switching between BGAPI and streaming mode at runtime Added LE serial RFCOMM bridging BGScript example Added example of delay realization in BGScript Quality Improvements Improved multiple connections handling Added getting the value of the first and the last handlers related to a specific characteristic during discovering process Added the number of sent packets to test_dtm_completed event Added protection against changing encryption key size in the process of connection establishment and during the connection by introducing minimum key size checking Implemented protection against CVE-2019-2102 vulnerability by dropping connection if LTK provided by a remote device is the same as one used in Bluetooth Core Specification example Fixed Known Issues since the version 1.2.0 build 208 ID Issue Explanation of the issue 900 GATT over Bluetooth BR /EDR not work correctly Writing over Bluetooth BR/EDR a value to the remote attribute residing at a remote GATT server did not work 976 Memory leakage When opening/closing connections very frequently using HID, o ne of following during closing HID errors could have been received: 'Controller is at limit of connections it can connections support' or 'Device has run out of memory' Silicon Labs Page 6 of 22 ID Issue Explanation of the issue 938 Bug in the bgbuild. Bgbuild.exe parser was not giving any error with a wrong value type in a gatt.xml exe parser file 980 Reset in sleep mode BT121 occasionally was resetting when using sleep mode Known Issues in this release ID Issue Explanation N/A N/A No known issues 2.5.2 IOP testing This software release (1.3.0 build 210) has been tested against the following device platforms. Basic Bluetooth BR/EDR and Low Energy connection, pairing and data transfer tests have been run. "OK" means that test was performed with a positive result. "N/A" means the platform does not support the functionality. Test Case BT BR/EDR connection BT BR/EDR pairing SPP or iAP2 BT Low Energy connection BT Low Energy pairing GATT over BT Low Energy Android Android Android iOS 7.0 8.0 9.0 12.4 OK OK OK OK Windows Ubuntu 10 18.04.03 OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK MacOS 10.13.6 OK OK OK N/A N/A N/A Tested Platform Android 7.0 Android 8.0 Android 9.0 iOS 12.4 Windows 10 Ubuntu 18.04.03 MacOS 10.13.6 Device / Stack Manufacturer Samsung Galaxy Tab S2 Nokia 8 Xiaomi Mi A2 iPhone 6 CSR8510 A10 Dongle BlueZ 5.48 CSR8510 A10 Dongle Apple BT Soft Version 6.0.7f10 Silicon Labs Page 7 of 22 2.6 Bluetooth Dual Mode Software v.1.2.0 build 208 Software Version Software Status Release Date Affected Products 1.2.0 build 208 Production 28th of August, 2018 BT121 Bluetooth Dual Mode Module 2.6.1 Changes: 1.2.0 (build 208) compared to 1.1.2 (build 184) New Features Feature Multiple filtering in scan results Encryption option during pairing Support for Apple iAP authentication co-processor 3.0 Enabling and disabling services Different BT address for LE and BT BR/EDR SPI slave Explanation Multiple filtering added to the le_gap_set_scan_result_filter New configuration option has been introduced that allows to choose only EncKey during pairing or a combination of EncKey, IdKey and Sign. Support for the new Apple iAP authentication co-processor 3.0 has been added It is possible to enable/disable service during runtime. It is possible to have different BT and LE address. For LE side a random static address is assigned. SPI slave implementation has been added Quality Improvements Bluetooth SIG security update Regarding Coordinate Invalid Curve Attack Changed the Silicon Labs License Agreement text for SDK and host examples Bondable mode can be configured separately for BLE and BR/EDR BT Improved API documentation generation API descriptions have been updated Documentation of using HID descriptor in the module has been updated Not saving BR/EDR link_key if MITM required and LinkKey is not MITM protected DFU host example handles the possible UART desync at startup User interface improvement for BGTool application SPI examples have been updated DFU examples have been updated iAP reference application has been updated HW sleep and port options documentation has been updated Fixed Known Issues since the version 1.1.2 build 184 ID Issue 888 RTS line remaining stuck active high Explanation of the issue RTS line stuck active when sending a large amount of data over RFCOMM link. Timeout has been introduced. Silicon Labs Page 8 of 22 ID Issue Explanation of the issue 889 bt_connection_list does not report HID connections Connection list did not contain HID connections to check the module role (master or slave). List of reported connections has been changed. 892 set_role works only in RFCOMM It was reported that set_role command works only with RFCOMM connections connection and does not work with HID connections. 894 Strange behavior when opening the ACL and the RFCOMM connections separately You can open an ACL link with the command bt_gap_open, but you cannot close such ACL link manually, because it is closed automatically any time the last RFCOMM connection is closed. Now, after manually opening an ACL link with the command bt_gap_open, such ACL link will remain up until you explicitly close it with the command endpoint_close (using the connection ID received with the response of the bt_gap_open). 898 Internal temperature sensor issue Compensation for supply voltage fluctuations when reading the temperature has been added. 903 Investigation needed on a system_recovery event The event evt_system_recovery is being triggered after a write to a gatt server attribute. 906 LE security manager send wrong Identity Resolving Key BT121 does not support resolveable addresses so the key that the module sends should be all zeros. 911 Every other attempt to reprogram a BT121 with the bgupdate.exe fails with "Sync Failed" message In some cases during the process of a re-program of the module with the bgupdate.exe, the "Sync Failed" message occurs. 10 ms delays added between writes. 918 BT121 freezes when sending notifications while rts/cts flow control is disabled BT121 is operating with the host STM32 microcontroller. The connection is up and running and after some random time BT121 stops responding for any commands. The last outgoing command is a dumo_cmd_gatt_server_send_characteristic_notification. The only way to make it work again is to do a power cycle/reset and reinitiate the module. 921 HCI not waking up "watchdog" does not work Root cause for HCI getting stuck is a controller issue. Disabling the contoroller sleep unless it is put on intentionally. 922 HID Keyboard system_recovery event comes when module reconnects to Win10 After disconnecting (but paired) and trying to re-connect from the module to the host, a successful response to the bt_hid_open call is received, but then the module resets and issues a system_recovery event. This happens using a Win10 PC as well as a MacOS computer. When using mobile devices (Android and iOS) then the re-connection works as expected. 924 Problem with connection establishment while at the edge of range When the remote device is at the edge of the range, it is not rare not to receive any event following the commands bt_rfcomm_open or bt_rfcomm_open_port, whereas either the event endpoint_closing with reason 0x0204 (page timeout) or the many events that come when a connection is successfully established are expected. This is a TI radio related issue. Protection timer to gap_open acl for BR/EDR has been added as a workaround. 928 sm_store_bonding_configuration After boot the default configuration appears to be always in use is not persistent across a reset until the sm_store_bonding_configuration command is issued, despite the sm_read_bonding_configuration reporting a different configuration than the default. 930 le_gap_scan_response events not issued if the "Flags" AD structure is at the end af the adv data With "Flags" added at the end of AD structure BT121 as the scanner will not report advertisements at all and only scan responses are reported Silicon Labs Page 9 of 22 ID Issue 931 Cannot advertise in scannable_non_connectable mode while connected 936 BT121 should continue to retry the iAP initialization byte sequence every second 946 Pullup function doesn't work 948 Problems with DFU host example in build 206 Explanation of the issue Restarting the advertising mode using scannable_non_connectable mode after a connection is established was not possible. With iOS 11.2 beta slave, BT121 is sending an iAP initialization byte sequence but only sends it once and never tries again. BT121 should continue to retry the iAP initialization byte sequence every second according to section 47.1.7.2 of the Apple Accessory Interface Specification R27. It was impossible to use wakeup_pin with state down, because a pull-up feature attribute in HW config file and corresponing API command did not work properly. It was impossible to perform field upgrade with ST-based DFU using example under host_example/dfu direction because of a wrong parameter in data_length in uart_rx function. Known Issues in this release ID Issue Explanation N/A N/A No known issues 2.6.2 IOP testing This software release (1.2.0 build 208) has been tested against the following device platforms. Basic Bluetooth BR/EDR and Low Energy connection, pairing and data transfer tests have been run. "OK" means that test was performed with a positive result. "N/A" means the platform does not support the functionality. Test Case BT BR/EDR connection BT BR/EDR pairing SPP or iAP2 BT Low Energy connection BT Low Energy pairing GATT over BT Low Energy Android 6.0 OK Android 7.0 OK Android 8.0 OK iOS 11.4.1 OK Windows Ubuntu 10 18.04.1 OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK MacOS 10.13.6 OK OK OK N/A N/A N/A Tested Platform Android 6.0 Android 7.0 Android 8.0 iOS 11.4.1 Windows 10 Ubuntu 18.04.1 MacOS 10.13.6 Device / Stack Manufacturer Samsung Galaxy J5 Samsung Galaxy S6 Sony Xperia XZ1 Compact iPhone 7 Plus CSR8510 A10 Dongle BlueZ 5.48 CSR8510 A10 Dongle Apple BT Soft Version 6.0.7f10 Silicon Labs Page 10 of 22 2.7 Bluetooth Dual Mode Software v.1.1.2 build 184 Software Version Software Status Release Date Affected Products 1.1.2 build 184 Production 3rd of March, 2017 BT121 Bluetooth Dual Mode Module 2.7.1 Changes: 1.1.2 (build 184) compared to 1.1.1 (build 168) New Features Feature Explanation evt_bt_rfcomm_credit_starvation event New event for indicating that the device is running out of RFCOMM credits. As an application level workaround, one can then disconnect and reconnect. cmd_le_gap_set_scan_result_filter() Added the ability to filter scan responses and advertisements by device name. cmd_hardware_read_junction_temperature() This command can be used to read junction temperature (in Celsius) of the internal MCU when ADC is set active. Quality Improvements Improved API reference manual documentation Characteristic length definitions fixed in GATT.xml General documentation improvements BGTool crash fixed HID virtual cable unplug fixed Number of bondings now loaded in start-up I2C fixes Updated BGUpdate tool to handle non-virtual COM ports Fixed all examples for better IOP with Windows PCs running Toshiba stack RF test mode robustness improved in LE cases RFCOMM endpoint data handling in BGScript does not cause a crash anymore Fixed SPP server example Storing bonding keys for legacy devices only if they do not exist yet Improved IOP with WinCE devices by handling <ServiceName> tag better Improved HCI controller watchdog RFCOMM MTU size is set the same for both directions for better Android IOP Fixed Known Issues since the version 1.1.1 build 168 ID Issue Explanation of the issue 317 Wrong byte order with Android 5.1 Android OS 5.1 release has a bug which causes 128bit UUIDs to be shown in wrong byte order. At least from Android 6.0.1 onward, the byte order is fixed. 428 Advertisement This functionality will not be changed in the forthcoming releases anymore, but the data user must manually stop advertising to change advertising data if needed. 835 Lost ACL frames The original TI controller issue will no longer be fixed for the existing HW version of the product. However, there is now an application level workaround for the issue. Please see New Features chapter for the description, and API Reference Manual for more details. Silicon Labs Page 11 of 22 ID Issue 841 Closing RFCOMM connection 847 Bidirectional iAP UART traffic Explanation of the issue If remote end, in this case a certain type of Windows PC, closes RFCOMM connection too quickly, BT121 will lose the last part of the incoming data, which is sent just before RFCOMM closing. This behavior is not seen for example with Android or iOS devices. If iAP data is sent over UART in both directions exactly at the same time, data transfer can hang. To fix this, iAP data packet and acknowledgement are now separated to different RFCOMM frames. Known Issues in this release ID Issue Explanation 889 HID connections cmd_bt_connection_list command does not report HID connections. 892 cmd_bt_connection_set_role() The command only works for RFCOMM connections. 2.8 Bluetooth Dual Mode Ready Software v.1.1.1 build 168 Software Version Software Status Release Date Affected Products 1.1.1 build 168 Production 25th of October, 2016 BT121 Bluetooth Dual Mode Module 2.8.1 Changes: 1.1.1 (build 168) compared to 1.1.0 (build 154) New Features Feature Explanation bt_sdp_add_entry command This command can be used to add an SDP record into SDP server. bt_sdp_delete_entry command This command can be used to delete an SDP record from SDP server. hardware_read_write_spi Read and write command for SPI interface. command RFCOMM port information Local RFCOMM port information is added to bt_connection_parameters event as the last parameter. Maximum number of bondings reduced In order to free more flash memory for customer applications, we have decided to reduce the size of the database, which holds the information about the bondings. The maximum number of stored bondings is now 12. Quality Improvements Improved API reference manual documentation Changes in iOS 10 taken into account in interoperability with Apple devices Local and remote user messages fixed when closing an HID connection SDK examples improved Improvement to ensure Apple ATS tests always pass Application Note and other documentation updates Improved BGTool with minor and cosmetic fixes L2CAP control message ID fixed HID UUID now correctly added to EIR when HID server is started Firmware CRC checksum calculation fixed Endpoint data event fixed for BGScript when using BGAPI at the same time Silicon Labs Page 12 of 22 HID endpoints are now closed automatically after a timeout if it is not manually closed Non-supported SDP configuration options handled gracefully for better interoperability Optimized flash usage when storing bondings GATT service SDP record made configurable Fixed I2C timing calculations Fixed Known Issues since the version 1.1.0 build 154 ID Issue Explanation of the issue 672 Local name encoding It is possible to set an invalid local name for a device. 816 BGTool's The MAC address used by the BGTool in the bt_rfcomm_open command is broken, when re-connect this command is launched by pressing the reconnect button under the RFCOMM tab. button 817 UART parity bit When setting parity bit to odd or even, the parity bit is not added to the 8 data bits but the module starts to use 7 data bits. This prevents the use of parity bit with the BGAPI. 818 SPI read SPI reads return invalid data. 821 6th 6th incoming SPP connection will make the module SW to run out of memory, so it is not incoming recommended to have more than 5 simultaneous SPP connections with the newest SW SPP build. This limitation has emerged due the new features in the FW, and those reserve a connection little bit more RAM for the system tasks compared to the previous build. Known Issues in this release ID Issue Explanation 317 Wrong byte order with Android 5.1 Android OS 5.1 release has a bug which causes 128bit UUIDs to be shown in wrong byte order. 428 Advertisement It is not possible to change advertising data during advertising without stopping data advertising in between. 835 Lost ACL frames There is an issue in TI controller, which can cause data transfer to hang when in transparent mode. This seems to be because the controller does not always handle SEQN when the ACL frame contains bit errors. 841 Closing RFCOMM connection If remote end, in this case a certain type of Windows PC, closes RFCOMM connection too quickly, BT121 will lose the last part of the incoming data, which is sent just before RFCOMM closing. This behavior is not seen for example with Android or iOS devices. 847 Bidirectional iAP UART traffic If iAP data is sent over UART in both directions exactly at the same time, data transfer can hang. 2.9 Bluetooth Dual Mode Software v.1.1.0 build 154 Software Version Software Status Release Date Affected Products 1.1.0 build 154 Production 1st of July, 2016 BT121 Bluetooth Dual Mode Module Silicon Labs Page 13 of 22 2.9.1 Changes: 1.1.0 (build 154) compared to 1.0.0 (build 97) New Features Feature Explanation HID device over BR/EDR HID profile support. Cable replacement Cable replacement functionality for Bluetooth Low Energy connections. bt_connection_get_rssi command Get the RSSI value of a connection. bt_connection_read_clock command Read Bluetooth clock of a connection/piconet. bt_gap_set_auto_sniff command Set automatic sniff parameters for connections. bt_gap_set_discovery_mode command Set the discovery mode. bt_gap_set_host_channel_classification Configure BR/EDR channel classifications. command bt_rfcomm_modem_status command Set modem control status for RFCOMM connections. bt_rfcomm_set_modem_status_default Set modem control status to default values. command bt_rfcomm_start_server_port command Start RFCOMM connection on a specific port. bt_rfcomm_stop_server_port command Stop RFCOMM connection on a specific port. endpoint_set_active command Set an endpoint active / inactive. endpoint_closed event Indicates that an RFCOMM endpoint has been closed by a timer. gatt_set_max_mtu command Set maximum size of GATT MTU. hardware_read_vdd command Read voltage level on VDD pin. le_connection_list command List of Bluetooth Low Energy current connections and their parameters. le_gap_set_host_channel_classification Configure Bluetooth Low Energy channel classifications. command sm_pin_code_request event Event for requesting the user to enter legacy pairing PIN code. sm_enter_pin_code command Command to input the legacy paring PIN code. system_recovery event Event indicating an error condition and a following reset. system_script_stopped event Event indicating an event handler running more than 1000000 interpreter steps. Bootloader Change A new boot-loader has been introduced to free some additional flash memory for the user application. When upgrading the module's Bluetooth software from the previous build 97 using the BGAPI-based DFU method, it is required to take into account that the boot-loader must be updated separately. A host example in C code is provided in the new SDK under the directory \host_example\dfu\ to demonstrate the DFU update procedure. A knowledge-base article also exists with more details about the BGAPI-based DFU update method, and about the other two re-flashing methods. The article can be found here: http://community.silabs.com/t5/Wireless-Knowledge-Base/Programming-the-BT121/ta-p /173579 Silicon Labs Page 14 of 22 Quality Improvements BGTool stability improved Example applications updated RFCOMM robustness improved Sleep functionality improved for scripting applications Fixed Bluetooth Low Energy connection counters UART state fixed after waking up from CPU stop mode Code size optimized to allow more flash memory for customer applications Improved data buffer usage to make data streaming more reliable Updated TI firmware to fix issues with LE data streaming and Bluetooth Low Energy advertising Fixed a memory leak in SDP server Fixed a memory leak in ATT Fixed endpoint streaming issues Fixed Security Manager to handle keyboard only devices correctly Improved Security Manager robustness Improved interoperability with Android and iOS devices Multiple GATT notifications are now supported properly Fixed ADC configuration Fixed ACL buffer handling to allow data routing between two RFCOMM endpoints le_gap_set_conn_parameters() and le_connection_set_parameters() now validate the parameters properly Fixed slave select pin usage Internal buffering improved to save RAM with connections Bi-directional data sending fixed to be reliable Unused RFCOMM endpoints are automatically closed ProductID and VendorID of the Device ID Profile can be set dynamically GATT characteristic handle and incoming packet robustness improved CoD is now preserved over reset System ID characteristic is now properly initialized flash_ps_erase() returns a proper error if the key in question does not exist Fixed Known Issues since the version 1.0.0 build 97 ID Issue Explanation of the issue 103 HCI interface memory consumption HCI interface memory consumption is not optimized. 220 Bluetooth stack initialization Even if Bluetooth stack is not yet initialized, GAP does not currently give any error, when sending commands to the stack. 247 RFCOMM connection closing Connection closed event gives reason code 0x216 "local terminated" even if remote side closes the connection. 288 BGAPITM BGAPITM message payload is limited to 250 bytes. message payload limitation 492 le_gap_set_mode Connectable mode setting cannot be changed multiple times in a row without command clearing the mode setting first. 507 Non-encrypted LE connection Characteristic which requires authentication is accessible without encryption with the devices which have been authenticated and bonded. 567 GATT out-ofbounds There is a possible out of bounds write in GATT DB in case when module has over 64 "dynamic" characteristics and notification or indication is enabled for those characteristics. Same happens if client characteristic configuration is written to characteristic, which is defined as constant. Silicon Labs Page 15 of 22 ID Issue Explanation of the issue 583 Multiple RFCOMM connections to the same port There is no error if one tries to open multiple connections to the same RFCOMM port. 586 bt_connection_list bt_connection_list command lists also closed RFCOMM connections. command 589 Invalid endpoint parameters bt_rfcomm_open_* and bt_rfcomm_start_server commands don't report a failure, even if invalid endpoint parameter is given. 592 flash_ps_erase command flash_ps_erase command returns success even if the key which is being erased doesn't exist. Known Issues in this release ID Issue Explanation 317 Wrong byte order with Android 5.1 Android OS 5.1 release has a bug which causes 128bit UUIDs to be shown in wrong byte order. 428 Advertisement It is not possible to change advertising data during advertising without stopping data advertising in between. 672 Local name encoding It is possible to set an invalid local name for a device. 816 BGTool's reconnect button The MAC address used by the BGTool in the bt_rfcomm_open command is broken, when this command is launched by pressing the reconnect button under the RFCOMM tab. 817 UART parity bit When setting parity bit to odd or even, the parity bit is not added to the 8 data bits but the module starts to use 7 data bits. This prevents the use of parity bit with the BGAPI. 818 SPI read SPI reads return invalid data. 821 6th incoming SPP connection 6th incoming SPP connection will make the module SW to run out of memory, so it is not recommended to have more than 5 simultaneous SPP connections with the newest SW build. This limitation has emerged due the new features in the FW, and those reserve a little bit more RAM for the system tasks compared to the previous build. 2.10 Bluetooth Dual Mode Software v.1.0.0 build 97 Software Version Software Status Release Date Affected Products 1.0.0 build 97 Production 24th of September, 2015 BT121 Bluetooth Dual Mode Module 2.10.1 Changes: 1.0.0 (build 97) compared to 0.9.1 (build 44) New Features Feature Bluetooth qualification Explanation Bluetooth SIG qualification completed, Declaration ID D027374. Silicon Labs Page 16 of 22 Feature Regulatory certifications Country certifications Pairing handling Explanation Certification completed for FCC, IC and CE. Certification completed for Japan and South-Korea. Implemented default pairing data handling algorithm (overwrite oldest pairing). Quality Improvements All documentation updated after Beta release according to improvements made for the Production release. BGTool stability improved. Example applications updated. Fixed crashing with multiple software timers. Fixed ADC initialization and added timeout to initialization phase. Fixed ADC error codes. Fixed reading of ADC values. Fixed disallowing role changes in bt_gap_set_policy command. Added status parameter to dumo_evt_bt_gap_remote_name event. Fixed crashing in bt_connection_set_* commands. Fixed handling of multiple bonding entries to same device, when both BR/EDR and Low Energy are being used. Fixed corruption of client characteristic configuration when using multiple custom characteristics. Added advertisement parameter checking. Enabled alternate settings for I2C in bgbuild. Fixed direction flag in bt_connection_parameters event. Fixed indicating user correctly if an SDP record is not found. Fixed variable length characteristics length calculation. TI firmware updated according to TI recommendations to prevent crashing when both ends close the connection at the same time. le_gap_end_procedure is not used anymore for canceling connection creation. Improved le_gap_open to pass return code. Fixed iap_start_server and iap_stop_server failure error codes. Fixed outgoing re-connection failure after the other device comes back into range. Fixed bt_gap_set_parameters command. Fixed handling of old iAP1 iOS devices. Included iAP connections in connection listings into BGAPI. Fixed crash in connection details. Fixed bonding configuration. Deleting useless SDP files in SDK after image is created when using bgbuild. Fixed random number generator initialization. Send bt_connection_parameters for iAP connections also. Fixed iAP authentication bug when using AppLaunch. Fixed host API types for IAR compiler. Unified RF test APIs for BR/EDR and Low Energy. Added throughput measurements example application. Fixed iAP features listing. Removed unused RFCOMM channel parameter (from bt_rfcomm_start_server and iap_start_server commands). Implemented iap_stop_server command. Implemented bt_rfcomm_stop_server command. Fixed the handling of invalid att_data when read_attribute_value command is issued. Fixed crashing in read_attribute_type command when invalid att_data is given. Fixed bonding data reading for Bluetooth Low Energy connections. Fixed response being sent before event when using sm_list_all_bondings command. Fixed test mode for TI hardware. Scheduled flash defragmentation in more optimized way to prevent BGAPI response delays. Fixed the handling of multiple incoming iAP packets combined to same RFCOMM packet. Implemented sm_set_oob_data command. Fixed key sizes in Security Manager. Added pairing information integrity checks. Silicon Labs Page 17 of 22 Implemented le_gap_set_max_power command. Fixed the order of the bonding data in sm_list_all_bondings command. Added bonding database integrity checking. Added syntax error message for wrong BGAPI commands. Fixed crash in bidirectional data sending. Updated TI firmware to fix issues with pairing. Fixed Known Issues since the previous Release ID Issue 246 le_gap_open 296 le_gap_end_procedure 364 Bonding parameter in scan response 365 Bonding with Android 398 cmd_sm_enter_passkey 439 Unresponsive BGAPITM 462 Bonding events 466 Pairing information Explanation le_gap_open command always returns "out of memory" in all error cases. le_gap_end_procedure does not always stop le_gap_open procedure. Bonding parameter in evt_gap_scan_response event can sometimes contain wrong information. It is sometimes possible to bond with an Android device, even if bonding is disabled. cmd_sm_enter_passkey sometimes returns error code 384 even if pairing is successful. It is sometimes possible over a long period of usage that the API does not respond to new commands. Bonding event is not always received, even if bonding is successful. It is possible that in some cases, pairing information is not properly stored. Known Issues in this Release ID Issue Explanation 103 HCI interface memory consumption HCI interface memory consumption is not optimized. 220 Bluetooth stack initialization Even if Bluetooth stack is not yet initialized, GAP does not currently give any error, when sending commands to the stack. 247 RFCOMM connection closing Connection closed event gives reason code 0x216 "local terminated" even if remote side closes the connection. 288 BGAPITM BGAPITM message payload is limited to 250 bytes. message payload limitation 317 Wrong byte order Android OS 5.1 release has a bug, which causes 128bit UUIDs to be shown in with Android 5.1 wrong byte order. 428 Advertisement data It is not possible to change advertising data during advertising without stopping advertising in between. 492 le_gap_set_mode Connectable mode setting cannot be changed multiple times in a row without command clearing the mode setting first. 507 Non-encrypted LE connection Characteristic which requires authentication is accessible without encryption with the devices which have been authenticated and bonded. 567 GATT out of bounds There is a possible out of bounds write in GATT DB in case when module has over 64 "dynamic" characteristics and notification or indication is enabled for those characteristics. Same happens if client config is written to characteristic, which is defined as const. Silicon Labs Page 18 of 22 ID Issue Explanation 583 Multiple RFCOMM connections to the same port There is no error if one tries to open multiple connections to same the RFCOMM port. 586 bt_connection_list bt_connection_list command lists also closed RFCOMM connections. command 589 Invalid endpoint parameters bt_rfcomm_open_* and bt_rfcomm_start_server commands don't report a failure, even if invalid endpoint parameter is given. 592 flash_ps_erase command flash_ps_erase command returns success even if the key which is being erased doesn't exist. 2.11 Bluetooth Dual Mode Software v.0.9.1 build 44 Software Version Software Status Release Date Affected Products 0.9.1 build 44 Beta 22nd of May, 2015 BT121 Bluetooth Dual Mode Module 2.11.1 Features in the First Release Feature SPP iAP2 ATT GATT GATT over BR GAP BGAPITM BGScriptTM Explanation Serial Port Profile for Bluetooth BR/EDR Apple iAP2 protocol for Bluetooth BR/EDR (only available for Apple MFI Licensees) Attribute Profile for Bluetooth Low Energy Generic Attribute Profile for Bluetooth Low Energy Generic Attribute Profile for Bluetooth BR/EDR Generic Access Profile Binary command host API Scripting language for standalone applications 2.11.2 Fixed Issues ID Issue Explanation N/A N/A First public release 2.11.3 Known Issues in this Release ID Issue 103 HCI interface memory consumption 220 Bluetooth stack initialization 246 le_gap_open Explanation HCI interface memory consumption is not optimized yet. Even if Bluetooth stack is not yet initialized, GAP does not currently give any error, when sending commands to the stack. le_gap_open command always returns "out of memory" in all error cases. Silicon Labs Page 19 of 22 ID Issue Explanation 288 BGAPITM message payload limitation BGAPITM message payload is limited to 250 bytes. 296 le_gap_end_procedure le_gap_end_procedure does not always send le_gap_open procedure. 317 Wrong byte order with Android 5.1 Android OS 5.1 release has a bug, which causes 128bit UUIDs to be shown in wrong byte order. 364 Bonding parameter in scan response Bonding parameter in evt_gap_scan_response event can sometimes contain wrong information. 365 Bonding with Android It is sometimes possible to bond with an Android device, even if bonding is disabled. 398 cmd_sm_enter_passkey cmd_sm_enter_passkey sometimes returns error code 384 even if pairing is successful. 428 Advertisement data Currently it is not possible to change advertising data during advertising. 439 Unresponsive BGAPITM It is sometimes possible over a long period of usage that the API does not respond to new commands. 462 Bonding events Bonding event is not always received, even if bonding is successful. 466 Pairing information It is possible that in some cases, pairing information is not properly stored. 2.11.4 IOP Testing This software release (0.9.1 build 44) has been tested against the following device platforms. Basic Bluetooth BR/EDR and Low Energy (where applicable) connection, pairing and data transfer tests have been run. N/A means the platform does not support the functionality. Test Case Android iOS WinPhone Ubuntu OSX Win7 (MS) BT BR/EDR connection OK OK OK OK OK OK BT BR/EDR pairing OK OK OK OK OK OK SPP or iAP2 OK OK OK OK OK OK BT Low Energy connection OK OK OK OK N/A N/A BT Low Energy pairing OK OK OK OK N/A N/A GATT over BT Low OK Energy OK OK OK N/A N/A GATT over BT BR/EDR OK* N/A N/A OK N/A N/A Win7 (BC) OK OK OK OK OK OK N/A Win8 Win8.1 Pro Pro OK OK OK OK OK OK N/A OK N/A OK N/A OK N/A N/A *) Please see Known Issues #317. Tested Platform Android 5.1 iOS 8.3 Windows Phone 8.1 Ubuntu 10.04.2 OSX 10.10.3 Windows 7 SP1 Device / Stack Manufacturer Google Nexus 5 Apple iPod Nokia Lumia 625 PC / BlueZ 5.30 stack Apple MacBook Pro PC / Microsoft stack Silicon Labs Page 20 of 22 Tested Platform Windows 7 SP1 Windows 8 Pro Windows 8.1 Pro Device / Stack Manufacturer PC / Broadcom 6.5.1 stack PC / Microsoft stack Microsoft Surface Pro tablet Silicon Labs Page 21 of 22 Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! 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. Trademark Information Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, ClockBuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world's most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, 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 http://www.silabs.comPDFescape Scroll PDF Exporter