SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK User Guide

August 26, 2024
SILICON LABS

SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK

Product Information

Specifications

  • Zigbee EmberZNet SDK version: 7.1.5.0 GA
  • Gecko SDK Suite version: 4.1 June 28, 2023
  • Vendor: Silicon Labs
  • Compatibility: EFR32xG21, Revision C and later
  • Compatible Compilers: GCC version 10.3-2021.10

Product Usage Instructions

Using This Release

If you are new to the Zigbee EmberZNet SDK, it is recommended to follow these steps:

  1. Refer to the Security chapter of the Gecko Platform Release notes for security updates.
  2. Subscribe to Security Advisories for up-to-date information.
  3. Verify that you are using the correct files and compilers as specified.
  4. For detailed instructions on using the SDK, visit the provided link: Zigbee EmberZNet SDK Documentation

New Items in Release 7.1.0.0

New Applications
The Z3GatewayCpc application has been added to facilitate EZSP frame communication using CPC. Ensure the CPC daemon is running on the host for this application to work correctly.

New Components

  • The Token Interface component allows access to nvm3 tokens from the host. Refer to the New API section for more details.
  • Zigbee EZSP CPC enables communication using the Co-processor Communication feature, preventing the use of NCP bootloading feature in Zigbee components.

New APIs

  • The Trust Center Backup Component includes new functions for EUI64 override and updating Zigbeed tokens during power up of the NCP node.
  • A new API emberSetRadioIeee802154CcaMode() is available for configuring the 802.15.4 CCA mode in the radio.

Frequently Asked Questions (FAQ)

  • Q: Where can I find the latest security updates for the Zigbee EmberZNet SDK?
    A: For security updates and notices, refer to the Security chapter of the Gecko Platform Release notes or visit the TECH DOCS tab on the official Silicon Labs website.

  • Q: How can I subscribe to Security Advisories for this product?
    A: To subscribe to Security Advisories and receive up-to-date information, follow the instructions provided in the product documentation or contact Silicon Labs support.

Zigbee EmberZNet SDK 7.1.5.0 GA Gecko SDK Suite 4.1 June 28, 2023

Silicon Labs is the vendor of choice for OEMs developing Zigbee networking into their products. The Silicon Labs Zigbee platform is the most integrated, complete, and feature-rich Zigbee solution available.
Silicon Labs EmberZNet SDK contains Silicon Labs’ implementation of the Zigbee stack specification.

These release notes cover SDK version(s):

  • 7.1.5.0 released June 28, 2023 (support for EFR32xG21, Revision C and later, plus bug fixes)
  • 7.1.4.0 released January 18, 2023
  • 7.1.3.0 released October 19, 2022 (early access part support only)
  • 7.1.2.0 released September 28, 2022
  • 7.1.1.0 released August 17, 2022
  • 7.1.0.0 released June 8, 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/zigbee-emberznet. Silicon Labs also strongly recommends that you subscribe to Security Advisories for up-to- date information. For instructions, or if you are new to the Zigbee EmberZNet SDK, see Using This Release.

Compatible Compilers:
IAR Embedded Workbench for ARM (IAR-EWARM) version 9.20.4.

  • Using wine to build with the IarBuild.exe command line utility or IAR Embedded Workbench GUI on macOS or Linux could result in incorrect files being used due to collisions in wine’s hashing algorithm for generating short file names.
  • Customers on macOS or Linux are advised not to build with IAR outside of Simplicity Studio. Customers who do should carefully verify that the correct files are being used.

GCC (The GNU Compiler Collection) version 10.3-2021.10, provided with Simplicity Studio.

KEY FEATURES

  • 2.4GHz Zigbee Smart Energy support for xG24
  • 802.15.4 Signal Identifier and MAC CCA Mode 2 and 3 support for xG24
  • Zigbee Green Power Gateway Backup
  • Updated GCC and IAR Compiler Version
  • Alpha Concurrent Multiprotocol Zigbee in NCP mode and Open-Thread in RCP mode
  • Alpha Dynamic Multiprotocol Bluetooth and multi-PAN 802.15.4 in RCP mode

New Items

New Applications
New in release 7.1.0.0
The Z3GatewayCpc application has been added a host-side application that can send and receive EZSP frames using CPC. This appli-cation is meant to work with an NCP application that also uses the CPC feature. This application requires the CPC daemon to be running on the host. CPC setup is described in https://github.com/SiliconLabs/cpc-daemon/blob/main/readme.md.
Two Zigbee – NCP + OpenThread – RCP applications have been added, one for UART and one for SPI. These applications demonstrate the Zigbee NCP and OpenThread RCP running concurrently using an RTOS. For more information on these applications, see AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol RCP.

New Components
New in release 7.1.0.0
Token Interface
A token interface component was added to allow access to the nvm3 tokens from host. Refer to the New API section for more information.

