Release Notes for

STM32 Middleware WPAN

Copyright © 2022 STMicroelectronics

Purpose

Wireless Personal Area Network Middleware supporting:

The following features are supported for BLE 5.4:

The maximum number of connections is limited to 20.

The list of BLE commands is documented in the following file: STM32WBA_BLE_Wireless_Interface.html

The BLE Stack user manual is available at following location: STM32WBA_BLE_Stack_User_Manual.html

Different Bluetooth® Low Energy Host Stack variants are available in the STM32WBA package, depending on project requirements. Depending on the variant, the associated Link Layer library must be included in the project:

The BLE audio feature introduces the following libraries:

The following OpenThread libraries are provided:

Zigbee:

Update History

Main Changes

  • Productive PHY settings including AoA/AoD support.
  • ID 181488 : Optimization of RF calibration timing.

  • BLE Audio:
    • Changes :
      • Codec : Change ReadLocalSupportedControllerDelay to provide only margin if codec configuration length parameter is null
    • Issues fixed:
      • ID 186241 : 2 successive Volume Setting Updates from one CAP Acceptor are not correctly transmitted to 2nd CAP Acceptor from CAP Initiator
      • When ASCS Enable Control Operation includes invalid ASE ID, the “Number of ASEs” value in the Control Operation Response of BAP Unicast Server is invalid
  • PHY 802.15.4:
    • Issues fixed:
      • ID 160933 : API for continuous wave not yet supported
      • ID 160930 : API for continuous modulation not yet supported
      • ID 164825 : RSSI reading incorrect : around 6dbm loss from –90 to -30dbm
  • Known limitations:
    • BLE:
      • ID 143245 : ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.
      • ID 178561 : White list not updated when advertising in privacy mode.
    • BLE Audio:
      • Framed mode not supported (44.1 KHz).
      • ID 135240 : Long synchronization time in Broadcast due to scheduling conflict between extended advertising and BIG event.
      • ID 165710 : Audio Latency may not be respected with high transport latency.
    • Common 802.15.4 (MAC / Thread / Zigbee):
      • ID 182045 : [BLE_Thread_SED] issue with data polling / device crash
    • Zigbee:
      • ID 182978 In color cluster, wrong parsing for enhanced move to hue command.
    • MAC 802.15.4:
      • ID 182781 : During association, the capable information with receiver On When Idle doesn’t work
      • ID 182904 : Not received MLME-Sync-Loss.ind for associate device to a PAN coordinator

Main Changes

  • BLE:
    • Two new BLE stack configurations added:
      • Basic Plus stack(stm32wba_ble_stack_basic_plus.a) includes the LE Controller and the Host Stack, both with the basic features along with additional features as Extended Advertising/Scanning, LE Power Control and Connection Subrating, Enhanced ATT, L2CAP connection oriented channels and GATT caching features.
      • Peripheral Only stack(stm32wba_ble_stack_po.a) includes the LE Controller and the Host Stack, both with the basic features but only for peripheral role.
    • BLE wrapper added : pre and post command handling
    • Encrypted Advertising Data feature added.
    • Issues fixed:
      • ID 175965: Slave Latency is not applied correctly on FULL configuration
      • ID 162754: Scheduling issue while having an ongoing CIS may lead to non-handling of LLCP in time causing a Disconnection with “Instant passed” 
      • ID 168123: MIC failure when initiating an LE Power Control request during an encryption procedure.
      • ID 172235: RSSI miscalculation in CIG Event.
      • ID 175620: “Pairing Not Supported” reception cause upcoming pairing to fail
      • ID 175680: Wrong pairing failed reason in case the Security Request cannot be handled
      • ID 175796: Remove limitation of the number of pairing procedures in parallel
  • BLE Audio:
    • The event CAP_CODEC_CONFIGURED_EVT is renamed CAP_AUDIO_CLOCK_REQ_EVT
    • Audio Stack process change to allow to respond asynchronously to an ASCS Enable Request operation from a remote CAP Initiator:
    • New event CAP_UNICAST_SERVER_ENABLE_REQ_EVT definition.
    • New structure BAP_ASE_Enable_Req_Params_t defined in bap_types.h associated to an Enable Operation request Event
    • New function CAP_Unicast_EnableOpRsp() used to respond to an Enable Request operation for a specified Audio Stream Endpoint
    • New function CAP_UpdateAvailableAudioContexts() used to update available audio context for reception and transmission associated to the specified remote CAP Acceptor
    • Add num_ble_links parameter in BAP_PACS_SRV_TOTAL_BUFFER_SIZE macro in bap_bufsize.h
    • Define new BAP_PACS_SRV_INST_MEM_PER_CONN_SIZE_BYTES constant in bap_bufsize.h
    • Issues fixed:
      • In case of disconnection occurs while the CAP Unicast Audio Start, invalid pointer access.
      • Broadcast sink Process locked in infinite loop during scanning because index used to parse data packet is a 8 bits instead of 16bits.
      • Audio data path done 2 times when peripheral goes to Streaming state before CIS establishment.
      • Hardfault in case of CIS Establisment event is received in BAP Unicast Client layer with a failure status.
      • Number of remote Audio Stream Endpoints are not reset by CAP initiator between successive CAP linkup.
  • 802.15.4:
    • Long term robustness improvement for MAC applications.
    • Stability improved on noisy channels environment.
  • BLE_Zigbee:
    • Use of a new library (wba_mac_concurrent.a) dedicated to Concurrent BLE_Zigbee applications.
  • Thread:
    • MbedTLS 2.28.7 update
    • ID 172831: RCP CSL instability fixed
  • Zigbee:
    • Stack:
      • Enhancement of the CBKE mechanism. Adding of a status code named ZB_BDB_KE_Status updated during startup.
      • Removal of the MAC data Pool keep alive mechanism for security reasons.
    • Clusters:
      • OTA cluster enhancements (Writing to File Version attribute at end of OTA upgrade, Improve OTA robustness and transfer error management, etc.. )
      • ZCL library enhancement especially for Colour and Level clusters (MISRA rules compliancy update)
  • Known limitations:
    • BLE:
      • ID 143245 : ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.
      • ID 178561 : White list not updated when advertising in privacy mode.
    • BLE Audio:
      • Framed mode not supported (44.1 KHz).
      • ID 135240 : Long synchronization time in Broadcast due to scheduling conflict between extended advertising and BIG event.
      • ID 165710 : Audio Latency may not be respected with high transport latency.
    • Common 802.15.4 (MAC / Thread / Zigbee):
      • ID 182045 : [BLE_Thread_SED] issue with data polling / device crash
    • Zigbee:
      • ID 182978 In color cluster, wrong parsing for enhanced move to hue command.
    • MAC 802.15.4:
      • ID 182781 : During association, the capable information with receiver On When Idle doesn’t work
      • ID 182904 : Not received MLME-Sync-Loss.ind for associate device to a PAN coordinator
    • PHY 802.15.4:
      • ID 160933 : API for continuous wave not yet supported
      • ID 160930 : API for continuous modulation not yet supported
      • ID 164825 : RSSI reading incorrect : around 6dbm loss from –90 to -30dbm

Main Changes

  • Productive RF-PHY settings.

  • Zigbee:
    • Adding support of R22. (Stack and clusters)
  • BLE:
    • ID 171974 : Fix issue of Confirm Indication when a Read Request is sent simultaneously
    • ID 173054 : Reject pairing with a peer device using debug public key
    • ID 174185 : Fix unaligned access memory on Keil with new MEMMOVE macro.
  • BLE Audio:
    • ID 171331: libraries are not linked anymore with hardfp convention
    • Unicast Audio Start Procedure is not correctly ended if a disconnection with one of the CAP acceptors occurs during the Uniacst Audio Start Procedure
    • Fixed issue where CSIP expiring timer would cause Hardfault.
    • Added procedure check and clean to Broadcast Audio Start/Stop.
  • 802.15.4:
    • ID 166793: [Robustness] Assert during active scan on noisy channel
    • ID 165757: [Robustness] Dead lock during CSMA-CA sequence after several hours (depending number of frames send, noisy channel)
    • ID 167369: MAC & Zigbee solution not Low Power compatible for sleepy end devices. System could stay in high power consumption and does not return back to standby low power consumption level.
  • Known limitations:
    • BLE:
      • ID 175965: Slave Latency is not applied correctly on FULL configuration
      • ID 162754: Scheduling issue while having an ongoing CIS may lead to non-handling of LLCP in time causing a Disconnection with “Instant passed”
      • ID 143245: ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.
      • ID 168123: MIC failure when initiating an LE Power Control request during an encryption procedure.
      • ID 172235: RSSI miscalculation in CIG Event.
    • BLE Audio:
      • Framed mode not supported (44.1 KHz)
      • ID 135240 : Long synchronization time in Broadcast due to scheduling conflict between extended advertising and BIG event
      • ID 165710 : Audio Latency may not be respected with high transport latency
    • Thread:
      • ID 173756: [Robustness] Dead lock after 36 hours, timer overflow
      • ID 172831: RCP CSL Tx instability
      • ID 174323: [CSL] Enh-Ack timestamp calculation issue / radio crash
    • MAC 802.15.4:
      • ID 164074: Coordinator receiveSyncLoss.IndicationduringCoord_realign
      • ID 171812: [Robustness] Data.cnfreceived bad error code (CHANNEL_ACCESS_FAILLURE normally NO_ACK)
      • ID 173756: [Robustness] Dead lock after 36 hours, timer overflow
    • PHY 802.15.4:
      • ID 160933: API for continuous wave not yet supported
      • ID 160930: API for continuous modulation not yet supported
      • ID 164825: RSSI reading incorrect: around 6dbm loss from –90 to -30dbm

