SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK User Guide
- August 26, 2024
- SILICON LABS
Table of Contents
- SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK
- Product Information
- Product Usage Instructions
- New Items
- Improvements
- Fixed Issues
- Known Issues in the Current Release
- Removed Items
- Multiprotocol Gateway and RCP
- Using This Release
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
SILICON LABS 7.1.5.0 Zigbee EmberZNet SDK
Product Information
Specifications
- Zigbee EmberZNet SDK version: 7.1.5.0 GA
- Gecko SDK Suite version: 4.1 June 28, 2023
- Vendor: Silicon Labs
- Compatibility: EFR32xG21, Revision C and later
- Compatible Compilers: GCC version 10.3-2021.10
Product Usage Instructions
Using This Release
If you are new to the Zigbee EmberZNet SDK, it is recommended to follow these steps:
- Refer to the Security chapter of the Gecko Platform Release notes for security updates.
- Subscribe to Security Advisories for up-to-date information.
- Verify that you are using the correct files and compilers as specified.
- 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
295498| UART reception sometimes drops bytes under heavy load in Zigbee+BLE dynamic multiprotocol use case.| Use hardware flow control or lower the baud rate.
312291
| EMHAL: The halCommonGetIntxxMillisecondTick functions on Linux hosts currently use the gettimeofday function, which is not guaranteed to be monotonic. If the system time changes, it can cause issues with stack timing.|
Modify these functions to use clock_gettime with the CLOCK_MONOTONIC source instead.
331438| Service discovery may time out too quickly in busy networks.| Define EMBER_AF_DISCOVERY_TIMEOUT_QS to
customize the timeout period.
338151| Initializing NCP with a low packet buffer count value may cause corrupt packets.| Use the 0xFF reserved value for packet buffer count to avoid the too-low default value
356937
| Read/write attribute CLI commands do not support manufacturer-specific ZCL attributes. Some implementations may allow local CLI debug access to display or modify these attributes.|
Access the attributes from a remote device in the network via ZCL global Read/WriteAttributes commands.
363162| There is a bug in emberAfAddAddressTableEntry which could allow for
duplicate entries in the address table| Under Investigation
387750| Issue with Route Table Request formats on end device.| Under
Investigation
400418| A touchlink initiator cannot link to a non-factory-new end- device
target.| No known workaround.
ID #| Description| Workaround
---|---|---
424355
| A non-factory-new sleepy end device touchlink target- capable initiator is not able to receive a device information response in certain circumstances.|
Under Investigation
465180
| The Coexistence Radio Blocker Optimization item “Enable Runtime Control” may block proper Zigbee operation.| Optional ‘Wi-Fi Select’ Control of Blocker Optimization should be left “Disabled”.
480550
| The OTA cluster has its own built-in fragmentation method, hence it should not use APS fragmentation. Although, in case APS encryption is enabled it grows the payload of the ImageBlockResponses to a size where the APS fragmentation is activated. This could lead to the OTA process failing.|
No known workaround
481128
|
Detailed Reset Cause and crash details should be available by default via the Virtual UART (Serial 0) on NCP platforms when Diagnostics plugin and Virtual UART peripheral are enabled.
| Since Serial 0 is already initialized in the NCP, customers can enable the emberAfNcpInitCallback in the Zigbee NCP Framework and call the appropriate diagnostic functions (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetails, and halPrintCrashData) in this callback to print this data to Serial 0 for viewing in the Network Analyzer capture log.
For an example of how to use these functions, refer to the code included in af-main-soc.c’s emberAfMainInit() when EXTENDED_RESET_INFO is defined.
481618
| The “Network Open Time” option of the Network Creator Security plugin may not work as expected when you open network if the time does not match the transient key timeout.|
Set the Network Open time to the same value as the Transient Key Timeout.
486369
| If a DynamicMultiProtocolLightSoc forming a new network has child nodes remaining from a network it has left, emberAfGetChildTableSize returns a non- zero value in startIdentifyOnAllChildNodes, causing Tx 66 error messages when addressing the “ghost” children.| Mass-erase the part if possible before creating a new network or programmatically check the child table after leaving the network and delete all children using emberRemoveChild prior to forming a new network.
495563
| Joining SPI NCP Sleepy End Device Sample App doesn’t short poll, therefore the joining attempt fails at the state of Update TC Link Key.| The device that wishes to join should be in Short Poll mode before attempting to join. This mode can be forced by the End Device Support plugin.
497832
| In Network Analyzer the Zigbee Application Support Command Breakdown for the Verify Key Request Frame mistakenly references the part of the payload that indicates the frame Source Address as the Destination Address.|
No known workaround
498094
| In function checkForReportingConfig() in metering- server.c, the second input parameter of the invoked function emberAfContainsServer() incorrectly references the attribute ID instead of the cluster ID.| Change the 2nd input parameter from the attribute ID (ZCL_CURRENT_SUMMATION_DELIVERED_ATTRIBUT
E_ID) to the cluster ID (ZCL_SIMPLE_METERING_CLUSTER_ID).
519905
521782
| Spi-NCP may very rarely fail to start up bootloader communication using the ‘bootload’ CLI command of the ota-client plugin.|
Restart the bootload process
521706
|
A duplicated attribute ID is assigned in the altConsumptionMonthAttrIds[] array of the gas-proxy- funxtion plugins in gpf-structured-data.c.
| Change the second ZCL_PREVIOUS_MONTH6_ALTERNATIVE_CONSUMPT ION_DELIVERED_ATTRIBUTE_ID to ZCL_PREVIOUS_MONTH7_ALTERNATIVE_CONSUMPT ION_DELIVERED_ATTRIBUTE_ID.
620596
| NCP SPI Example for BRD4181A (EFR32xGMG21)
nWake default pin defined cannot be used as a wake-up pin.
|
Change the default pin for nWake from PD03 to a EM2/3 wake-up-enabled pin in the NCP-SPI Plugin.
621144
|
GP on/off switch example cannot be compiled for the BRD4183A board.
|
The sample has to be manually modified to use only one button.
ID # | Description | Workaround |
---|
631713
| A Zigbee End Device will report address conflicts repeatedly if the plugin
“Zigbee PRO Stack Library” is used instead of “Zigbee PRO Leaf Library”.| Use
the”Zigbee PRO Leaf Library” instead of the “Zigbee PRO Stack Library” plugin.
648906
659010
| emberChildId and emberChildIndex
APIs were accidentally removed in EmberZNet 6.8.0.2.
| Call sl_mac_child_short_id and sl_mac_child_index instead
670702
| Inefficiencies within the Reporting plugin can lead to significant latency based on data write frequency and table size, which may interfere with customer application code, including event timing.| If doing frequent writes, consider checking reporting conditions and sending reports manually rather than using the plugin.
708258
| Uninitialized value in groups-server.c via addEntryToGroupTable() can create a spurious binding and cause groupcast reporting messages to be sent.| Add “binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;” after “binding.type
= EMBER_MULTICAST_BINDING;”
757775
|
All EFR32 parts have a unique RSSI offset. In addition, board design, antennas and enclosure can impact RSSI.
| When creating a new project, install the RAIL Utility, RSSI component. This feature includes the default RSSI Offset Silabs has measured for each part. This offset can be modified if necessary after RF testing of your complete product.
758965
| ZCL cluster components and ZCL command discovery table are not synchronized. Therefore, when enabling or disabling a ZCL cluster component, implemented commands will not be enabled/disabled in the corresponding ZCL Advanced Configurator command tab.|
Manually enable/disable discovery for the desired ZCL commands in the ZCL Advanced Configurator.
758966| Add “Enable command discovery” CMSIS option in zcl_framework_core| No
known workaround
760759| Button validation script does not trigger, allowing DMPLight to
generate for 4308D| Use DMPLight minimal for BRD4308D instead of DMPLight
760811
| In the CPCd configuration, if STDOUT_TRACE and TRACE_TO_FILE are both disabled, a timing issue with CPC causes the Zigbee endpoint to close on some setups.|
For a short-term workaround, enable traces using either STDOUT_TRACE or TRACE_TO_FILE.
765735| The OTA update fails on Sleepy End Device with enabled Page Request.|
Use Block Request instead of Page Request.
823617| The watchdog cannot be enabled on MG24 device for Zigbee applications
in this release.| No known workaround
825902
| The router assigned an invalid NodeId(0xFFFE) to joiner device in joining process, which caused the coordinator assert in later communication.| Resolved issue where association, rejoin, and node ID up- dates may end up with a node being assigned an invalid address.
829647
| emberAfSendUnicastWithCallback() never fires the callback for fragmented messages:
When sending a message large enough to require fragmentation with emberAfSendUnicastWithCallback(), the callback is never called.
|
No known workaround
857200
| ias-zone-server.c allows for a binding to be created with a
“0000000000000000” CIE address and posteriorly does not allow further
bindings.| No known workaround
1019961| Generated Z3Gateway makefile (possibly others) hardcodes “gcc” as CC|
No known workaround
Deprecated Items
- None
Removed Items
Removed in release 7.1.0.0
The Multi Network Stub and Multi PAN Stub components have been removed. For
further information please refer to the Improvements section.
The APIs halStackGetIdxTokenPtrOrData(), halInternalGetIdxTokenPtrOrData(),
and sl_token_get_pointer_or_data() are not used and not supported. If there is
a situation using them, the more common APIs halCommonGetIndexedToken() or
sl_token_get_data() should be used instead.
Multiprotocol Gateway and RCP
New Items
-
Added in release 7.1.4.0
The Stack API Trace now can be enabled for Zigbeed by setting the debug-level to 4 or 5 in the zigbeed.conf file.
Zigbeed stack version as well as build date and time are now printed in the logs. -
Added in release 7.1.1.0
851653 Added option to start cpcd conditional to a firmware version. Also allows firmware update process to be conditional to a firm-ware version. (-a /–app-version). Added option to restart cpcd after firmware update. (-r/–restart-cpcd)
Added manufacturing library support on a Host-CMP RCP setup. This change allows RF testing on the manufacturing line on a Host-CMP RCP setup by sending mfglib EZSP frames from the Z3Gateway host to the RCP.
Added 802.15.4 CSL support to the multiprotocol RCP. -
Added in release 7.1.0.0
A new concurrent multiprotocol configuration is available: Zigbee NCP and OpenThread RCP running concurrently on the EFR32, using the Co-Processor Communication (CPC) architecture. It is released as alpha quality. See AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol RCP for details.
Improvements
Changed in release 7.1.0.0
CPC security is now enabled by default in the cpcd.conf file and in the SLCP
project files. This means data sent over the serial line between the host and
the EFR32 is encrypted. A security commissioning step is required to bind the
host to the EFR32. See https://github.com/SiliconLabs/cpc-
daemon/blob/main/readme.md for details.
For convenience, the run.sh script in app/host/multiprotocol/zigbeed
/multiprotocol-container/ includes a -K argument for commissioning cpcd
security when using the multiprotocol docker container.
The multiprotocol container has been upgraded to use ubuntu 22.04 and BlueZ
5.64.
The zigbee_trust_center_backup component now supports migrating from a Zigbee
Host + NCP setup to a Zigbee Host + Zigbeed + RCP setup. See AN1333: Running
Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a
Multiprotocol RCP for details.
Zigbeed built from GSDK sources no longer requires the
/accept_silabs_msla_file at runtime. Only the Zigbeed binary from the
multipro-tocol docker container requires it.
Fixed Issues
Fixed in release 7.1.4.0
ID # | Description |
---|---|
829675 | Fixed bidirectional Green Power commissioning with Z3GatewayGPCombo + |
Zigbeed + RCP.
1066422| Fixed an intermittent buffer leak in Zigbeed.
1068429| Fixed a race condition that could cause the CMP RCP to assert.
1068435| The CMP RCP now passes compliance test GPP 5.4.1.23.
1068942| Fixed a leak in the RCP source match table that could prevent zigbee
devices from joining.
1074172| Fixed sending leave request from Zigbeed when receiving a poll from a
non-child.
1074290| Stopped Zigbeed from processing un-acked polls.
ID #| Description
---|---
1074593| Fixed issue in which Just-in-time (JIT) messages to sleepy end
devices were not sent correctly by the CMP RCP.
1079903| Fixed a bug in the CMP RCP that could cause SPINEL messages to be
dispatched incorrectly, resulting in Zigbeed and OTBR crashing or exiting.
1080482| Made SPINEL timeout recovery more robust to heavy transmit traffic by
the other protocol stack in CMP RCP.
1081455| Added workaround for non-compliant Zigbee devices that timeout
802.15.4 acks too quickly. To enable the workaround, define
NONCOMPLIANT_ACK_TIMING_WORKAROUND.
Fixed in release 7.1.2.0
ID # | Description |
---|---|
1025713 | Increased the maximum length of the zigbeed device path from 40 to |
- 1030557| Fixed build errors when adding the legacy bootloader interface
component to the multiprotocol RCP projects.
1030557| Fixed a build issue to allow the legacy ember_bootloader_interface component to be added to MG1-based multiprotocol RCP projects, for customers using the legacy Ember bootloader. Also added support for CPCd to bootload devices with the legacy ezsp-spi Ember bootloader.
Fixed in release 7.1.1.0
ID # | Description |
---|---|
834191 | Fixed cpc-hci-bridge so that it does not consume excessive CPU. |
859224 | Fixed an issue where CPC security was failing during initialization on |
MG1.
859301| Fixed an issue where Thread and Zigbee sleepy end devices failed to
join to the RCP on MG1.
988216| Fixed issue where Zigbeed failed to run on a 64 bit Raspberry Pi.
824100| Fixed an issue where Z3GatewayCPC could not be started more than once
without an error.
851331| Z3GatewayCpc can reconnect to cpcd service without needing a restart.
858153| Fixed a coex component configuration for MG1.
858503| Enabled the coex component by default in the multiprotocol RCP images,
and fixed a RAM usage issue that prevented building on MG1.
1019947| Added support for building RCP projects for efr32mg1b and efr32mg1v
parts.
Fixed in release 7.1.0.0
ID # | Description |
---|---|
760596 | Reduced the CPU consumption of Zigbeed when it is idle. |
811566 | Fixed an issue where Zigbee sleepy end devices failed to join to an |
RCP parent.
817698| Fixed a Zigbeed crash due to a null buffer in the lower mac layer.
822233| Fixed an issue that caused dropped CPC packets over VCOM, especially
at higher baud rates.
829614| The multi-PAN/multiprotocol 802.15.4 RCP now sets the radio tx power
to the maximum of the power levels requested by all 15.4 host applications.
This avoids the problem of one application reducing the power and
inadvertently causing network connectivity problems for the other application.
830596| Fixed an issue where joining a sleepy end device to the multiprotocol
RCP caused Z3Gateway to crash in some circumstances.
831689| Fixed an issue in Zigbeed that resulted in a fixed pan id and other
parameters being chosen when forming a network.
Known Issues in the Current Release
ID # | Description | Workaround |
---|---|---|
811732 | Custom token support is not available when using Zigbeed. | Support is |
planned in a future release.
828785
| There is a known issue with the cpc-hci-bridge that causes the second HCI packet to be dropped if BlueZ sends two HCI packets to the RCP in rapid succession.| ****
A fix is targeted for the next patch release.
937562
| Bluetoothctl advertise on command fails with rcp-uart- 802154-blehci app on Raspberry Pi OS 11 with Linux kernel 5.15.| ****
Use Linux kernel 5.10 or use btmgmt command.
1031607
| The rcp-uart-802154.slcp project is running low on RAM on an MG1 part. Adding components may reduce the heap size below what is needed to support ECDH binding in CPC.| ****
A workaround is to disable CPC security via the SL_CPC_SECURITY_ENABLED configuration.
1032183| Zigbeed does not support EZSP coex commands.| Support is planned in a
future release.
1036622| There is a problem using cmake to build ot-cli using the multi-PAN
RCP. It will be fixed in a future release.| Use the make build target as
described in AN1333
section 2.3.2.2.
1040127| CPC security fails to initialize for the rcp-uart-802154 and rcp- spi-802154 projects on mg13 and mg14 series parts.| Either disable CPC security, or add the mbedtls_entropy_adc component to the RCP image.
Deprecated Items
- None
Removed Items
Removed in release 7.1.0.0
Pre-built ARM binaries for multiprotocol host applications are no longer
distributed within the GSDK (cpcd, otbr-agent, zigbeed, Z3Gate-way, etc).
These should be built from sources on the target platform using the
instructions in AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently
on a Linux Host with a Multiprotocol RCP.
A copy of sl_cpc.h that was being included in the OpenThread sources as a
convenience has been removed. This header file is placed in the standard
system location when cpcd is installed.
Using This Release
This release contains the following:
- Zigbee stack
- Zigbee Application Framework
- Zigbee Sample Applications
For more information about Zigbee and the EmberZNet SDK see UG103.02: Zigbee
Fundamentals.
If you are a first-time user, see QSG180: Z Zigbee EmberZNet Quick-Start Guide
for SDK 7.0 and Higher, for instructions on configuring your development
environment, building and flashing a sample application, and documentation
references pointing to next steps.
Installation and Use
The Zigbee EmberZNet SDK is provided as part of the Gecko SDK (GSDK), the
suite of Silicon Labs SDKs. To quickly get started with the GSDK, install
Simplicity Studio 5, which will set up your development environment and walk
you through GSDK installation. Simplicity Studio 5 includes everything needed
for IoT product development with Silicon Labs devices, including a resource
and project launcher, software configuration tools, full IDE with GNU
toolchain, and analysis tools. Installation instructions are provided in the
online Simplicity Studio 5 User’s Guide.
Alternatively, Gecko SDK may be installed manually by downloading or cloning
the latest from GitHub. See https://github.com/Sili-conLabs/gecko_sdk for
more information.
Simplicity Studio installs the GSDK by default in:
- (Windows): C:\Users\
\SimplicityStudio\SDKs\gecko_sdk - (MacOS): /Users/
/SimplicityStudio/SDKs/gecko_sdk
Documentation specific to the SDK version is installed with the SDK. Additional information can often be found in the knowledge base articles (KBAs). API references and other information about this and earlier releases is available on https://docs.silabs.com/.
Security Information
Secure Vault Integration
This version of the stack does not integrate Secure Vault Key Management.
Security Advisories
To subscribe to Security Advisories, log in to the Silicon Labs customer
portal, then select Account Home. Click HOME to go to the portal home page and
then click the Manage Notifications tile. Make sure that ‘Software/Security
Advisory Notices & Product Change Notices (PCNs)’ is checked, and that you are
subscribed at minimum for your platform and protocol. Click Save to save any
changes.
Support
Development Kit customers are eligible for training and technical support. Use
the Silicon Laboratories Zigbee web page to obtain infor-mation about all
Silicon Labs Zigbee products and services, and to sign up for product support.
You can contact Silicon Laboratories support at
http://www.silabs.com/support.
Simplicity Studio
One-click access to MCU and wireless tools, documentation, software, source
code libraries & more. Available for Windows, Mac and Linux!
-
IoT Portfolio
www.silabs.com/IoT -
Quality
www.silabs.com/quality -
Support & Community
www.silabs.com/community
Disclaimer
Silicon Labs intends to provide customers with the latest, accurate, and in- depth documentation of all peripherals and modules available for system and software imple-menters using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and “Typical” parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice to the product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Without prior notification, Silicon Labs may update product firmware during the manufacturing process for security or reliability reasons. Such changes will not alter the specifications or the performance of the product. Silicon Labs shall have no liability for the consequences of use of the infor-mation supplied in this document. This document does not imply or expressly grant any license to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any FDA Class III devices, applications for which FDA premarket approval is required or Life Support Systems without the specific written consent of Silicon Labs. A “Life Support System” is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Silicon Labs disclaims all express and implied warranties and shall not be responsible or liable for any injuries or damages related to use of a Silicon Labs product in such unauthorized applications. Note: This content may contain offensive terminology that is now obsolete. Silicon Labs is replacing these terms with inclusive language wherever possible. For more information, visit www.silabs.com/about-us/inclusive- lexicon-project
Trademark Information
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, “the world’s most energy friendly microcontrollers”, Redpine Signals®, WiSeConnect , n-Link, ThreadArch®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, the Telegesis Logo®, USBXpress® , Zentri, the Zentri logo and Zentri DMS, Z-Wave®, and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. Wi-Fi is a registered trademark of the Wi-Fi Alliance. All other products or brand names mentioned herein are trademarks of their respective holders.
Silicon Laboratories Inc.
400 West Cesar Chavez Austin, TX 78701 USA
www.silabs.com
References
- introvert.com
- Silicon Labs
- Silicon Labs
- About Us - Silicon Labs
- Silicon Labs Community
- IoT – Internet of Things - Silicon Labs
- Simplicity Studio - Silicon Labs
- Technical Support - Silicon Labs
- cpc-daemon/readme.md at main · SiliconLabs/cpc-daemon · GitHub
- Silicon Labs Community
- Zigbee Wireless Mesh Networking - Zigbee Modules, Chips - Silicon Labs
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>