-
Notifications
You must be signed in to change notification settings - Fork 22
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
[REQUEST] Silicon Labs Concurrent Multiprotocol Zigbee in NCP mode and Open-Thread in RCP mode? #32
Comments
Thank you for your suggestion. We also plan to support RCP, but we have not found a good test method and test equipment, so there has been no further development. |
@xsp1989 if only doing RCP for Silabs EFR32MGx is HA implanted Silabs reference design in https://github.com/home-assistant/addons/tree/master/silabs-multiprotocol and discussion is zigpy/zigpy#894. The over all RCP is here https://github.com/home-assistant/addons/blob/master/silabs-multiprotocol/DOCS.md#architecture. One more problem with Silabs implanting is that they is forcing encrypted communication between the SOC and the host system with the private keys in the firmware. For the moment we have disabling it in the firmware and the host application (i think we can doing one "open key for putting in our firmware and its more standard but is on later story). You only need changing Also is Silabs moving fast and making large changes every release of GSDK so need cooking new firmware for every new GSDK release. I have my "Billy RCP" (IKEA EFR32MG1P) module running for many months with 3 OTBR and ZHA with Ziogbee network and its working better and better. I have not time testing NCP / RCP firmware and its npt possible on MG1 device then they is having to less flash for it and tuya ZS3L / HA Sky Connect is not so easy flashing as my "Billys" but is coming later. Try doing one GSDK 4.2.0.0 RCP firmware and testing it with the HA addon its for the moment the best and easy way and is doing Zigbee / ZHA (Z2M shall working 2) but thread is only possible adding more border routers and not interface for adding other thread devices but is shall coming in HA soon if all is going well. And great thanks for supporting our Zigbee / Thread community !!!! |
I built a RCP firmware, so far I only tested that it can be added to "Silicon Labs Multiprotocol", I didn't test if I can add a device, and if it works fine. So it is not recommended that everyone upgrade for testing. |
By the way, ZB-GW04 has updated the hardware version to v1.2, this version already supports CTS/RTS hardware flow control, and NCP and RCP firmware supporting hardware flow control will be released later |
Testing thread is best setting up one more HA with the add.on and joining the second one to the first that have forming its network. Then you shall getting 2 routers in the OTBR GUI topology. Now you only need getting Tasmota working with Matter :-)) (joke). Great work done !! PS: Its possible using network port for the RCP communication but is not so well tested and may not working OK (only older version was fast tested but ESP chips dont support HA flow control). |
Thanks @xsp1989, I've just flashed my ZB-GW04 v1.1 based USB dongle with the RCP MultiPAN firmware ( |
Sorry i didn't understand all the discussion.. What is difference between rcp and ncp firmware ? |
RCP (Radio Co Processor) is described her: https://github.com/home-assistant/addons/blob/master/silabs-multiprotocol/DOCS.md#architecture. Normally is the Zigbee stack running one the SOC (system on chip) and communicating with the host system over one communication port = NCP (Network Co Processor) and with the host system with one proprietary protocol like EZSP over one other com port. In RCP mode is only the radio living on the chip and one small program is tunneling the information to the host system over one com port. On the host system is the Zigbee stack (zigbeed) "living" and is doing all things and the radio command is sen and received to / from the radio chip over the comport and the host system is talking to the upper system with EZSP. With RCP is possible using one radio chip for more protocols like Zigbee, Thread and Bluetooth then the host system is doing the heavy work. This firmware can being used for Zigbee and Open Thread Boarder Router on the host system. Its also possible using Zigbee / NCP on the SOC and RCP for thread on the host system but its not wildly tested for the moment. With RCP firmware and the Silicon Labs Multiprotocol addon you is getting one network connection for EZSP that is working with ZHA and shall working with Z2M 2 if all is OK plus one Open Thread Boarder Router in HA. Sonoff ZB Dongle E shall working with this firmware but is not recommended for normal user then its not widely tested. And is its not working it can being problems flashing one normal firmware on the device. The protocol Silabs Zigbee is talking is EZSP and to Z2M its being tunneled over Ethernet as one com port. |
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 |
BUMP. The multipan firmware bug has now been fixed. I was wondering is there anyway to add the zigbee configuration to zigbee2mqtt? When I try to add the information below I get an error from the logs. port: socket://core-silabs-multiprotocol:9999 [17:13:38] INFO: Preparing to start... |
Do you using:
as from the instruction https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html#_3-configure or the IP ? The fixed is not the latest version its 7.1.4 but i think Silabs is releasing the more stable / bug fixed 7.2.1 very soon. GSDK 4.2.0 = EZSP 7.2.0 and so on. |
Using TCP instead of socket results in: [18:14:52] INFO: Preparing to start... |
Have you doing point 1 then you is getting:
? |
I am unsure how to do point 1 on home assistant terminal since sudo would not work. |
The latest version of Home Assistant Silabs Multiprotocol Addon (0.12.0) switched from Gecko SDK 4.2.0 to 4.1.4, which cannot work with I've started configuring and compiling the MultiPAN/Muliprotocol firmware myself for my ZB-GW04 v1.1 based USB dongle. I'm running the latest Home Assistant Silabs Multiprotocol Addon version (0.12.0) with the Gecko SDK 4.1.4 firmware I've uploaded here: https://github.com/skgsergio/silabs-multiprotocol-firmware-zbgw04-usb |
@spartandrew18 That is off-topic in this specific request issue as I here asked for "Zigbee in NCP mode and Open-Thread in RCP mode" and that means you can use Zigbee directly and do not need to use zigbeed. The correct topic for "Multi-PAN RPC for Zigbee in RCP mode and Open-Thread in RCP mode" is this other thread -> #21 For Zigbee2MQTT specifically however, it is better if you ask in their project -> Koenkk/zigbee2mqtt#14497 |
Hola @skgsergio i was thinking doing the same but i dont have the device so i cant testing if its working or not. |
@skgsergio In SS5 with GSDK 4.1.4 in your project and software components > |
@MattWestb thanks, will change it and upload new versions. |
Dont forgetting testing if sleeping end devices can staying connected in the log run. GREAT WORK DONE !! |
I've reuploaded both v4.2.0 and v4.1.4 MultiPAN RCP firmware builds with CTUNE=128. I've tested both on my device. Anyways I had it running with the default CTUNE (140) with my v4.1.4 build all night and both my ZigBee motion sensors (Philips Hue SML001) were working this morning. But checking Home Assistants graph they seem to be connected to other devices (a bulb and a plug). |
Great !! And the c-tune is only helping for devices that have direct link with the RCP so your was having one router between = working for 100% if its one good router. |
Can the multiprotocol firmware be produced for the SM-011 module in the ZB-GW03? How is the signature done and enforced? I am trying to find out, if the firmware can also be built here ksjh/silabs-firmware-builder#8 |
Please start a separate thread for that since your question is about a signed firmware image for a locked/closed product. @xsp1989 have provided signed firmware images for ZB-GW03 in the past but I think that your question about getting a firmware image signed is different from the original request is this issue. |
Ok, can do that. For now I was trying to understand requirements and limitations of the SM-011 in the ZB-GW03 specifically. |
The signature of ZB-GW03 cannot be turned off unless a bootloader without signature is refreshed through jlink. Currently, the signature key is a company secret and will not be provided to the public. If necessary, I will provide a signed firmware next week (if possible correctly signed and run). |
FYI, Nabu Casa developer is working on Zigbee NCP + OpenThread RCP combination firmware for Home Assistant SkyConnect:
https://github.com/NabuCasa/silabs-firmware
Those firmware images feature support for simulations running Zigbee NCP (EZSP) + OpenThread RCP for backward compatibility:
https://github.com/NabuCasa/silabs-firmware/tree/main/EmberZNetAndOpenThreadRCP/beta
The reason for also wanting OpenThread RPC support is that Home Assistant 2022.12 has now been released with initial multiprotocol support Zigbee NCP (via EZSP) and Thread (OpenThread RCP Multi-PAN which indirectly can support Matter over Thread), as tested with "Home Assistant SkyConnect" USB adapter and "Home Assistant Yellow" embedded radio.
They are also in parallel working on an experimental pure RCP Multi-PAN firmware image that is not compatible with NCP for those users who do not want to use Zigbee NCP:
https://github.com/NabuCasa/silabs-firmware/tree/main/RCPMultiPAN
https://www.crowdsupply.com/nabu-casa/home-assistant-yellow/updates/more-yellows-shipping-and-thread-plus-matter-updates
https://www.home-assistant.io/blog/2022/12/07/release-202212/
https://community.home-assistant.io/t/home-assistant-skyconnect-usb-stick-announced-will-be-compatible-with-both-zigbee-and-thread-including-matter-chip-over-thread/433594/
Silicon Labs Gecko SDK 4.1.0 was released with "Alpha Concurrent Multiprotocol Zigbee in NCP mode and OpenThread in RCP mode":
https://github.com/SiliconLabs/gecko_sdk/releases
It means that can now build a unified firmware image that can support Zigbee in NCP mode and OpenThread in RCP mode.
If this is the case then such backwards-compatible firmware images might be interesting for users of existing applications that use "old school" Zigbee in NCP mode as it would open up the ability to concurrently also use the same radio adapter for OpenThread/Thread RPC (and thus also the upcoming Matter connectivity protocol), or does it not?
Please see a somewhat related discussion here (though it only discusses RPC mode and not NCP + RPC) -> zigpy/zigpy#894
Silabs Zigbee EmberZNet SDK 7.1.0.0
Please take note that because of its new (Alpha) support for concurrently running firmware with Zigbee NCP and OpenThread RPC at the same time announced in Silicon Labs Gecko SDK v4.1.0 I do believe that sooner or later going with EmberZNet 7.1.x firmware or even in the relatively near future for early adopters will be tempting to both manufacturers of Zigbee radio USB adapters and end-users owning existing Silicon Labs EFR32MG12, EFR32MG13, and EFR32MG21 adapters.
As such firmware will mean that could use the same EFR32MGxx adapter as a Zigbee Coordinator for existing Zigbee devices and an OpenThread Border Router (OTBR) for the upcoming Matter over Thread (formerly Project CHIP / Connected Home over IP). So in essence users could just flash their existing Silabs Zigbee Coordinator and have it also act as a radio for Matter over Thread.
https://github.com/SiliconLabs/gecko_sdk/releases/tag/v4.1.0
- Thread 1.2 and 1.3 support for OpenThread
- Updated GCC compiler version to 10.3.1
- Alpha Concurrent Multiprotocol Zigbee in NCP mode and OpenThread in RCP mode
- Alpha Dynamic Multiprotocol Bluetooth and multi-PAN 802.15.4 in RCP mode
- 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
PS: Note that importantly this EmberZNet SDK 7.1.0 added an update to EZSP v9 (EmberZNet Serial Protocol version 9) which might break existing Zigbee implementation if user Silabs Zigbee EmberZNet SDK 7.1.0.0 NCP firmware before updated to EZSP v9.
The text was updated successfully, but these errors were encountered: