Zigbee EmberZNet SDK 8.1 GA Release Notes

Silicon Labs
August 6, 2025

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):
8.1 GA, Rev 3 released August 6, 2025
8.1 GA, Rev 2 released April 1, 2025
8.1 GA, Rev 1 released February 5, 2025
8.1 GA released December 16, 2024

Zigbee Key Features

Multiprotocol

Compatibility and Use Notices

For information about security updates and notices, see the Security chapter of the 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.40.1.

GCC (The GNU Compiler Collection) version 12.2.1, provided with Simplicity Studio.

The EZSP protocol version for this release is 0x10.

1 New Items

1.1 Important Changes

The APS link key table size (configured using SL_ZIGBEE_KEY_TABLE_SIZE) is expanded from 127 to 254 entries.

1.3 New APIs

Revision 3

A new API, sl_status_t sl_zigbee_send_raw_message_with_tag, is the same as sl_zigbee_send_raw_message except that it adds a messageTag to the outgoing message, has been added. The details of the signature are provided here and are also available at docs.silabs.com:

/** @brief Send the given message over the air without higher layer
* network doheaders with message tag is inputted by the user.
*
* The first two bytes are interpreted as the 802.15.4 frame control field.
* If the Ack Request bit is set, the packet will be retried as necessary.
* Completion is reported via ::sl_zigbee_raw_transmit_complete_handler().
* Note that the sequence number specified in this packet is not taken into
* account by the MAC layer. The MAC layer overwrites the sequence number field
* with the next available sequence number.
*
* @param message The message to transmit.
* @param mesage_length The message length to transmit.
* @param priority Transmit priority
* @param useCca Flag should the CCA stay on or not
* @param messageTag The message tag to be used for the message.
*
* @return ::SL_STATUS_OK if the message was successfully submitted to
* the transmit queue, and ::SL_STATUS_FAIL otherwise.
* @internal SL_ZIGBEE_IPC_ARGS
* {# message | length: message_length | max: MAX_IPC_VEC_ARG_CAPACITY #}
``````
*/
sl_status_t sl_zigbee_send_raw_message_with_tag(const uint8_t *message, uint8_t message_length,
sl_zigbee_transmit_priority_t priority, bool useCca, uint8_t messageTag);

1.4 New Platform Support

1.5 New Documentation

Revision 1

Refer to sl_status_t for information on the status codes used by ZNet v8.

2 Improvements

Revision 3

To match new command handler signatures while fixing a issue of missing ZCL_STOP_MOVE_STEP_COMMAND_ID command processing, the command handler API signature have been updated.

From:
bool zigbee_af_color_control_cluster_stop_move_step_cb(uint8_t optionsMask, uint8_t optionsOverride)
To:
bool sl_zigbee_af_color_control_cluster_stop_move_step_cb(sl_zigbee_af_cluster_command_t *cmd)

Fixed Issues

ID #Description
1043514Fixed a potential issue when the neighbor table size on an end device is configured greater than 1 by flagging an error at the generation step.
1105979Renamed component zigbee_app_framework_common to zigbee_system_common. Renamed source files, header files zigbee_app_framework_common to sl_zigbee_system_common. Added priority to function sli_zigbee_ncp_tick_callback in order to reorder autogen function.
1240421Added all R23 pro-compliance CLIs to ZUTH.
1254397Added mutex protection for App Framework event queue so App Framework event APIs can be called from multiple tasks.
1259298Fixed an issue with the label of the pro leaf stack.
1265831Fixed an issue on NCP where source route overhead should always present for incoming message callback.
1275779Added a global processing that sends a success default response when the ZCL command was handled successfully but no response was sent, and removed the manually triggered success default responses in cluster command handler.
1277857Fixed an issue that caused GPD Commissioning Reply to be filtered at the test harness. Also, added support for quick response for GPDF with App ID 0x02.
1294341Fixed an issue that caused zigbee AF debug prints to add an extra line.
1296881After a new end device joined on the sub-GHz band, the duty cycle aging data was mistakenly cleared for all end device children.
1298015Removed the indirection through sli_zigbee_common_wakeup_isr which was only being used for an internal component and was made redundant by preceding calls in the same call chain.
1297976The Z3Gateway built on Raspberry Pi with kernel 6.6 failed to connect to NCP over SPI by default. Solution is to redefine the GPIOs as described here.
Note the following information on GPIOs that maps to the SPI NCP interface. On kernel 6.6, running
sudo cat /sys/kernel/debug/gpio
That will display following
gpio-520 (GPIO8 )
gpio-534 (GPIO22 )
gpio-535 (GPIO23 )
gpio-536 (GPIO24 )
redefine the GPIO for SPI NCP interface from above sysfs in spi-protocol-linux-config.h as
#define NCP_CHIP_SELECT_GPIO "520"
#define NCP_HOST_INT_GPIO "534"
#define NCP_RESET_GPIO "535"
#define NCP_WAKE_GPIO "536"
1300935Fixed excess default response from Z3Gateway for OTA cluster.
1305214sl_zigbee_mac_filter_match_list has been fixed to work properly in RTOS builds. The API now relies fully on list_length to parse the length of the passed-in filter list, and the length of a MAC filter match list has a limit of 32 (SL_802154MAC_FILTER_MATCH_LIST_MAX_LENGTH).
1306512Introduced new APIs to allow customers Set/Get CTUNE value via mfglib mode with command plugin mfglib ctune set/get. Changing CTUNE only in mfglib normal mode, it can't be set in tone/stream operations.
1307470Tizen-13.1 specific 32 bit and 64 bit libraries with soft floating point support have been added to the list of Zigbee library variants. Zigbeed could be generated and built with these libraries using zigbee_aarch64_tizen_13_1_gcc_9_2 or zigbee_arm7l_tizen_13_1_gcc_9_2 components.
1309915Zigbeed libraries for Android ndk-r25c have been added to our list of supported variants. To use these libraries, Zigbeed needs to be generated with the newly added zigbee_aarch64_android_ndk_r25c component, and built with adnroid-ndk-r25c or compatible compilers.
1310485Reworked internal stack buffer initialization to acquire memory for buffer heap via library code callback.
1310501The DMP Tuning component is now deprecated. Users may refer to the '802.15.4 Unified radio scheduler priority' (radio_priority_15_4) component in its place to alter stack radio priorities. This component allows configuration of radio priorities for transmits, background receive, and active receive states of the 802.15.4 radio in a single-stack and multiprotocol scenario.
1312065Fixed an issue where the non-stub implementation of sl_zigbee_child_index() was incorrectly placed inside the Zigbee R22 Support library, causing it to return an invalid index for builds that do not use that library.
1312097Fixed an issue that could pass an invalid mac layer packet to cause an assert.
1312099Fixed an issue that could pass an APS malformed packet to cause a bus fault.
1312369Made SL_LEGACY_HAL_WDOG_IRQHandler() weak function, that allows customers to provide their own implementation.
1314347Adjusted "find_and_bind" CLI to "find-and-bind" to conform to CLI naming convention.
1315570Token Manager shouldn't assert in cases when the NVM3 cache is too small. Instead, we print a warning on a debug firmware, and also introduce sl_token_manager_assert_on_cache_overflow_callback that determines whether we want to assert on the NVM3 cache overflow or not.
1316959Fixed a compile issue when enabling multi-network on a standard app.
1318352Reorganized all Zigbee and MP apps into a common app/projects folder.
1321780Fixed an issue that cause the DUT dropping the GPDF commissioning from GPD which has IntraPAN set to 0 , and source PAN ID presents.
1327706The EZSP_MAX_FRAME_LENGTH is reverted back to 220. This allows the maximum length of XNCP message to be 220 as well.
1328991Fixed an issue that caused some GP proxy tests to fail on RCP setup.
1330292Added R23 support for network steering/network creator (initial join).
1330418Fixed an issue where the beaconPayloadStartIndex was incorrect when parsing the beacon tlvs.
1331483Updated the CPC host app usage text to bring it in line with currently supported functionality.
1331580Fixed an issue in handling unsolicited rejoin response.
1331924Introduced new APIs to allow customers a Set/Get CTUNE value via mfglib mode with command plugin mfglib ctune set/get. When changing CTUNE only in mfglib normal mode, it could not be set in tone/stream operations.
1332086Fixed an issue that caused MAC Address Filtering component to be always dependent on the CLI component.
1332364Upgraded host_token.nvm (zigbeed) on the host to use new file format.
1332932Zigbee Direct: ZDD's Tunneling Service now supports receiving multiple NPDUs in a single connection interval.
Zigbee Direct: ZDD will buffer outgoing NPDUs to the ZVD beyond what can be exchanged in a single connection interval
1334060Fixed an issue on GP RCP interface that caused some GP proxy tests to fail.
1334549Fixed an issue in some GPD apps's initialization that caused a RAIL crash.
1334581Fixed an issue that caused the reported LQI and RSSI always zero on Z3Gateway.
1337956Renamed alpha and internal apps according to UX/DX guidelines.
1339456Added the new configuration, SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_ENABLE_AUTOSTART, and a new function, sl_zigbee_af_network_steering_autostart, to network steering. sl_zigbee_af_network_steering_autostart will begin network steering if the configuration is enabled and will otherwise only print a message that the configuration is disabled. This can be used for testing purposes that require more predictable behavior for when network steering is to run.
Custom preconfigured keys (pre-configured-key-set command in network steering CLI) are now compatible with optimized scans.
1341928Si4468 firmware patch added to phy-pro2plus-library to address race condition in sub-GHz Tx/Rx processing.
1342410Expanded link key table to accommodate 254 entries in the stack key table. Each entry represents a piece of security information mapped to a particular EUI64 address. Some devices, depending on the use case, may consume 2 entries in the key table - 1 for APS Link Key, 1 for ZDO Authentication Token (used for Dynamic Link Key). Link Key access APIs remain largely unchanged, although index 255 remains a special reserved value for some APIs.
1342412SL_ZIGBEE_KEY_TABLE_SIZE limits expanded up to 254 entries.
1344155Fixed an issue of enumeration mismatch for EmberLeaveRequestFlags.
1345981Custom Basic tokens are non-indexed type, which should not be accessed by index, unlike indexed tokens. While using sl_token_get_data, the index $0 x 7 F$ should be used.
1348659Fixed an issue that caused starting find and bind target on two endpoints at the same time get stuck in an infinite loop in Z3Gateway host application and crash reboot on Z3Light SoC.
1348673Fixed an issue that caused the end device joining failure through the router when R23 and DLK were enabled.
1349749Extraneous ZCL Default Responses with ZCL Success status were sent in response to cluster-specific ZCL commands even when a specific ZCL response was already being sent for that command.
1350285In rare cases, a packet was passed to the Outgoing Packet Handoff Callback with a payload index parameter that exceeded the stated length of the packet buffer, leading to an assert in legacy-packet-buffer.c if the Packet Handoff component was enabled.
1351489Fixed an issue that caused LQI Response to be received with MAC address as All Zeros.
1351894Added new library variant of Zigbee PRO Router Stack, which provides support for rail mux, separate from the already existing variant which combines it with high-datarate PHY support.
1352421Added RX packet information to GP handlers at the application layer.
1354519Fixed issue that caused the APS Verify Key Confirm message processing error.
1355430Fixed warning on mismatched sli_mac_upper_mac_state declaration.
1356289Stack functions that use Buffer Manager APIs to extend/append a packet buffer now perform additional sanity-checking to avoid conditions where insufficient heap space exists to extend the buffer length.
1357515Fixed an issue that caused build errors when the secondary network has the SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_FULL type since key-establishment.c expects this to be mapped to the EMBER_AF_HAS_SECURITY_PROFILE_SE_FULL define.
1358823Fixed an issue with ZCP tests where the new link key sent by TC with policy sent a current key that was not hashed.
1360076Zigbee Direct: Fixed handling of authentication of new ZVD to help pass Zigbee Direct Testcases ZDD-CONF-TC-02-CENTR-ZC-0 and ZDD-CONF-TC-02-DISTR.
1355154Fixed an issue in the attribute metadata that caused the access of Electrical Measurement attributes to be read-only instead of read-write as per the ZCL Specification.
1363780Fixed several warning in the framework code with IAR compiler.
1366437Added ezsp.yaml, a machine-readable version of the EZSP specification.
1367530Removed the usage of SL_ZIGBEE_KEY_TABLE_SIZE on the host. From now on, the link key table size will be stored where the stack is running, such as SoC, NCP, or zigbeed images.
1367899Fixed an issue that prevented incoming GP message to the NCP (with GP plugin installed) passing to the host.
1368790Fixed RAIL Mux did not forward packets to upper layer when application was running in mfglib mode.
1370016Increased the GP_INCOMING_FC_TOKEN_TIMEOUT upper limit, so customers can adjust to avoid the flash from quickly wearing out.
1356760A new configuration item, SL_ZIGBEE_AF_PLUGIN_ZCL_CLUSTER_DEFER_ATTRIBUTE_WRITES_TO_NVM_MS, has been added under the ZCL Framework Core component. This configuration item allows the user to defer updating NVM by a specified delay when a ZCL attribute's value is changed. This option is used where an attribute might be getting updated many times in a short time interval, flash access is slower, such as with external flash parts, or if the number of writes to flash is of concern.
1379172New Component: Radio Priority Configurator
Added a new component named "radio_priority_configurator."
This component allows Zigbee/multiprotocol projects to use the Radio Priority Configurator tool in Simplicity Studio to configure the radio priority levels of the 802.15.4 stack.
1383387An issue has been fixed where a device was unable to join a network, with the message "Error: Scan complete handler returned $0 imes 44$ " printed on the console during the scan process. This error stopped all transmits on the device and is now resolved.
1379187Fixed race condition where CSL changed lower mac state in an interrupt context which caused an assertion in lower mac on zigbee_ble_sleepy_to_sleepy_shades app