Main Changes

  • Adding support of BLE-Thread and BLE-Zigbee Dynamic Concurrent Modes.

  • All libraries are now compiled with MDK-ARM (KEIL) ARMCLANG V6.19 AEABI format.

  • BLE:
    • New features supported:
      • Connection Subrating
      • Channel Classification Enhancement
      • Periodic Advertising Enhancement
    • Issues fixed :
      • ID 161043: Periodic advertising list entries not used properly during periodic advertising synchronization.
      • ID 165155: ACL Data packet not cleared correctly if disconnection occurred and ACL Data couldn’t be sent.
      • ID 160222: Maximum ATT MTU limited to 362 bytes.
      • ID 168842: Wrong RSSI calculation
      • ID 164684: Issue in SMP Pairing if Central received SMP Pairing Public Key and Pairing Confirm packets in the same Connection Event.
      • ID 162525: HardFault happens when sending ISO Data from BIS Broadcaster with PTO > 0 and Encryption enabled
      • ID 168913: Issue when mixing LE Credit Based Flow Control mode and Enhanced Credit Based Flow Control Mode
  • BLE Audio:
    • Release of the Generic Audio Framework with support CAP Initiator, Commander and Acceptor roles (ble_audio.a V1.1) (inc. CAP, BAP,CCP,MCP,VCP,MICP,CSIP) compiled by ARMCLANG V6.19
    • Change codec library extension to LC3.a (V1.3)
    • Release of codec_manager V1.1 (adapted for LC3 V1.3)
  • Zigbee:
    • Several fixes and enhancement has been introduced in the Zigbee stack library including:
      • Cleaning the ZbZgpProxyBasicCommandReq before rejoining a new network
      • Parent Link Failure is now triggred for every EDKA failure.
      • Added ZB_MSG_STACK_EVENT_PARENT_LINK_FAIL, to separate out ZB_MSG_STACK_EVENT_ATTEMPT_REJOIN which is called on a NWK Leave with rejoin bit set.
      • Application can now more easily distinguish aParent Link Failure from a Leave with Rejoin.
    • Several fixes and enhancement has been introduced in the Zigbee cluster library including:
      • Rework of the Zbcli SE Messaging cluster.
      • Code cleaning in order to comply with MISRA rules
  • Thread:
    • OT stack update to SHA-1 : 8bc25042ba5cde20605eec2a329c0dff575303f4 (07/07/2023).
    • OT RCP (Radio Co-Processor) support.

    • Issues fixed:
      • ID 167850 - Linklayer compatibility with OT 8bc25042ba5cde20605eec2a329c0dff575303f4 (OT stack update)
      • ID 167322 - OT_RADIO_CAPS_CSMA_BACKOFF should be returned in otPlatRadioGetCaps() (RCP border router compatibility)
      • ID 143488 - Add RCP support
      • ID 162977 - OtPlatRadioTransmit() OT_ERROR_BUSY assert in OT stack (robustness improvement)
      • ID ID 164508 - llhwc_cmn_evnt_notify(EVNT_START) calls whereas radio already started (Low power SCM 16MHz to 32MHz now working)
      • ID 165748 - [WBA_Cut2.0_OpenThread] Exploring doesn’t working on WBA (cubeMonRf)
  • MAC 802.15.4:
    • MLME-SyncLoss.Indication is now supported.
    • Issues fixed :
      • ID 162221 - if device receives several beacons with same Panid beacon Notifications are provided to upper layer
      • ID 168643 - Implementation pending addresses completely delete
      • ID 170005 - CSMA sequence after No ACK
  • Known limitations:
    • BLE:
      • ID 162754: Scheduling issue while having an ongoing CIS may lead to non-handling of LLCP in time causing a Disconnection with “Instant passed”
      • ID 143245: ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.
      • ID 168123: MIC failure when initiating an LE Power Control request during an encryption procedure.
      • ID 172235: RSSI miscalculation in CIG Event.
    • BLE Audio:
      • Framed mode not supported (44.1 KHz)
      • ID 135240 : Long synchronization time in Broadcast due to scheduling conflict between extended advertising and BIG event
      • ID 165710 : Audio Latency may not be respected with high transport latency
    • Thread:
      • ID 165757: After ral_start_tx, we don’t receive ral_tx_done (robustness crash after few hours)
      • ID 165757: [Robustness] Dead lock during CSMA-CA sequence after several hours (depending number of frames send, noisy channel)
    • MAC 802.15.4:
      • ID 167369: MAC & Zigbee solution not Low Power compatible for sleepy end devices. System could stay in high power consumption and does not return back to standby low power consumption level.
      • ID 164074: Coordinator receive SyncLoss.Indication during Coord_realign
      • ID 165757: [Robustness] Dead lock during CSMA-CA sequence after several hours (depending number of frames send, noisy channel)
      • ID 171812: [Robustness] Data.cnf received bad error code (CHANNEL_ACCESS_FAILLURE normally NO_ACK)
      • ID 166793: [Robustness] Assert during active scan on noisy channel
    • PHY 802.15.4:
      • ID 160933: API for continuous wave not yet supported
      • ID 160930: API for continuous modulation not yet supported
      • ID 164825: RSSI reading incorrect: around 6dbm loss from –90 to -30dbm

Main Changes

  • BLE:
    • New features supported:
      • Enhanced ATT
      • Isochronous Broadcaster / Synchronizer
      • Connected Isochronous
      • LE Power Control(with autonomous request)
    • Audio:
      • Initial release of the Generic Audio Framework with support CAP Initiator, Commander and Acceptor roles (ble_audio.a V0.6) (inc. CAP, BAP,CCP,MCP,VCP,MICP,CSIP).
      • Initial release faster LC3.lib (V1.3) compiled by ARMCLANG V6.14.1
      • Initial release of codec_manager V0.6 adapted for LC3 V1.3
  • Zigbee:
    • Initial release supporting:
      • Zigbee stack compliant with latest Zigbee R23 revision.
      • Zigbee Clusters library (ZCL 8.0 compliant). On demand, those clusters may be provided in source code.
  • Thread:
    • Initial release supporting GRL Tests pre-certified on OT 1.1 / 1.2 / 1.3
  • MAC 802.15.4:
    • Initial release supporting Zigbee IEEE 802.15.4 MAC Test Plan V 2.0 - ZigBee IEEE 802.15.4 Test Specification 14-0332-01 (pre-certified)
  • Known limitations:
    • BLE:
      • ID 143245: ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.
      • ID 161043: Periodic advertising list entries not used properly during periodic advertising synchronization.
      • ID 156915: Incorrect handling of the interruption of a PHY update procedure or a connection update procedure, by another LL control
      • ID 150795/151333: Sleep timer overflow (each 36h) stops Audio RF activities ongoing.
    • BLE Audio:
      • Framed mode not supported
      • ID 154525: conflict on air may lead to a drift on audio latency
      • Generic Audio Framework not certified yet
    • Zigbee:
      • Zigbee stack not yet certified
    • MAC 802.15.4:
      • MAC_SECURITY not yet supported.
      • PAN_ID_CONFLICT feature not yet supported
    • PHY 802.15.4:
      • ID 160933: API for continuous wave not yet supported
      • ID 160930: API for continuous modulation not yet supported

Main Changes

  • BLE:
    • Maximum number of simultaneous connections supported by the device is now 20: requires library LinkLayer_BLE_Basic_20_links_lib.a
    • New RF-PHY settings which allow to pass FCC regulatory requirements (specifically FCC Band edge measurement) have been integrated
    • Add ble_legacy.h include: file which ensures the compatibility with previous BLE Stack naming.
    • Update BLE types and names in include files.
    • ID 143688: Radio Deep Sleep mode can be used with white lists, resolving lists or periodic advertiser lists.
    • ID 143240: Calibration improvement:calibration is done channel by channel from radio interrupt. Calibration is not delaying Link Layer scheduling activities. 
    • ID 146629: Fix issue of events conflict with multi links.
    • ID 144736: Scan response Data handled correctly when it is set after the advertising enabling.
    • ID 149353: Channel Map update wrong behavior fixed.
  • Known limitations:
    • ID 144495: Radio Calibration is not supported on standby mode.
    • ID 143245: ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.
    • ID 145802: Pairing request fails with error SMP timeout when connection interval set to max value: 4s.
    • ID 150795/151333: Sleep timer overflow (each 36h) stops RF activities ongoing.
    • ID 150914: Wrong CONNECT_IND packet not correctly handled.

Main Changes

First official release for WBA

  • Known limitations:
    • ID 143688: Radio Deep Sleep mode shall not be used if we want to use white lists, resolving lists or periodic advertiser lists.
    • ID 144507: The BleStack_Process function should also be called when a BLE stack callback function is called by the platform software(PKA, timer).
    • ID 143393: [THREADX] RNG and PKA tasks priorities must be higher than BLE Host stack task.
    • ID 143395: [THREADX] No Uart traces supported while in low power modes.
    • ID 144495: Radio Calibration is not supported on standby mode.
    • ID 143245: ACI_HAL_GET_ANCHOR_PERIOD, ACI_HAL_SET_SLAVE_LATENCY not yet supported.