SILICON LABS 7160 Zigbee Ember Znet Sdk Instruction Manual
- June 15, 2024
- SILICON LABS
Table of Contents
Zigbee EmberZNet SDK 7.1.6.0 GA
Gecko SDK Suite 4.1
September 13, 2023
7160 Zigbee Ember Znet Sdk
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 featurerich 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.6.0 released September 13, 2023 (underlying platform changes only)
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
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
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.
New Items
1.1 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 application 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.
1.2 New Components
New in release 7.1.0.0
Token Interface
A token interface component 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 Coprocessor 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. .
1.3 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 (nonoriginating) nodes.
All configured nodes check for passive ACKs from minAcksNeeded neighbors.
They will not rebroadcast received message if all passive ACKs have been
received.
1.4 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).
1.5 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.
1.6 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.
1.7 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
2.1 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.
2.2 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 (Coordinator, 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.silabs.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
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
7.1 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 firmware 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 HostCMP 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.
7.2 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
multiprotocol docker container requires it.
7.3 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.
7.4 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.
7.5 Deprecated Items
None
7.6 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, Z3Gateway, 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.
8.1 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/SiliconLabs/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/.
8.2 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.
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.
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| SW/HW
www.silabs.com/simplicity| 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 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 reliabilit y reasons. Such changes will
not alter the specifi cations or the per formance of the product. Silicon Labs
shall have no liabilit y 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.
Note: This content may contain off ensive terminolog y 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
- Internet of Things (IoT) - Silicon Labs
- Simplicity Studio - Silicon Labs
- Technical Support - Silicon Labs
- cpc-daemon/readme.md at main · SiliconLabs/cpc-daemon · GitHub
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>