xsp1989 / zigbeeFirmware

225 stars 22 forks source link

[REQUEST] Silabs Zigbee EmberZNet SDK 7.2 NCP experimental builds for testing? #33

Closed Hedda closed 1 year ago

Hedda commented 1 year ago

Missed this but Silicon Labs have on December 15, 2022 released Gecko SDK (GSDK) 4.2.0 with Zigbee EmberZNet SDK 7.2.0.0 GA:

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

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

Any chance you consider releasing some experimental builds if zigpy and zigbee-herdsman developers want to test 7.2.x.x?

That is, EmberZNet 7.2.0.0 is probably not ready for general use yet but great if firmware images were available to test for issues.

It would be great if both developers/testers could have access to Zigbee EmberZNet 7.2.x.x NCP images for development/testing.

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

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

New features in it 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 has also released Gecko SDK Version 4.1.4.0 as a stable bug-fix release containing 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

xsp1989 commented 1 year ago

The new experimental version may take a while to be released, and you can also build it yourself. Currently, the latest version of GSDK can be installed and built directly without SN, or even logging in to the account of Simplicity Studio.

ashimokawa commented 1 year ago

I tried to build an ncp application firmware, but I did not get how to obtain the NCP UART SW example without SimplicityStudio. I downloaded and installed a working gcc/gecko_sdk/slc_cli combination, but, well, no examples that seems to fit.

"Silicon Labs recommends that you use either the NCP SPI, NCP UART (HW), or NCP UART SW example applications as a starting point for building a customized NCP application."

The gecko sdk only has ./protocol/zigbee/app/ncp/sample-app/ncp-uart-hw nothing with -sw

Is the firmware in this repo built from the vanilla sample app? If so which one? Is it accessible without SimplicityStudio?

I wonder if I could just change usartHwFlowControlCtsAndRts to usartHwFlowControlNone and use that ncp-uart-hw example ... hmm

MattWestb commented 1 year ago

Install Simplicity Studio 5 and use the example for for NCP UART for your chip / module and you can configuring all in the GUI an then building the firmware.

Edit: In the GUI you can setting software flow control if you like.

ashimokawa commented 1 year ago

@MattWestb

Thank you for your reply.

I installed SimplicityStudio 5 and I see the same examples as before, just in a GUI, I do not understand why Silicon Labs documents always refer to a "NCP UART SW" when there is only a HW example. I will try to figure it out but I have a hunch I am on the wrong path here.

I tried with the 4.1.4 and 4.2.0 sdk releases.

MattWestb commented 1 year ago

NCP have SW implanted but OT RCP is only having HW or non = bad. Easiest is pin tool and config pins for one comport and then clicking on the software component and setting the com parameters.

ashimokawa commented 1 year ago

@MattWestb

Thanks, got it. And built. I did not flash but at least now I understood that the newer SDKs just do not have the -sw example and I have to click my way through to switch it sw flow control.

xsp1989 commented 1 year ago

image @ashimokawa In the flow control setting, select CTS/RTS, and then select the corresponding GPIO in UART.

ashimokawa commented 1 year ago

@xsp1989

Thank you, this confirms what I already did.

For the other values (CTUNE, source routing tables), I edited header files, because I could not find them in the GUI.

MattWestb commented 1 year ago

I SS5 components: C-Tune: Services Device Initialization Device Init: HFXO CTUNE

Source routing: Zigbee Stack Source route Zigbee Source Route Library configuration

xsp1989 commented 1 year ago

https://drive.google.com/drive/folders/14f8lY3HvRxh_B4Q4ZmVvLs5At1Qc1BZp This is the schematic diagram of ZB-GW04

ZB-GW04-V1.2.PDF

MattWestb commented 1 year ago

Thanks one more time !!

xsp1989 commented 1 year ago

@Hedda https://github.com/xsp1989/zigbeeFirmware/blob/master/firmware/Zigbee3.0_Dongle-NoSigned/EZSP/ncp-uart-sw_7.2.0.0_115200.gbl 7.2.0.0 firmware for development has been released

hitokiri8x commented 1 year ago

I only tested the firmware for 1 day on ZBDongle-E 3.0 I can say that on my adapter is better than stock one, at least my aqara devices were still online and the application survived a reboot. ( on stock firmware they disconnect after some hours ). Sadly as I've already initiated the return procedure I'm done testing and returning the device, people with same device keep looking in this firmware, is promising

Hedda commented 1 year ago

FYI, latest bug-fix version is Silicon Labs Zigbee EmberZNet SDK 7.2.2.0 from Gecko SDK version 4.2.2 from March 10th of 2023:

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

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

BTW, the "bellows" radio library for zigpy to interface Silicon Labs Zigbee EmberZNet EZSP has been updated to support EZSP v11:

zigbee-herdsman is not lagging far behind as has already been updated to EZSP v10 (and EZSP v11 soon as only a minor change):

The only large project that was lagging behind is OpenHAB but its dependency was at least updated to EZSP v10 last month:

PS: The only well-known open-source project in the DIY home-automation community that is lagging behind those in support for newer EZSP versions 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).