Zigbee EZSP CPC

The Zigbee EZSP CPC component has been added. This component satisfies the requirements of the EZSP Common component and is only applicable when creating a host application. The EZSP CPC component provides a means to send EZSP traffic over a Co-processor Communication (CPC) link. This component is mutually exclusive with the EZSP UART and EZSP SPI components, which handle sending EZSP traffic over a UART or SPI link, respectively. Refer to AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol RCP for details of how to configure a system that uses the CPC feature.
Any Zigbee host application that uses the Co-processor Communication (CPC) feature to communicate to and from the NCP must not use the NCP bootloading feature as it is present in the Zigbee components. The CPC daemon is responsible for bootloading a new image to the NCP. For more information, see https://github.com/SiliconLabs/cpc-daemon/blob/main/readme.md.

New APIs
New in release 7.1.0.0
Trust Center Backup Component
The new token interface component provides the following four new APIs:

  • uint8_t emberGetTokenCount(void);
  • EmberStatus emberGetTokenInfo(uint8_t index, EmberTokenInfo *tokenInfo);
  • EmberStatus emberGetTokenData(uint32_t token, uint32_t index, EmberTokenData *tokenData);
  • EmberStatus emberSetTokenData(uint32_t token, uint32_t index, EmberTokenData *tokenData);

A new function ( void emberGetRestoredEui64(EmberEUI64 eui64) ) is added to override the EUI64 with the new eui64 token (see below) during power up of the NCP node as part of restore operation.
The Trust Center Back up component is updated with a new function emberAfTrustCenterBackupWriteNcpTokenToZigbeedTokens. This reads an NCP token back-up file that was saved during trust center back up operation and updates the Zigbeed tokens.

Miscellaneous

emberSetRadioIeee802154CcaMode() – A new API has been added to configure the 802.15.4 CCA mode in the radio. See documentation regarding emberSetRadioIeee802154CcaMode.
Added a new configuration option to be used in the sl_set_passive_ack_config() API. The new enum for sl_passive_ack_config_enum_t is SL_PASSIVE_ACK_THRESHOLD_WITH_REBROADCAST_ALL_NODES. This configuration is for both originating and relaying (non-originating) nodes. All configured nodes check for passive ACKs from minAcksNeeded neighbors. They will not rebroadcast received message if all passive ACKs have been received.

New CLI Commands
New in release 7.1.0.0
A new CLI command has been added to configure 802.15.4 CCA mode in the radio. See documentation regarding config-cca-mode.
A new CLI command has been added corresponding to the new emberAfTrustCenterBackupWriteNcpTokenToZigbeedTokens() API (see above).

New Tokens
New in release 7.1.0.0
Trust Center Backup
A new eui64 token is added to the stack token group to save the EUI64 of the operational network that is being backed up.

New Platform Support

  • New in release 7.1.5.0
    Added support for BRD4195B and BRD4196B.

  • New in release 7.1.1.0
    Added support for BRD2703A.

  • New in release 7.1.0.0
    Added support for BRD4186, BRD4187, BRD4188, BRD2601 SOC and BRD4319, BRD4316, BRD4317 module radio boards.

New Documentation
All components have documentation available. If you have an issue seeing the documentation when you select the component in Project Configurator, you can find it here: http://docs.silabs.com/zigbee/7.1

New in release 7.1.1.0

AN1389: Running Zigbee Host Applications in a Docker Container (Replacement for removal of Cygwin as a supported windows host platform)
AN1384: Over-the-Air Bootload Server and Client Setup for Zigbee SDK 7.0 and Higher (Replacement for AN728)

New in release 7.1.0.0

AN1321: Configuring Peripherals for 32 Bit devices with Zigbee 7.0 and Higher
AN1385: Supplemental Performance Results for Multi-PAN RCP for OpenThread and Zigbee
AN1387: Backing Up and Restoring a Z3 Green Power Combo Gateway

Improvements

Changed APIs
Changed in release 7.1.0.0
Return type of emberStartScan and ezspStartScan functions has been changed from EmberStatus to sl_status_t. As a result, the EZSP_PROTOCOL_VERSION is now 9.

Other Improvements

  • Changed in release 7.1.2.0
    DynamicMultiprotocolLightMinimal and DynamicMultiprotocolLightSedMinimal are now shown as supported regardless of whether a board has an LCD or has shared button/LED, allowing boards like BRD2703A (which doesn’t have a shared button/LED) to see these applications in Simplicity Studio.

  • Changed in release 7.1.1.0
    EZSP Protocol Version changed from 8 to 9 in EmberZNet release 7.1.0.0, but was not previously recorded in the 7.1.0.0 release notes. The corresponding note under 7.1.0.0 in Section 2.1 is revised accordingly.

  • Changed in release 7.1.0.0
    GreenPower Combo Host Applications
    The GP Sink Table initialization sequence is changed in host applications that use the Green Power Server cluster and is now called after the NCP is configured.

EZSP CPC
The Zigbee EZSP protocol is now integrated with the Co-processor Communication (CPC) feature. EZSP frames between the host and NCP can now be transported using CPC as the medium. To this effect, the host-side EZSP CPC component has been added. For more information please refer to the New Components section.

Trust Center Backup Component
Extended the Trust Center Back up component with additional functions to support backing-up and restoring tokens using the new token interface APIs. Refer to the New API section for more information.

OTA Update
OTA file search directory is now configurable at runtime using ‘-d’ option in the host application.

Power Source in Device Announce Message
The EmberZNet stack now allows the MAC Capability field of Device Announce messages to dynamically update power source-related subfields in device announce. Whereas previously Capability field values were derived with respect to the Zigbee Device type (Coordina-tor, Router, End Device, Sleepy End Device), now the bit indicating whether the device is connected to a main power supply will be updated in response to changes of the ZDO Power Descriptor. When the Power Descriptor is changed (via the emberSetPowerDescriptor API in stack-info.h) the device will check to see if the state of the “On Main Power” subfield of the descriptor has changed with respect to the corresponding field in the Capability field. In the case where the update to the Power Descriptor changes the state of the On Main Power indication, the updated Device Capabilities will be cached in RAM and returned on subsequent field accesses.
These values are not persisted across reboot, and it is the responsibility of the application to ensure that the Power Descriptor is kept up to date to reflect the current device state.
The long-term guidance for users developing applications with non-standard power configurations (i.e. non-sleepy devices with battery power) is to make use of the ZCL Power Cluster and its associated attributes and commands rather than the stack-level messages and ZDO interfaces. Use of the Cluster interfaces to set and a query Power configuration of devices will likely result in a more consistent experience, and a more straightforward path through device testing and certification.

Multi Network and Multi PAN Components

The Multi Network Stub and Multi PAN Stub components have been removed. These components are no longer needed by a project. Simplicity Studio will prompt the user to upgrade older project files, which will have the reference to these components removed.
Users not utilizing the Multi Network or Multi PAN components will see a drop in flash consumption by the resulting image compared to previous software releases.

Miscellaneous
Incoming packet handler data now includes the NWK header as well.
Type of boolean now changed to bool in the EmberZNet SDK.

Fixed Issues

Fixed in release 7.1.5.0

ID # Description
1091792 Fixed emberGetCurrentSecurityState() to return EMBER_NOT_JOINED if

the local node is not joined to any network. The returned EmberCurrentSecurityState will contain valid data regardless of the joining status of the node.
1159689| Fixed spurious frame pending bit set when there is no data pending.

Fixed in release 7.1.4.0

ID # Description
1061830 emGpWriteSinkTableEntryToToken() doesn’t save the the group id for

sinkList.type equal to EMBER_GP_SINK_TYPE_GROUPCAST

The gp sink table now stores the group id for the group cast sink type (EMBER_GP_SINK_TYPE_GROUPCAST) in the token. The sink type enumeration is updated to remove the EMBER_GP_SINK_TYPE_SINK_GROUPLIST.

Fixed in release 7.1.2.0

ID # Description
1026790 Clear Channel Assessment (CCA) has been enabled by default on the

Host-RCP architecture.
1036743| Implemented CLI to support mac retries on the Host-RCP architecture.
1026938| DMP applications do not fail the trust center link key update process when the key used in the verification is different from the updated key.

Fixed in release 7.1.1.0

ID # Description
494636 Fixed an issue where the length of EZSP command responses was not

