Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EZSP v14 fsupport for Zigbee EmberZNet 8.0.0.0 (and migration to Silicon Labs Gecko SDK 5.0.0.0) #1429

Open
Hedda opened this issue Jun 24, 2024 · 3 comments

Comments

@Hedda
Copy link
Contributor

Hedda commented Jun 24, 2024

Feature request and heads-up; Silicon Labs is phasing out EFR32MG1x + older HW not included in newer Simplicity SDK versions:

EZSP protocol version incremented to EZSP v14 in Zigbee EmberZNet v8.0.0.0 + also migrated from Gecko SDK to Simplicity SDK.

Updated documentation for EmberZNet 8.0.0 and EZSP v14 looks to still be missing though -> SiliconLabs/simplicity_sdk#11

I understand EZSPv14 and migration to Simplicity SDK (Simplicity SDK 2024.6.0) could mean breaking changes? As per comment:

"Most EMBER_ constants have been renamed to SL_ZIGBEE_ and must be renamed in your manifests accordingly. This is a fairly large breaking change."

So FYI, Silabs Zigbee EmberZNet 8.0.0.0 is now released and been migrated to Simplicity SDK 2024.6.0 which also has been released:

New in Zigbee EmberZNet 8.0.0.0 release

New Components in release 8.0.0.0

New Components in release 8.0.0.0

• Inter Process Communication
Added a new component named “zigbee_ipc”.
This component adds support for interprocess communication on a Zigbee RTOS device.
• Byte utilities
Added a new utility component named “byte_utilities” outside Zigbee protocol for data store and fetch routines.
As part of that, moved the header file byte-utilities.h from protocol/zigbee/stack/include/ to util/plugin/byte_utilities.
Since this is not specific to Zigbee, the API has been renamed, from sl_zigbee_reverse_mem_copy() to sl_util_reverse_mem_copy().
• Separated a new component "Zigbee System Common (App Framework Task)" from Zigbee System Common, to better allow for apps that do not bring in the full ZCL and app framework but still use the app framework's RTOS task.
• RTOS Configurations

New APIs in release 8.0.0.0

• A new event initialization function sl_zigbee_af_isr_event_init is added for the events that can be activated in ISR.
Note that with this release the APIs have been renamed. For details, see the Zigbee v8.0.0 section of https://docs.silabs.com/.

New Application in release 8.0.0.0

• Zigbee Unified Test Harness SoC application is introduced as a new application in this release.
• Added a new ZigbeeMinimalRtos app to Zigbee offerings. This is a test application with a bare minimum RTOS based Zigbee stack. This application is non-compliant since it does not have all the necessary component and configurations of a fully functional Zigbee application.
• A new configuration for the SPI based NCP as a sleepy NCP is introduced in this release. This serves the use case of a host-SPI NCP configuration to be used as a sleepy node in the network. The host controls the sleep and wake up of the SPI NCP. See AN711: SPI Host Interfacing Guide for Zigbee for more details.

New Platform Support in release 8.0.0.0

• New hardware xG26 (MG26) and xG22E (MG22E) .
• new platform component, Clock Manager, is integrated into all Zigbee sample applications for clock configuration.

image

Note! EmberZNet 8.0.0.0 and Gecko Platform remove support for EFR32 Series 0/1 (e.i. EFR32MGx and EFR32MG1x) so need to use separate SDKs for Series 0 & 1 and Series 2 & 3 Starting in Q2 2024 (June 2024) as the new Gecko Platfoprm and SDK are designed specifically for our EFR32 Series 2 and upcoming Series 3 devices only.

So only EFR32MG2x and EFR32MG3x will be supported upcoming EmberZNet 8.x.x.x.x firmware as old EFR32MG1x is phased out:

"Meanwhile, our Gecko Software Development Kit (GSDK) will continue to be available for users of our Series 0 and Series 1 devices. The Gecko SDK will continue to support all Series 0 and 1 devices with no change to the long-term support, maintenance, quality, and responsiveness provided under our software policy.The new SDK will branch from Gecko SDK and begin to offer new features that help developers take advantage of the advanced capabilities of our Series 2 and 3 products."