Revision 1

ID #Description
1384656Fixed an issue in filtering out certain parts to support RTOS-based sample applications because those parts may not have enough resources to support the sample application.
Other ref. : 1384578
1385659,
1385680
Fixed a CPC EZSP buffer TX/RX memory leak issue on NCP when running using zigbee_ncp_cpc component.
Other ref. : 1385096, 1377518
1385700An issue was fixed where uninitialized values in Zigbee IPC commands carry garbage values Other ref. : 1376690
1386041Fixed a compiler warning in throughput.c Other ref. : 1385996
1387542Fixed an issue to remove the children immediately from the source route table of its parent after it left the network.
Other ref. : 1383925
1389782Fixed a race condition issue where Zigbee IPC commands returned before the Zigbee task woke up and executed the current IPC command. This led to unexpected behavior due to using incorrect IPC command results.
1402923Fixed an issue that caused incorrect command payload representation in gpep_incoming_handler when RTOS (IPC component) is used.
1402930Fixed an issue in sl_zigbee_token_factory_reset when reseting a large number of tokens to factory new. The iteration loop may take more time than the watchdog timeout; fixed the issue by moving the watchdog refresh into the innermost iteration.
Other ref. : 1352533
1402964An issue has been fixed where a Zigbee RTOS image would hang after receiving a ZDO message, such as the Match Descriptor request message. All CLI and packet processing would come to a halt when in the error state.