checked before processing. An unexpectedly long response could cause a stack overflow.
693536| Fixed an issue where receiving ZDO leave request from a non-parent caused an end device to leave the network.
709981| Fixed an issue that prevented FreeRTOS from being used as a kernel on Zigbee-BLE DMP applications.
748977| Fixed an issue where SPI-EZSP bootloader was unable to launch rcp- spi-802154 on BRD4158a.
756023| Fixed an issue where NCP failed to start after increasing the APS unicast message queue size.
821967| Fixed an issue where an end device would be stuck in “EMBER_JOINING_NETWORK” state when one of the candidate networks closed in the middle of the joining process.
822369| Fixed an issue on EMBER_AF_PLUGIN_OTA_CLIENT_AUTO_START where the OTA client configuration did not take effect in Zigbee on the component-based framework.
833513| Fixed an issue that allowed a router device (Z3Light) to form a centralized network.
833778| Fixed an issue that caused the reportAttributes packet to not be sent in some cases.
841910| Fixed an issue where SE registration plugin unnecessarily required test harness plugin.
843370| Fixed an issue where psa-crypto was enabled by default for gpd-sensor and gpd-switch. We now use RAIL to generate random number for a lower code footprint, but customers can use a stronger random generator by enabling the psa_crypto component, if desired.
843811| Fixed an issue where the message sent callback does not fire when the message is fragmented
845573| A docker container solution is provided by AN1389: Running Zigbee Host Applications in a Docker Container to demonstrate how to run Zigbee host apps on Windows. Note that this is a replacement for building host apps using Cygwin on Windows.
848717| Fixed an issue that made it impossible to set the extension field using ZCL scene CLI.
ID #| Description
---|---
855059| Fixed an issue where Simple Metering and Prepayment cluster command’s parser functions to service the respective ZCL commands in the Gas Proxy Function component were missing.
855066| Fixed an issue where the Simple Metering cluster command’s parser functions to service the respective ZCL Commands in Meter Mirror and GBCS Gas Meter components were missing.
855111| Fixed the ‘print time’ CLI command to print UTC time on the console as designed.
855153| Fixed missing CLI arguments from ‘plugin meter-snapshot-server publish’ command.
855168| Fixed an issue where the Sleepy Message queue component was not de- queuing the packets due to missing the correct event initialization.
855177| Fixed tunnel check/monitoring event in the comms-hub-function component so it activates upon receiving stack status EMBER_NETWORK_UP and becomes inactive upon receiving stack status EMBER_NETWORK_DOWN.
855185| Enabled time util CLI commands to print date/time when zigbee_debug_print component is present in the project.
855829| All data types of size 3, 5, 6, 7 bytes defined by the ZCL specification in the form of Enum/Bitmap/Int/Uint used to be passed as a string or a hex value inside curly braces by the ZCL CLI. The ZCL CLI has now been updated to pass integers instead.

For example:

“zcl price pub-billing-period 11223344 100 0 \”40\” 2 1″ should now change to “zcl price pub-billing-period 11223344 100 0 3159042 2 1”. Here \”40\” was essentially a BITMAP24 which can now just be passed as an integer(3159042) instead.

856047| Fixed an issue where Maximum Time to Wait for Events on the gateway support plugin didn’t take effect after changing default value.
856155| DynamicMultiprotocol minimal application binaries will no longer show up as demo applications.
857679| Fixed an issue where EZSP frames were rendered incorrectly on the debug channel.
858626| Fixed an issue where the rejoin command used the same argument for both of its parameters.
858628| Zigbee RTOS stack task size is now specified directly in bytes instead of converting a value in words into bytes. As a result, the default value of SL_ZIGBEE_OS_STACK_TASK_SIZE has been changed from 1400 to 5600.
858769| Fixed an issue where a Z3Gateway process resulted in 90%-100% CPU usage when adding event.
1019484

1019601

| Fixed an issue where Legacy HAL watchdog functions caused compilation errors due to undefined symbols when supporting headers were not present.

Fixed in release 7.1.0.0

ID # Description

398694

519731

823888

| ZCL reporting plugin is modified so that a rarely-occurring exception condition (failure to read a reportable attribute’s value; possibly because the attribute’s endpoint is disabled) does not result in excess execution cycles, repetitive printing of a debug message, and (for an RTOS configuration) blocking of a lower priority task.
462074| Fixed an issue where the throughput plugin occasionally returned an invalid standard deviation by checking for underflow before the subtraction operation.
679417| Fixed an issue where a failed scan would not allow network-steering (with optimized scans) state machine to advance states.
739044| The Green Power Proxy now forwards the GPDF during commissioning with security failure bit set for a recommissioning GPD with different key type.
756571| Fixed the issue that caused emberPacketHandoffIncoming to receive bad index for EMBER_ZIGBEE_PACKET_TYPE_NWK_DATA/EMBER_ZIGBEE_PACKET_TYPE_NWK_COMMAND packets.
758183| Fixed an issue where OTA updates have been slow for NCP UART HW applications.
759023| The GPD sample has been fixed where it would not work on EFR32MG22 due to a buffer alignment issue.
760176| An issue was resolved where the Z3Gateway host application experienced high CPU load.
760785| The ZCL Default Response Policy setting has been changed from “always” to “conditional” for the following Zigbee sample applications, consistent with their configurations prior to SDK 4.0.0 / EmberZNet 7.0.0: Z3ColorControlLight, Z3DoorLockWithWwah, Z3LightWithWwah, Z3SleepyDoorLockWithWwah.
773136| A buffer assertion issue for incoming malformed packet has been fixed.
773651| Fixed issue that caused the raw_packet_send to send incorrect packet.
ID #| Description
---|---
819344| Fixed an issue where a SPI host application appears hung. If the user hits ENTER or inputs characters on the command line, the application proceeds to run. Such a hang prevents the device from going EMBER_NETWORK_UP on its own, with no user stimulus.
823604| Fixed an issue where component config did not display or allow configuring support for ‘read-modify-write’.
824310| An issue was fixed where an AF-based host application that uses the Green Power Server cluster was reset twice due improper NCP and GP Sink Table initialization sequence.
824289| The Green Power server and client now set the disable default response flag in ZCL frame header while sending out Green Power commands or responses.
824895| Fixed an issue in GPD decommissioning, where the GpPairingConfiguration command will now be issued for sink type group cast.
825777| Fixed an issue on the coordinator/router parent, where the parent did not correctly populate the child table with the details of the new joiner if a secure network layer command frame was not received from the joining end device.
825960| Fixed an issue where malformed Zigbee packet with invalid destination address causes an assert.
829115

843369

843370

| Compiler warnings have been fixed in various sample applications.
829602| Fixed an issue where ‘plugin mfglib stream start’ CLI command does not select the desired antenna TX mode.
831183| Fixed an issue that caused the coordinator to crash upon receiving a trust-center rejoin request after the network is closed for joining.
831270| Fixed an issue where the “Radio output power” CMSIS option in the configuration of the network-steering component had an incorrect data type.
833726| Fixed an issue where the high-byte of the manufacturer ID was mistakenly parsed as the command ID of the cluster, if manufacturer code was present in the message.
835380| Fixed missing Fragmentation component macros to propagate through configuration header.
841300| Restored ability to bypass emAfNetworkInit during initialization when EMBER_AF_TC_SWAP_OUT_TEST is defined.
842020| Fixed issue where calling emberStackPowerDown without the Debug Basic component causes linker errors.
842155| Fixed the network find unused CLI command for a host application that scans and forms the network.

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.si- labs.com/developers/zigbee-emberznet in the Tech Docs tab.

ID # Description Workaround

N/A

| The following apps/components are not supported in this release

·         Smart Energy multi-MAC switch coordinator

·         Smart Energy multi-MAC selection

·         NCP Sleepy

·         EM4 support

|

Features will be enabled in subsequent releases.

135649

| Multi-networking can cause APS frame counter confusion between networks.| Use emberAfSecurityInitCallback to add EMBER_NO_FRAME_COUNTER_RESET to

EmberInitialSecurityBitmask.

193492

| emberAfFillCommandGlobalServerToClientConfigureRe porting macro is broken. The filling of buffer creates incorrect command packet.| Use the “zcl global send-me-a-report” CLI command instead of the API.

266341

| Z3 Light sample app has two endpoints that support similar cluster commands, so duplicate responses may be generated for certain commands.|

No known workaround

271644

| A device that performs a classic join to a legacy ZLL gateway may eventually leave the network on its own initiative.|

No known workaround

278063| Smart Energy Tunneling plugins have conflicting treatment/usage of address table index.| No known workaround

281832

| Green Power Common plugin incorrectly formats groupList and groupListCount parameters of GP Pairing Configuration frame.|

No known workaround

289569

|

Network-creator component power level picklist doesn’t offer full range of supported values for EFR32

| Edit the range <-8..20> specified in the CMSIS comment for EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P

OWER in the

/protocol/zigbee/app/framework/plugin/network- creator/config/network- creator-config.h file. For example, change to <-26..20>.

295498| UART reception sometimes drops bytes under heavy load in Zigbee+BLE dynamic multiprotocol use case.| Use hardware flow control or lower the baud rate.

312291

| EMHAL: The halCommonGetIntxxMillisecondTick functions on Linux hosts currently use the gettimeofday function, which is not guaranteed to be monotonic. If the system time changes, it can cause issues with stack timing.|

Modify these functions to use clock_gettime with the CLOCK_MONOTONIC source instead.

331438| Service discovery may time out too quickly in busy networks.| Define EMBER_AF_DISCOVERY_TIMEOUT_QS to

customize the timeout period.

338151| Initializing NCP with a low packet buffer count value may cause corrupt packets.| Use the 0xFF reserved value for packet buffer count to avoid the too-low default value

356937

| Read/write attribute CLI commands do not support manufacturer-specific ZCL attributes. Some implementations may allow local CLI debug access to display or modify these attributes.|

Access the attributes from a remote device in the network via ZCL global Read/WriteAttributes commands.

363162| There is a bug in emberAfAddAddressTableEntry which could allow for duplicate entries in the address table| Under Investigation
387750| Issue with Route Table Request formats on end device.| Under Investigation
400418| A touchlink initiator cannot link to a non-factory-new end- device target.| No known workaround.
ID #| Description| Workaround
---|---|---

424355

| A non-factory-new sleepy end device touchlink target- capable initiator is not able to receive a device information response in certain circumstances.|

Under Investigation

465180

| The Coexistence Radio Blocker Optimization item “Enable Runtime Control” may block proper Zigbee operation.| Optional ‘Wi-Fi Select’ Control of Blocker Optimization should be left “Disabled”.

