silicon-logo

SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK

SILICON-LABS-7-1-5-0 Zigbee-EmberZNet-SDK-product

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

<sdk>/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 <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 4096.
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\<NAME>\SimplicityStudio\SDKs\gecko_sdk
  • (MacOS): /Users/<NAME>/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.SILICON-LABS-7-1-5-0 Zigbee-EmberZNet-SDK-fig- (1)

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

Documents / Resources

SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK [pdf] User Guide
7.1.5.0 Zigbee EmberZNet SDK, 7.1.5.0, Zigbee EmberZNet SDK, EmberZNet SDK

References

Leave a comment

Your email address will not be published. Required fields are marked *