Revision 2

ID #Description
1369186Allow users to configure Address Table Size (macro SL_ZIGBEE_ADDRESS_TABLE_SIZE) via zigbee_pro_stack component inside Simplicity Studio.
1378043Fixed an issue that caused the network steering to call network_found infinitely when too many beacons were present. This was achieved by clearing the scan state appropriately.
Other ref: 1340230
1382503Added the ability for a CSL receiver to register commands from multiple CSL initiators.
1385694Increased zigbee AF task stack and BT event handler stack size to fix device crash issue. Other ref: 1325225
1385697Fixed an issue where certain packets with invalid data regarding the APS frame size could trigger an assert if received.
Other ref: 1312098
1389463Fixed an issue that caused a crash when forming a network using Z3Gateway with Ito enable on the ncp.
1399221Fixed a memory alignment issue for CSL Tx Buffer.
1413079Fixed the missing restriction issue in Time Server cluster implementation.
Other ref: 1408816
1413451Fixed an issue that caused wrong format in GP Pairing Configuration packet.
1415014Fixed an issue that caused redundant bytes after Status field in Routing table Response packet when it's not supported.
1424836Fixed an issue that caused incorrect behavior in copying message payload in
sli_zigbee_stack_raw_transmit_complete_handler when RTOS is used.
Other ref: 1421368
1425217Fixed Multi network didn't work when using Zigbee IPC component.
Other ref: 1390107

Revision 3

ID #Description
1420830Fixed a corner case issue when using the Multi-Network feature in conjunction with the Sleepy-to-sleepy feature. The issue resulted in s2s target not responding after joining successfully on secondary network.
1424260Added brd4194a to backlist for SleepyToSleepyShades application since it does not have enough resources to support the application.
1429308Fixed an issue in the Slot Manager component that failed to compile if the application did not include command line interface.
1430460Fixed an issue where S2S shades were not able to receive data from target on primary network if the secondary network on the shades failed to join another network
1438747Fixed an issue where sl_zigbee_gp_proxy_table_process_gp_pairing did not appear to be IPC-safe.
1438823Fixed an issue where the host app crashed when trying to leave network. The Green Power NCP was configured with a much larger GP table size.
1440404Fixed an issue where a Zigbee 3.0 joining device would fail to successfully update its Trust Center Link Key with the trust center. The error symptoms involved a Verify Key Request message sent to the TC that is replied with a correct Verify Key Confirm message, but this Verify Key Confirm message never made its way to the joining device due to routing or other network issues. A subsequent retry of the Verify Key Request message would result in a Verify Key Confirm from the TC that has a status of error, thus killing the update TC link key procedure.
1442467Added upgrade rule to replace zigbee_pro_stack_rail_mux by zigbee_pro_stack.
1454400Fixed an issue of green power sink handling the pairing configuration command with action remove pairing for a groupcast received from a proxy device.
1473057Fixed the issue of missing ZCL_STOP_MOVE_STEP_COMMAND_ID command processing. The command handler API signature has been updated from bool zigbee_af_color_control_cluster_stop_move_step_cb(uint8_t optionsMask, uint8_t optionsOverride) to bool sl_zigbee_af_color_control_cluster_stop_move_step_cb(sl_zigbee_af_cluster_command_t *cmd), as part of this change to match the new command handler signatures.
1476333Fixed potential stack memory corruption when calling sl_zigbee_ezsp_get_configuration_value().
1486170Added more clarity to the description of the sl_zigbee_af_ota_client_download_complete_cb callback in this release.
1486243Fixed issue where S2S shades were not able to receive data from target on primary network if the secondary network on the shades failed to join another network.
1486252Created a new API sl_status_t sl_zigbee_send_raw_message_with_tag(const uint8_t *message, uint8_t message_length, sl_zigbee_transmit_priority_t priority, bool useCca, uint8_t messageTag). It is like sl_zigbee_send_raw_message, but adds messageTag to identify which message was sent.
1486254Fixed an issue where OTA client fetched the same image again and again when Delete Failed Downloads option was set to false.

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

ID #DescriptionWorkaround
N/AThe following apps/component is not supported in this release: EM4 support.Feature will be enabled in subsequent releases.
193492emberAfFillCommandGlobalServerToClientConfigureRe 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.
278063Smart Energy Tunneling plugins have conflicting treatment/usage of address table index.No known workaround
289569Network-creator component power level picklist doesn't offer full range of supported values for EFR32Edit 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>.
295498UART reception sometimes drops bytes under heavy load in Zigbee+BLE dynamic multiprotocol use case.Use hardware flow control or lower the baud rate.
312291EMHAL: 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.
338151Initializing 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
387750Issue with Route Table Request formats on end device.Under Investigation
400418A touchlink initiator cannot link to a non-factory-new enddevice target.No known workaround.
424355A non-factory-new sleepy end device touchlink targetcapable initiator is not able to receive a device information response in certain circumstances.Under Investigation
465180The 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".
480550The 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
486369If 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.
495563Joining 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.
497832In 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
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
620596NCP 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.
631713A 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.
670702Inefficiencies 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.
708258Uninitialized 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;"
757775All 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.
758965ZCL 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.
765735The OTA update fails on Sleepy End Device with enabled Page Request.Use Block Request instead of Page Request.
845649Removing CLI:Core component does not eliminate EEPROM cli calls to sl_cli.h.Delete the eeprom-cli.c file that calls the sl_cli.h. Additionally, calls to sl_cli.h as well as sl_cli_command_arg_t in the ota-storage-simple-eeprom can be commented out.
857200ias-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
1019961Generated Z3Gateway makefile hardcodes "gcc" as CCNo known workaround
1039767Zigbee router network retry queue overflow issue in multi thread RTOS use case.Zigbee Stack is not thread-safe. As a result, calling Zigbee stack APIs from another task is not supported in OS environment and may put the stack into "non-working" state. Refer to the following App note for more information and workaround using event handler.
https://www.silabs.com/documents/public/application-notes/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk7x.pdf .
1064370The Z3Switch sample application only enabled one button (instance : btn1) by default that leads to mismatch in button description in the projectile.Workaround: Install the btn0 instance manually during Z3Switch project creation.
1161063Z3Light and potentially other applications report incorrect cluster revision values.Manually update the cluster revision attribute to their appropriate revision.
1164768,
1171478,
1171479
ERROR: ezspErrorHandler 0x34 reported repeatedly during mfglib receive modeTo reduce the error messages printed, configure EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV ENT_TIMEOUT_MS on the host app to 100, so the callback queue is freed more quickly.
1254368Fragmentation of new Zigbee 2023 ZDO messages is not supported in this releaseNo known workaround.
This will be supported in the next planned release.
1340230Network Steering calls network_found infinitely when too many beacons are present.Two possible workarounds:
1. The first workaround was provided by a customer and is as follows:
EmberNetworkParameters parameters; parameters.radioChannel = BEACON_ITERATOR.beacon.channel; parameters.radioTxPower = radioTxPower; parameters.panId = BEACON_ITERATOR.beacon.panId; MEMCOPY(parameters.extendedPanId, BEACON_ITERATOR.beacon.extendedPanId, EXTENDED_PAN_ID_SIZE); status = emberJoinNetwork(nodeType, ¶meters);
2. The second workaround is to simply reset the device.
1377221Debug basic and extended is corrupting CLI.No known workaround.
1369186Address table size is not configurable for NCP.Address table size is now configurable on NCP using dynamic allocation based on the resource requirement. It does not have a configuration item like previous releases. But if it is needed to get configured from application or project scope, the workaround would be to define the SL_ZIGBEE_ADDRESS_TABLE_SIZE at the project level.
1393428ZDDLight app needs to enable a non-default configuration to work.The Zigbee BLE - DirectDeviceLight sample project requires the config option
SL_MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS to be enabled by the user for correct operation.
1396475,
1398014,
1401879
These issues are related to Simplicity Studio/ZAP. Latest Studio changes break ZAP generation for custom XML in SiSDK v2024.12.[0/1].The short term workaround for this is as follows:
- Go to [SiSDK v2024.12.1]/app/zcl and paste your custom xml file here.
- Open [SiSDK v2024.12.1]/app/zcl/zcl-zap.json
- Now add your custom xml file name to "xmlFile" array here.
- This should allow you to edit the custom clusters/extensions for your sample applications.

4 Deprecated Items

6 Network Limitations and Considerations

The default Trust Center applications that come shipped with this EmberZNet release are capable of supporting a number of devices on the network. This number is determined based on several factors, including configured table sizes, NVM usage, and other generationtime and run-time values.

User seeking to create large networks may face resource issues when growing the network larger than the application can support. For example, a device requesting a Trust Center Link Key from the Trust Center may trigger a sl_zigbee_af_zigbee_key_establishment_cb callback on the Trust Center with status set to SL_ZIGBEE_KEY_TABLE_FULL, indicating that the key table does not have room to add a new key for the requesting device or that NVM3 has no available space.

Silicon Labs provides the following recommendations for users seeking to create large networks. For Trust Center applications, the following configurations are recommended. These recommendations are not exhaustive, and they serve as a baseline for applications intending to grow large networks.

These adjustments apply to the Trust Center only.

7 Multiprotocol Gateway and RCP

7.1 New Items

Enabled GA SoC support for BLE DMP with Zigbee + Openthread CMP with concurrent listening on xG26 parts.
Debian alpha support has been added for zigbeed, OTBR and Z3Gateway applications. Zigbeed and OTBR are provided in DEB package format for the chosen reference platform (Raspberry PI 4) as well. See Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-Processor, for details.

Added Zigbeed support for Tizen-0.1-13.1 for arm32 and aarch64 as well as Android 12 for aarch64. More information on Zigbeed can be found at docs.silabs.com.

Added the new "802.15.4 Unified radio scheduler priority" component. This component is used to configure the radio priorities of a 15.4 stack. The component also requires the new "radio_priority_configurator" component. This component allows projects to use the Radio Priority Configurator tool in Simplicity Studio to configure the radio priority levels of the stacks that require it.

Revision 2

The zigbee_throughput plugin start command now includes an optional uint8_t argument "plugin throughput start 0 " which will not clear the stack counters before a throughput test begins. This is intended for testing purposes. If no additional arugment is included and/or not 0 , the current behavior remains the same and will clear the device counters when a throughput test begins.

7.2 Improvements

Application note Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-Processor (AN1333) has been moved to docs.silabs.com.

OpenWRT support is now GA quality. OpenWRT support has been added for zigbeed, OTBR and Z3Gateway applications. Zigbeed and OTBR are provided in IPK package format for the reference platform (Raspberry PI 4) as well. See Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-Processor, for details.

Revision 1

The Zigbee BLE - DynamicMultiprotocolLightSed sample project can now be built for boards with only one LED if the LED1 component is excluded from the project.

This revision has the following improvements for multi-protocol applications when, for example, running Zigbee or OpenThread for the custom use-case of running one protocol at a time:

  1. The sl_zigbee_af_zll_unset_factory_new() API has been added to allow applications to unset a Zigbee node from the default factory new state when necessary.
  2. A callback, sl_rail_mux_invalid_rx_channel_detected_cb(), has been added to Zigbee+OT applications. This callback notifies the application when there has been an attempted RX on two different channels while concurrent listening is not enabled. The application can then implement its own logic to handle this situation.

Revision 2

The Zigbee-NCP + OpenThread-RCP (UART & SPI) samples, as well as the Zigbee-NCP + BLE-NCP (UART & SPI) samples, are now only allowed for generation on parts with sufficient RAM ( >=96 kB ).

7.3 Fixed Issues

ID #Description
1275378Fixed an issue where calling sl_802154_radio_set_scheduler_priorities() prior to sli_mac_lower_mac_init() could
result in a crash.
1300848Fixed an issue where Z3Gateway in OpenWRT environment couldn't start EZSP communication caused by mismatching
termios control characters running on OpenWRT and other environments.
1332330Fixed an issue where a 15.4+BLE RCP operating in an environment with heavy network traffic could occasionally encounter a race condition that would leave it unable to send messages up to CPCd until rebooting the device.
1337101Incomplete 15.4 transmit operations (Tx waiting for an ack, Tx an ack in response to a message, etc) are no longer prematurely considered as failed upon radio interruption due to DMP. This allows said operation to be given a chance to be rescheduled after the interruption or permanently failed by RAIL (scheduler status error events).
1337228In Zigbeed the halCommonGetInt32uMillisecondTick() tick API is now updated to use MONOTONIC clock, so that it does not get affected by the NTP in a host system.
1337295The DMP CLI command "plugin ble gap print-connections" will now print "No BLE connections" if the connection table is empty, instead of providing no response.
1346785Fixed a race condition which could cause concurrent listening to be disabled on the 802.15.4 RCP when both protocols were transmitting simultaneously.
1346849Adding the rail_mux components to a project will now cause it to automatically build with the associated stack library variants.
1365665Fixed an issue where the host would report receiving a packet with an invalid checksum on end-point 12.

Revision 1

ID #Description
1363050Zigbee stack initialization no longer activates the radio (or RCP for host stacks) prior to stack APIs being called by the
application. This prevents unwanted multi-PAN operation on Channel 11 (the default channel) when using a multi-
PAN-capable RCP configuration.
(Other ref: 1390724)
1378298Fixed an issue that caused a crash when entering "keys print" on an DMP Light app with LTO enabled.
1381165Fixed an issue on Zigbee-NCP + OT-RCP, when disabling PTA would have caused NCP/RCP reset.

Revision 2

ID #Description
1392015SL_OPENTHREAD_ENABLE_SERIAL_TASK is now set to 0 by default to reduce the task memory size which is not
required for RCP applications.
(Other ref: 1424440)
1393057Fixed an issue where the Zigbee-NCP + OpenThread-RCP (UART & SPI) samples, as well as the Zigbee-NCP +
BLE-NCP (UART & SPI) samples, were allowed for generation on parts with insufficient RAM.
1399687Fixed an issue where the Zigbee-BLE DMP Light app may fail to go to EM2 sleep.
1420018Fixed an issue where a CPC message from an RTOS-enabled RCP to host could be waiting in a send queue until
something woke up the serial task.

Revision 3

ID #Description
1375724Fixed a race condition on the multipan RCP that resulted in a transmit complete message not being returned to the
host, causing a 5 second pause in further transmissions prior to recovering.
(Other ref: 1454196, 1454198, 1454200)

7.4 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.silabs.com/developers/simplicity-software-development-kit.

ID #DescriptionWorkaround
937562Bluetoothctl 'advertise on' command fails with rcp-uart-
802154 -blehci app on Raspberry Pi OS 11.
Use btmgmt app instead of bluetoothett.
1074205The CMP RCP does not support two networks on the
same PAN id.
Use different PAN ids for each network. Support is planned
in a future release.
1122723In a busy environment, the CLI may become unresponsive
in the z3-light_ot-ftd_soc app.
No known workaround.
1209958The ZB/OT/BLE RCP using concurrent listening on MG24
and MG21 may stop working in endurance test (lasts ~2
hours) with constant and concurrent traffic on all 3 stacks.
Disable concurrent listening in use cases involving
constant and concurrent traffic across all 3 protocols.
1221299Mfglib RSSI readings differ between RCP and NCP.Will be addressed in a future release.
1385052Coex-enabled RCP may still occasionally transmit TX
ACK after losing the Grant even when Acking is
disabled and TX Abort is enabled.
Will be addressed in a future release.
1385486TX from RCP may infrequently happen without the
request after turning on the non-802.15.4 compliant
MAC Holdoff coex option.
Will be addressed in a future release.

7.5 Deprecated Items

The "Multiprotocol Container" which is currently available on DockerHub (siliconlabsinc/multiprotocol) will be deprecated in an upcoming release. The container will no longer be updated and able to be pulled from DockerHub. The Debian-based packages for cpcd, zigbeed, and ot-br-posix, along with natively generated and compiled projects, will replace the functionality lost with the removal of the container.

8 Using This Release

This release contains the following:

For more information about Zigbee and the EmberZNet SDK see UG103.02: Zigbee Fundamentals.
If you are a first-time user, see QSG180: 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.

8.1 Installation and Use

The Zigbee EmberZNet SDK is provided as part of the Simplicity SDK, the suite of Silicon Labs SDKs. To quickly get started with the Simplicity SDK, install Simplicity Studio 5, which will set up your development environment and walk you through Simplicity SDK installation. Simplicity Studio 5 includes everything needed for loT 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, Simplicity SDK may be installed manually by downloading or cloning the latest from GitHub. See https://github.com/SiliconLabs/simplicity_sdk for more information.

Simplicity Studio installs the Simplicity SDK by default in:

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

8.2 Security Information

Secure Vault Integration

For applications that choose to store keys securely using the Secure Key Storage component on Secure Vault-High parts, the following table shows the protected keys and their storage protection characteristics that the Zigbee Security Manager component manages.

Wrapped KeyExportable / Non-ExportableNotes
Network KeyExportable
Trust Center Link KeyExportable
Transient Link KeyExportableIndexed key table, stored as volatile key
Application Link KeyExportableIndexed key table
Secure EZSP KeyExportable
ZLL Encryption KeyExportable
ZLL Preconfigured KeyExportable
GPD Proxy KeyExportableIndexed key table
GPD Sink KeyExportableIndexed key table
Internal/Placeholder KeyExportableInternal key for use by Zigbee Security
Manager

Wrapped keys that are marked as "Non-Exportable" can be used but cannot be viewed or shared at runtime.
Wrapped keys that are marked as "Exportable" can be used or shared at runtime but remain encrypted while stored in flash.
User applications never need to interact with the majority of these keys. Existing APIs to manage Link Key Table keys or Transient Keys are still available to the user application and now route through the Zigbee Security Manager component.Some of these keys may become non-exportable to the user application in the future. User applications are encouraged to not rely on the exporting of keys unless absolutely necessary.

For more information on Secure Vault Key Management functionality, see AN1271: Secure Key Storage.

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.

Security Advisory Subscription

8.3 Support

Development Kit customers are eligible for training and technical support. Use the Silicon Laboratories Zigbee web page to obtain information 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.

8.4 SDK Release and Maintenance Policy

For details, see SDK Release and Maintenance Poilcy.

8.5 Zigbee Certification

The Ember ZNet 8.1 release has been qualified for Zigbee Compliant Platform for SoC, NCP and RCP architectures. For ZCP certification ID tied to this release, please check the CSA website here: https://csa-iot.org/csa-iot_products/.

Please note that the ZCP certification is filed post the release, and takes a few weeks before getting reflected on the CSA website. For any further queries, please 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!

Simplicity Studio

Disclaimer

Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice to the product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Without prior notification, Silicon Labs may update product firmware during the manufacturing process for security or reliability reasons. Such changes will not alter the specifications or the performance of the product. Silicon Labs shall have no liability for the consequences of use of the information supplied in this document. This document does not imply or expressly grant any license to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any FDA Class III devices, applications for which FDA premarket approval is required or Life Support Systems without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Silicon Labs disclaims all express and implied warranties and shall not be responsible or liable for any injuries or damages related to use of a Silicon Labs product in such unauthorized applications.

Trademark Information

Silicon Laboratories Inc. ®, Silicon Laboratories ®, Silicon Labs ®, SiLabs ® and the Silicon Labs logo ®, Bluegiga ®, Bluegiga Logo ®, EFM ®, EFM32 ®, EFR, Ember ®, Energy Micro, Energy Micro logo and combinations thereof, "the world's most energy friendly microcontrollers", Redpine Signals ®, WiSeConnect, n-Link, 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.

PDF preview unavailable. Download the PDF instead.

emberznet-release-notes-8.1.3.0 Silicon Labs Adobe PDF Library 25.1.97

Related Documents

Preview Silicon Labs OpenThread SDK 2.6.3.0 Release Notes
Release notes for Silicon Labs OpenThread SDK version 2.6.3.0 GA, detailing new features, improvements, fixed issues, and known issues for Thread and Multiprotocol development.
Preview UG596: MGM260P 10 dBm Module Radio Board User's Guide
User's guide for the Silicon Labs MGM260P 10 dBm Module Radio Board (BRD4350A), detailing its features, hardware overview, connectors, power supply, peripherals, and debugging capabilities with Wireless Pro Kit and Starter Kit mainboards.
Preview Zigbee EmberZNet SDK 7.0.2.0 GA Release Notes
Detailed release notes for the Zigbee EmberZNet SDK 7.0.2.0 GA, including new features, improvements, fixed issues, and known issues. Covers Gecko SDK Suite 4.0.
Preview Zigbee EmberZNet SDK 7.4.3.0 GA Release Notes
Release notes for Silicon Labs' Zigbee EmberZNet SDK version 7.4.3.0 GA, part of Gecko SDK Suite 4.4, detailing new features, improvements, fixed issues, and known issues.
Preview Silicon Labs Bluetooth LE SDK 5.0.0.0 GA Release Notes
Detailed release notes for Silicon Labs Bluetooth LE SDK version 5.0.0.0 GA, covering new features, improvements, fixed issues, known issues, and multiprotocol capabilities for the Gecko SDK Suite 4.2.
Preview Silicon Labs MG26 and PG26 Wireless SoCs and MCUs: Features and Specifications
Explore the Silicon Labs MG26 and PG26 families, high-performance wireless SoCs and general-purpose MCUs featuring large memory, advanced AI/ML acceleration, robust security, and multiprotocol support for IoT applications.
Preview Silicon Labs Bluetooth LE SDK 9.1.1.0 GA and Simplicity SDK Suite 2024.12.3 Release Notes
This document provides release notes for Silicon Labs Bluetooth LE SDK version 9.1.1.0 GA and Simplicity SDK Suite 2024.12.3, detailing new features, improvements, fixed issues, known issues, deprecated items, and removed items.
Preview Z-Wave and Z-Wave Long Range 800 SDK 7.22.1 GA Release Notes
Release notes for Silicon Labs' Z-Wave and Z-Wave Long Range 800 SDK version 7.22.1 GA, detailing features, improvements, fixed issues, and compatibility information for smart home applications.