480550

| The OTA cluster has its own built-in fragmentation method, hence it should not use APS fragmentation. Although, in case APS encryption is enabled it grows the payload of the ImageBlockResponses to a size where the APS fragmentation is activated. This could lead to the OTA process failing.|

No known workaround

481128

|

Detailed Reset Cause and crash details should be available by default via the Virtual UART (Serial 0) on NCP platforms when Diagnostics plugin and Virtual UART peripheral are enabled.

| Since Serial 0 is already initialized in the NCP, customers can enable the emberAfNcpInitCallback in the Zigbee NCP Framework and call the appropriate diagnostic functions (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetails, and halPrintCrashData) in this callback to print this data to Serial 0 for viewing in the Network Analyzer capture log.

For an example of how to use these functions, refer to the code included in af-main-soc.c’s emberAfMainInit() when EXTENDED_RESET_INFO is defined.

481618

| The “Network Open Time” option of the Network Creator Security plugin may not work as expected when you open network if the time does not match the transient key timeout.|

Set the Network Open time to the same value as the Transient Key Timeout.

486369

| If a DynamicMultiProtocolLightSoc forming a new network has child nodes remaining from a network it has left, emberAfGetChildTableSize returns a non- zero value in startIdentifyOnAllChildNodes, causing Tx 66 error messages when addressing the “ghost” children.| Mass-erase the part if possible before creating a new network or programmatically check the child table after leaving the network and delete all children using emberRemoveChild prior to forming a new network.

495563

| Joining SPI NCP Sleepy End Device Sample App doesn’t short poll, therefore the joining attempt fails at the state of Update TC Link Key.| The device that wishes to join should be in Short Poll mode before attempting to join. This mode can be forced by the End Device Support plugin.

497832

| In Network Analyzer the Zigbee Application Support Command Breakdown for the Verify Key Request Frame mistakenly references the part of the payload that indicates the frame Source Address as the Destination Address.|

No known workaround

498094

| In function checkForReportingConfig() in metering- server.c, the second input parameter of the invoked function emberAfContainsServer() incorrectly references the attribute ID instead of the cluster ID.| Change the 2nd input parameter from the attribute ID (ZCL_CURRENT_SUMMATION_DELIVERED_ATTRIBUT

E_ID) to the cluster ID (ZCL_SIMPLE_METERING_CLUSTER_ID).

519905

521782

| Spi-NCP may very rarely fail to start up bootloader communication using the ‘bootload’ CLI command of the ota-client plugin.|

Restart the bootload process

521706

|

A duplicated attribute ID is assigned in the altConsumptionMonthAttrIds[] array of the gas-proxy- funxtion plugins in gpf-structured-data.c.

| Change the second ZCL_PREVIOUS_MONTH6_ALTERNATIVE_CONSUMPT ION_DELIVERED_ATTRIBUTE_ID to ZCL_PREVIOUS_MONTH7_ALTERNATIVE_CONSUMPT ION_DELIVERED_ATTRIBUTE_ID.

620596

| NCP SPI Example for BRD4181A (EFR32xGMG21)

nWake default pin defined cannot be used as a wake-up pin.

|

Change the default pin for nWake from PD03 to a EM2/3 wake-up-enabled pin in the NCP-SPI Plugin.

621144

|

GP on/off switch example cannot be compiled for the BRD4183A board.

|

The sample has to be manually modified to use only one button.

ID # Description Workaround

631713

| A Zigbee End Device will report address conflicts repeatedly if the plugin “Zigbee PRO Stack Library” is used instead of “Zigbee PRO Leaf Library”.| Use the”Zigbee PRO Leaf Library” instead of the “Zigbee PRO Stack Library” plugin.
648906

659010

| emberChildId and emberChildIndex

APIs were accidentally removed in EmberZNet 6.8.0.2.

| Call sl_mac_child_short_id and sl_mac_child_index instead

670702

| Inefficiencies within the Reporting plugin can lead to significant latency based on data write frequency and table size, which may interfere with customer application code, including event timing.| If doing frequent writes, consider checking reporting conditions and sending reports manually rather than using the plugin.

708258

| Uninitialized value in groups-server.c via addEntryToGroupTable() can create a spurious binding and cause groupcast reporting messages to be sent.| Add “binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;” after “binding.type

= EMBER_MULTICAST_BINDING;”

757775

|

All EFR32 parts have a unique RSSI offset. In addition, board design, antennas and enclosure can impact RSSI.

| When creating a new project, install the RAIL Utility, RSSI component. This feature includes the default RSSI Offset Silabs has measured for each part. This offset can be modified if necessary after RF testing of your complete product.

758965

| ZCL cluster components and ZCL command discovery table are not synchronized. Therefore, when enabling or disabling a ZCL cluster component, implemented commands will not be enabled/disabled in the corresponding ZCL Advanced Configurator command tab.|

Manually enable/disable discovery for the desired ZCL commands in the ZCL Advanced Configurator.

758966| Add “Enable command discovery” CMSIS option in zcl_framework_core| No known workaround
760759| Button validation script does not trigger, allowing DMPLight to generate for 4308D| Use DMPLight minimal for BRD4308D instead of DMPLight

760811

| In the CPCd configuration, if STDOUT_TRACE and TRACE_TO_FILE are both disabled, a timing issue with CPC causes the Zigbee endpoint to close on some setups.|

For a short-term workaround, enable traces using either STDOUT_TRACE or TRACE_TO_FILE.

765735| The OTA update fails on Sleepy End Device with enabled Page Request.| Use Block Request instead of Page Request.
823617| The watchdog cannot be enabled on MG24 device for Zigbee applications in this release.| No known workaround

825902

| The router assigned an invalid NodeId(0xFFFE) to joiner device in joining process, which caused the coordinator assert in later communication.| Resolved issue where association, rejoin, and node ID up- dates may end up with a node being assigned an invalid address.

829647

| emberAfSendUnicastWithCallback() never fires the callback for fragmented messages:

When sending a message large enough to require fragmentation with emberAfSendUnicastWithCallback(), the callback is never called.

|

No known workaround

857200

| ias-zone-server.c allows for a binding to be created with a “0000000000000000” CIE address and posteriorly does not allow further bindings.| No known workaround
1019961| Generated Z3Gateway makefile (possibly others) hardcodes “gcc” as CC| No known workaround

Deprecated Items

  • None

Removed Items

Removed in release 7.1.0.0
The Multi Network Stub and Multi PAN Stub components have been removed. For further information please refer to the Improvements section.
The APIs halStackGetIdxTokenPtrOrData(), halInternalGetIdxTokenPtrOrData(), and sl_token_get_pointer_or_data() are not used and not supported. If there is a situation using them, the more common APIs halCommonGetIndexedToken() or sl_token_get_data() should be used instead.

Multiprotocol Gateway and RCP

New Items

  • Added in release 7.1.4.0
    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.

  • Added in release 7.1.1.0
    851653 Added option to start cpcd conditional to a firmware version. Also allows firmware update process to be conditional to a firm-ware version. (-a /–app-version ). Added option to restart cpcd after firmware update. (-r/–restart-cpcd)
    Added manufacturing library support on a Host-CMP RCP setup. This change allows RF testing on the manufacturing line on a Host-CMP RCP setup by sending mfglib EZSP frames from the Z3Gateway host to the RCP.
    Added 802.15.4 CSL support to the multiprotocol RCP.

  • Added in release 7.1.0.0
    A new concurrent multiprotocol configuration is available: Zigbee NCP and OpenThread RCP running concurrently on the EFR32, using the Co-Processor Communication (CPC) architecture. It is released as alpha quality. See AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol RCP for details.

Improvements

Changed in release 7.1.0.0
CPC security is now enabled by default in the cpcd.conf file and in the SLCP project files. This means data sent over the serial line between the host and the EFR32 is encrypted. A security commissioning step is required to bind the host to the EFR32. See https://github.com/SiliconLabs/cpc- daemon/blob/main/readme.md for details.
For convenience, the run.sh script in app/host/multiprotocol/zigbeed /multiprotocol-container/ includes a -K argument for commissioning cpcd security when using the multiprotocol docker container.
The multiprotocol container has been upgraded to use ubuntu 22.04 and BlueZ 5.64.
The zigbee_trust_center_backup component now supports migrating from a Zigbee Host + NCP setup to a Zigbee Host + Zigbeed + RCP setup. See AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol RCP for details.
Zigbeed built from GSDK sources no longer requires the /accept_silabs_msla_file at runtime. Only the Zigbeed binary from the multipro-tocol docker container requires it.

Fixed Issues

Fixed in release 7.1.4.0

ID # Description
829675 Fixed bidirectional Green Power commissioning with Z3GatewayGPCombo +

Zigbeed + RCP.
1066422| Fixed an intermittent buffer leak in Zigbeed.
1068429| Fixed a race condition that could cause the CMP RCP to assert.
1068435| The CMP RCP now passes compliance test GPP 5.4.1.23.
1068942| Fixed a leak in the RCP source match table that could prevent zigbee devices from joining.
1074172| Fixed sending leave request from Zigbeed when receiving a poll from a non-child.
1074290| Stopped Zigbeed from processing un-acked polls.
ID #| Description
---|---
1074593| Fixed issue in which Just-in-time (JIT) messages to sleepy end devices were not sent correctly by the CMP RCP.
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.
1080482| Made SPINEL timeout recovery more robust to heavy transmit traffic by the other protocol stack in CMP RCP.
1081455| Added workaround for non-compliant Zigbee devices that timeout 802.15.4 acks too quickly. To enable the workaround, define NONCOMPLIANT_ACK_TIMING_WORKAROUND.

Fixed in release 7.1.2.0

ID # Description
1025713 Increased the maximum length of the zigbeed device path from 40 to
  1. 1030557| Fixed build errors when adding the legacy bootloader interface component to the multiprotocol RCP projects.
    1030557| Fixed a build issue to allow the legacy ember_bootloader_interface component to be added to MG1-based multiprotocol RCP projects, for customers using the legacy Ember bootloader. Also added support for CPCd to bootload devices with the legacy ezsp-spi Ember bootloader.

Fixed in release 7.1.1.0

ID # Description
834191 Fixed cpc-hci-bridge so that it does not consume excessive CPU.
859224 Fixed an issue where CPC security was failing during initialization on

MG1.
859301| Fixed an issue where Thread and Zigbee sleepy end devices failed to join to the RCP on MG1.
988216| Fixed issue where Zigbeed failed to run on a 64 bit Raspberry Pi.
824100| Fixed an issue where Z3GatewayCPC could not be started more than once without an error.
851331| Z3GatewayCpc can reconnect to cpcd service without needing a restart.
858153| Fixed a coex component configuration for MG1.
858503| Enabled the coex component by default in the multiprotocol RCP images, and fixed a RAM usage issue that prevented building on MG1.
1019947| Added support for building RCP projects for efr32mg1b and efr32mg1v parts.

Fixed in release 7.1.0.0

ID # Description
760596 Reduced the CPU consumption of Zigbeed when it is idle.
811566 Fixed an issue where Zigbee sleepy end devices failed to join to an

RCP parent.
817698| Fixed a Zigbeed crash due to a null buffer in the lower mac layer.
822233| Fixed an issue that caused dropped CPC packets over VCOM, especially at higher baud rates.
829614| The multi-PAN/multiprotocol 802.15.4 RCP now sets the radio tx power to the maximum of the power levels requested by all 15.4 host applications. This avoids the problem of one application reducing the power and inadvertently causing network connectivity problems for the other application.
830596| Fixed an issue where joining a sleepy end device to the multiprotocol RCP caused Z3Gateway to crash in some circumstances.
831689| Fixed an issue in Zigbeed that resulted in a fixed pan id and other parameters being chosen when forming a network.

Known Issues in the Current Release

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

planned in a future release.


828785

| There is a known issue with the cpc-hci-bridge that causes the second HCI packet to be dropped if BlueZ sends two HCI packets to the RCP in rapid succession.| ****

A fix is targeted for the next patch release.


937562

| Bluetoothctl advertise on command fails with rcp-uart- 802154-blehci app on Raspberry Pi OS 11 with Linux kernel 5.15.| ****

Use Linux kernel 5.10 or use btmgmt command.


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.

1032183| Zigbeed does not support EZSP coex commands.| Support is planned in a future release.
1036622| There is a problem using cmake to build ot-cli using the multi-PAN RCP. It will be fixed in a future release.| Use the make build target as described in AN1333

section 2.3.2.2.

1040127| CPC security fails to initialize for the rcp-uart-802154 and rcp- spi-802154 projects on mg13 and mg14 series parts.| Either disable CPC security, or add the mbedtls_entropy_adc component to the RCP image.

Deprecated Items

  • None

Removed Items
Removed in release 7.1.0.0
Pre-built ARM binaries for multiprotocol host applications are no longer distributed within the GSDK (cpcd, otbr-agent, zigbeed, Z3Gate-way, etc). These should be built from sources on the target platform using the instructions in AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol RCP.
A copy of sl_cpc.h that was being included in the OpenThread sources as a convenience has been removed. This header file is placed in the standard system location when cpcd is installed.

Using This Release

This release contains the following:

  • Zigbee stack
  • Zigbee Application Framework
  • Zigbee Sample Applications

For more information about Zigbee and the EmberZNet SDK see UG103.02: Zigbee Fundamentals.
If you are a first-time user, see QSG180: Z Zigbee EmberZNet Quick-Start Guide for SDK 7.0 and Higher, for instructions on configuring your development environment, building and flashing a sample application, and documentation references pointing to next steps.

Installation and Use

The Zigbee EmberZNet 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/Sili-conLabs/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
This version of the stack does not integrate Secure Vault Key Management.

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 Laboratories Zigbee web page to obtain infor-mation about all Silicon Labs Zigbee products and services, and to sign up for product support.
You can contact Silicon Laboratories support at http://www.silabs.com/support.

Simplicity Studio
One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux!

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 imple-menters 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 infor-mation 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”, Redpine Signals®, WiSeConnect , n-Link, ThreadArch®, 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