zigpy / bellows

A Python 3 project to implement EZSP for EmberZNet devices
GNU General Public License v3.0
182 stars 86 forks source link

EZSP v12 (EZSP PROTOCOL VERSION 12) support in bellows? #563

Closed Hedda closed 1 year ago

Hedda commented 1 year ago

EZSP protocol version been incremented to EZSP v12 in Silicon Labs Gecko SDK v4.3 (4.3.0.0) / Zigbee EmberZNet v7.3 (7.3.0.0):

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

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

https://www.silabs.com/wireless/zigbee?tab=software#software

0x0C hexadecimal = 12 in decimal.

https://github.com/SiliconLabs/gecko_sdk/blob/gsdk_4.3/protocol/zigbee/app/util/ezsp/ezsp-protocol.h#L33

Silicon Labs EmberZNet 7.3.0.0 makes Silabs Zigbee stack compatible Zigbee Protocol Specification Revision 23 / R23 (Zigbee PRO 2023), but users should be warned against flashing EZSP v12 firmware as of yet as it is not backwards compatible with EZSP v11 or older EZSP.

Zigbee

Multiprotocol

https://www.silabs.com/blog/zigbee-pro-2023-spec-released-increases-security

https://csa-iot.org/newsroom/zigbee-pro-2023-improves-overall-security-while-simplifying-experience/

https://csa-iot.org/wp-content/uploads/2023/04/05-3474-23-csg-zigbee-specification-compressed.pdf

https://github.com/zigpy/zigpy/issues/1211

MattWestb commented 1 year ago

Silicon Labs EmberZNet 7.3.0.0 makes Silabs Zigbee stack compatible Zigbee Protocol Specification Revision 23 / R23 (Zigbee PRO 2023), but users should be warned against flashing EZSP v12 firmware as of yet as it is not backwards compatible with EZSP v11 or older EZSP.

Thais is the first part of R23 implementation and is default disabled in the GSDK so it shall not being any problem and if it was its falling back to old ZB3 paring so shall not being any problems only of you is finding one buggy R23 device paring with the coordinator it can.

The more important things is the new API that is being implanted and also is it written V12 is not backward compatible with older EZSP like all have being if configuring it right ?

Hedda commented 1 year ago

FYI, darkxst fork of Nabu Casa's silabs-firmware-builder has added support for multiple hardware manifests to allow override configs for automatic builds to enable automatic building of firmware images for many different Silabs based EFR32 adapters:

https://github.com/darkxst/silabs-firmware-builder/blob/manifestjs/manifests

As such he is the first to have firmware builds for Silicon Labs EmberZNet 7.3 (though untested since they are automatically built):

https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds

PS: He is also offering experimental builds for the same EmberZNet version and hardware but with different baud rate speeds.

MattWestb commented 1 year ago

FYI, darkxst begun work adding support for multiple hardware manifests to allow override configs for automatic firmware builds:

https://github.com/darkxst/silabs-firmware-builder/blob/manifestjs/manifests

As such he is the first to have firmware builds for Silicon Labs EmberZNet 7.3 (though untested since they are automatically built):

https://github.com/darkxst/silabs-firmware-builder/tree/manifestjs/firmware_builds

PS: He is also offering expåerimental builds for the same EmberZNet version and hardware but with different baud rate speeds.

I was thinking this is the first posted ones https://github.com/NabuCasa/silabs-firmware/commit/8b4ee33e44140a6cad7e8f01b84ed6c1021b0529

puddly commented 1 year ago

Implemented by #567.