SDK Release Notes Q2/2024 (June 2024)

  • New in Zigbee Zigbee EmberZNet v8.0.0.0
    • Zigbee re-architecture to support stack and framework to be fully RTOS based
    • Memory management update
    • New clock manager component integrated in Zigbee applications
    • Support Sleepy NCP use case
    • Zigbee Green Power (ZGP / Zigbee GP) Revision 1.1.2
    • Removed support for Series 0/1 (making EFR32MG1x deprecated but till supported EmberZNet v7.4.x.x with bug-fixes only)
    • Added support for new platform xG26 (EFR32MG26)
    • Alpha : Added support for Series 3 (xG3x family, e.i. EFR32MG3x series)
    • Alpha: New application for Zigbee Unified Test Harness
  • New in Multiprotocol support
    • Alpha: Support for OpenWRT on host processor of multiprotocol RCP solution
    • Alpha: Support for Concurrent Zigbee and Matter over OpenThread, with DMP BLE

New in Gecko Platform Version 5.0.0.0

  • Migration to Simplicity SDK Suite
  • Removed support for Series 0/1
  • Peripherals
  • New API names introduced for low-level drivers (with compatibility layer for old names)
  • Services
    • Memory Manager, APIs to manage embedded dynamic memory allocations
    • Clock Manager, for clock tree initialization
    • Event System, for inter-process communication
    • Interrupt manager, APIs to manage embedded interrupts
    • APIs for accessing value of tokens added to Token Manager
  • CPC
    • Small improvement and bug fixes
  • Security
    • Mbed TLS upgraded (to version 3.5.0)
  • RAIL 5.0.0
    • Added support for collision detection feature on the EFR32xG25 parts
    • Added support for additional Coex TX and RX metrics events to RAIL coexistence utility
    • Updated some RAIL APIs to better prepare for future API changes while retaining backwards compile-time compatibility
  • Other Components
    • Compilers upgraded (to GCC 12.2.1 and IAR 9.40.1)

PS: Also new versions for USB Device Stack 1.3.0.0 (as well as OpenThread version 2.5.0.0, Bluetooth 8.0.0, and Z-Wave 7.22.0.0):

https://www.silabs.com/documents/public/release-notes/usb-device-release-notes-1.3.0.0.pdf

@Hedda
Copy link
Contributor Author

Hedda commented Jul 23, 2024

EZSP protocol version incremented to EZSP v14 in Zigbee EmberZNet v8.0.0.0 + also migrated from Gecko SDK to Simplicity SDK.

Updated documentation for EmberZNet 8.0.0 and EZSP v14 looks to still be missing though -> SiliconLabs/simplicity_sdk#11

I understand EZSPv14 and migration to Simplicity SDK (Simplicity SDK 2024.6.0) could mean breaking changes? As per comment:

"Most EMBER_ constants have been renamed to SL_ZIGBEE_ and must be renamed in your manifests accordingly. This is a fairly large breaking change."

Quote from zigpy project developer:

Originally posted by puddly in zigpy/bellows#631 (comment)

unfortunately there's no sensible way to actually deal with EZSP v14 command processing without rewriting all EZSP commands to use named parameters.

This is going to be a huge change. Very WIP, only backup and restore is working.

@Hedda
Copy link
Contributor Author

Hedda commented Jul 23, 2024

See comments to Silicon Labs by Zigbee2MQTT/zigbee-herdsman ember developer Nerivec and zha/zigpy/ developer puddly:

@Hedda
Copy link
Contributor Author

Hedda commented Aug 20, 2024

FYI, latest Silabs official documentation seems to now have been updated to reflect changes in EZSPv14 (and EmberZNet 8.0.x.x):

https://docs.silabs.com/zigbee/8.0.1/zigbee-stack-api/ember

https://docs.silabs.com/zigbee/latest/zigbee-stack-api/ember

For reference, the very latest bellows for zigpy/zha and also the latest "ember" driver in zigbee-herdsman for Zigbee2MQTT (Z2M) now has experimental support for EmberZNet 8.0.1.0 and the devlopers for those projects added quite a lot of comments: See:

and

Nerivec provides some experimental EmberZNet 8.0.1.0 firmware builds built from his own fork of silabs-firmware-builder:

puddly also built some experimental EmberZNet 8.0.0.0 firmware for Home Assistant SkyConnect / ZBT-1 (and Yellow):

PS: Nerivec suggests using his "ember-zli" command line tool for flashing and other tasks such as Zigbee sniffing (which in turn depends on the latest zigbee-herdsman so supports EZSPv14 too) with comments to report issues with it with ember-zli to him in that repo:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant