Elelabs / elelabs-zigbee-ezsp-utility

Elelabs Zigbee EZSP Utility to perform firmware update on a range of Elelabs EZSP products as well as other generic EZSP adapters.
Apache License 2.0
127 stars 26 forks source link

[REQUEST] EmberZNet NCP 7.1.x.x and 7.2.x.x Zigbee Coordinator firmware images for Elelabs EFR32 adapters? #24

Open Hedda opened 2 years ago

Hedda commented 2 years ago

@NilsBohr Request Zigbee firmware as Silicon Labs EmberZNet 7.1.4.0 Zigbee NCP and EmberZNet 7.1.4.0 Zigbee NCP images:

Suggest that Elelabs consider providing publicly available "official" Alpha and/or Beta versions of Silicon Labs EmberZNet NCP 7.1.x.x and Silicon Labs EmberZNet NCP 7.2.x.x Zigbee Coordinator NCP firmware image builds for Elelabs EFR32 based adapters here for developers of various Zigbee gateway solutions and volunteering alpha/beta testers to test the new EZSP v9 (EmberZNet Serial Protocol version 9), EZSP v10 (EmberZNet Serial Protocol version 10), and EZSP v11 (EmberZNet Serial Protocol version 11) interface revisions as well as upstream bug-fixes that come in newer versions of the SDK.

https://github.com/SiliconLabs/gecko_sdk/releases

Gecko SDK (GSDK) Version 4.2.3.0 for Zigbee EmberZNet SDK 7.2.3.0

https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-7.2.3.0.pdf

Gecko SDK (GSDK) Version 4.1.4.0 for Zigbee EmberZNet SDK 7.1.4.0

https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-7.1.4.0.pdf

Zigbee EmberZNet 7.1.4.0

Zigbee EmberZNet 7.2.3.0

Hedda commented 2 years ago

FYI, depending on Zigbee application implementation the end-user use it will be important for end-users to know EmberZNet SDK 7.1.0 firmware added an update to EZSP v9 (EmberZNet Serial Protocol version 9) which might break some Zigbee application implementation if a user upgrades to so Silabs Zigbee EmberZNet SDK 7.1.0.0 NCP firmware before the Zigbee application developers have added support for EZSP v9.

In general, the EZSP v9 protocol version largely remains the same as that of EZSP v8 protocol version, but I understand that there is a breaking change in some responses so that needs implementation to keep compatibility, (like adding sl_Status enum based on sl_Status.h from Silicon Labs Gecko SDK v4.1.0).

So for now would recommend that end-users do not flash the very latest EmberZNet 7.1.x firmware and instead use no higher than 7.0.x firmware unless they know that the developers of the Zigbee application implementation they use already added support for EZSP v9 protocol version. Again, that is only until EZSP adapter implementation is updated to support additions to EZSP v9.

Developers of Zigbee application implementation need to look at EZSP Reverence guide Rev 4.4 and 4.3 + EZSP Reference Guide for 7.0.0 with the changes from 6.10.x highlighted is here:

https://web.archive.org/web/20220401230237/https://www.silabs.com/documents/public/user-guides/ug100-ezsp-reference-guide.pdf

and for 7.1.0 with the changes from 7.0.0 > 7.1.0 hightlighted is here (until the next version):

https://www.silabs.com/documents/public/user-guides/ug100-ezsp-reference-guide.pdf

PS: From the related pull request for the bellows radio library in zigpy I gather that key new feature is adding sl_Status enum based on sl_Status.h from Gecko SDK v4.1.0 so developers of zigpy based Zigbee applications should see https://github.com/zigpy/bellows/pull/462

Hedda commented 2 years ago

@NilsBohr EmberZNet 7.1.x firmware image build is requested by community developers to add/test EZSP v9 support, please see:

https://github.com/zigpy/bellows/pull/462 (bellows library is used by zigpy based applications which include "Home Assistant ZHA integration", "Zigbee Plugin for Domoticz", and "Zigbee Plugin for Jeedom", as well as possibly other smaller projects).

https://github.com/Koenkk/zigbee-herdsman/issues/319 (zigbee-herdsman is used by Zigbee2MQTT)

https://github.com/zsmartsystems/com.zsmartsystems.zigbee/issues/1332 (com.zsmartsystems.zigbee is used by OpenHAB ZigBee Binding).

Note! EmberZNet 7.1.x firmware should not yet be recommended to end-users as most of the apps only support EZSP v8 as of yet.

Hedda commented 1 year ago

FYI, users of Home Assistant's ZHA integration, the Zigbee Plugin for Domoticz, as well as Zigbee2MQTT and IoBroker have been testing successfully with the new EZSP v9 interface using different Zigbee EmberZNet 7.1.1 builds on EFR32MG21-based “Sonoff Zigbee 3.0 USB Dongle Plus V2” (model " ZBDongle-E").

https://github.com/grobasoz/zigbee-firmware/tree/master/EFR32MG2x-768k

Related discussion -> https://github.com/xsp1989/zigbeeFirmware/issues/29

https://github.com/xsp1989/zigbeeFirmware/tree/master/firmware/Zigbee3.0_Dongle-NoSigned/EZSP

Related discussion -> https://github.com/grobasoz/zigbee-firmware/issues/28

PS: OpenHAB ZigBee Binding is still missing support for EZSP v9 -> https://github.com/openhab/org.openhab.binding.zigbee/issues/778

Hedda commented 1 year ago

FYI, Silicon Labs has now also released Gecko SDK 4.2.0 with Zigbee EmberZNet SDK 7.2.0.0 GA:

https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.2.0

Any chance you could release some builds for zigpy and zigbee-herdsman developers to test?

This EmberZNet 7.2 looks to use EZSP v9 (EmberZNet Serial Protocol version 9) same as Zigbee EmberZNet 7.1 (or?)?

https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-7.2.0.0.pdf

New features are mostly related to Dynamic Multiprotocol and multi-PAN 802.15.4 in RCP mode:

They also added simultaneous Dual-Band and Dual-PHY for Zigbee Smart Energy on MG24/MG12:

Deprecated in release 7.2.0.0:

PS: Silicon Labs also released Gecko SDK (GSDK) Version 4.1.4.0 as a bug-fix release that contains Zigbee EmberZNet SDK 7.1.4.0:

https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.1.4

https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-7.1.4.0.pdf

Hedda commented 1 year ago

FYI, many (or most) but not all popular open-source DIY home-automation projects have now been updated to support EZSP v11.

zigbee-herdsman is not lagging far behind as has already been updated to EZSP v11:

The only large project that was lagging behind is OpenHAB but its dependency was at least updated to EZSP v11 this week:

PS: The only well-known open-source project in the DIY home-automation community that is lagging behind those is Zigbee2Tasmota (Zigbee to Tastmota) project and that is only because Tasmota lead Zigbee developer is currently fully focusing on getting initial support working for the new Matter standard in Tasmota, (which in turn might later also lead to a wish for him wanting to add Thread / OpenThread radio support in Tasmota in order to support Matter over Thread with native Thread Border Router / OpenThread Border Router firmware).

Hedda commented 1 year ago

FYI, Silabs Zigbee EmberZNet SDK 7.2.3.0 has now been released as part of Silicon Labs Gecko SDK (GSDK) Version 4.2.3.0

https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-7.2.3.0.pdf

Silicon Labs Zigbee EmberZNet 7.2.3.0 release states that it is specifically targeting quality improvements and bug fixes.

https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.2.3