-
Notifications
You must be signed in to change notification settings - Fork 28
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
Alternative EmberZNet Zigbee "Multi-PAN" firmware for EFR32 Series 1 and/or EFR32 Series 2? #20
Comments
Silicon Labs recently released EmberZNet 6.8 (6.8.0.1) SDK with a new feature to concurrent support of multiple PANs (multi-PAN). Prior to EmberZNet PRO 6.8.0, the multi-network implementation limited the number of always-on roles that a device could serve on the participating networks. Starting with EmberZNet PRO 6.8.0, the multi-network feature and a new multi-PAN feature allow the device to operate as a coordinator on both Zigbee networks in a host-NCP configuration. Silicon Labs AN724 application note discusses the design considerations involved in integrating a feature that allows a node with one Zigbee radio to operate on multiple Zigbee networks. https://www.silabs.com/documents/public/application-notes/an724-multi-network.pdf "Multi-network and multi-PAN features allow a device to operate on two Zigbee networks using the same radio. These Zigbee networks may have different security settings or network parameters, such as short ID, PAN ID, extended PAN ID, or radio power. The only parameter that stays the same on all networks is the node's EUI64. While the multi-network feature allows the two networks to be on different radio channels, the multi-PAN feature requires that this setting matches." https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-6.8.0.2.pdf 1 New ItemsAdded in release 6.8.0.2The feature to concurrently support multiple PANs (multi-PAN) is added in the 6.8.0.1 release. The multi-PAN feature builds upon the existing multi-network feature, however, the multi-network feature limits the number of always-on networks to one, the multi-PAN feature allows for two always-on networks, both of which must be coordinators. The two networks use the same radio to send and receive packets on their own distinctive PAN IDs. For additional documentation refer to AN724: Designing for Multiple Networks on a Single Zigbee Chip. 1.1 New PluginsAdded in release 6.8.0.2Multi-PAN Library The new plugin is used by the multi-PAN feature to create a host/NCP application that can support up to two coordinator networks. Added in release 6.8.0.2Multirail-demo A new mutirail-demo plugin has been added. This plugin provides sample code to initialize and interact with a second RAIL handle and is used in the new multi-rail GP sample application. 1.2 New APIsAdded in release 6.8.0.2Stack Profile and Security Level Introduced emberSetStackProfile() together with the following enums: EMBER_STACK_PROFILE_NONE, EMBER_STACK_PROFILE_ZIGBEE_PRO, EMBER_SECURITY_LEVEL_NONE, EMBER_SECURITY_LEVEL_Z3. In addition to the new API, the Zigbee stack now initializes the stack profile and security level based on the security profile of each network so that multi-PAN devices are able to form networks with different stack profiles and security levels. 1.3 New Sample ApplicationsAdded in release 6.8.0.2**Multi-PAN A new set of Host (MpZ3TcCustomTcHost) and NCP (mp-ncp-spi or mp-ncp-uart) sample applications is added. These sets demonstrate the multi-PAN feature. The host application is a Zigbee 3.0 coordinator on the first network and a coordinator with no security on the second network and is meant to connect to an NCP running one of the multi-PAN NCP applications. ZigbeeMinimalHost The EmberZNet ZigbeeMinimalHost sample application provides a minimal functional subset to serve as a starting point for users wishing to build their own ZigBee Host applications. The application is configured to operate as a ZigBee Coordinator / Router. No ZigBee Cluster Library (ZCL) application-layer functionality is preconfigured. In the Studio New Project workflow Select Application dialog, it is recommended to select this sample application, rather than the "Start with a blank application" checkbox, to begin development of a new Zigbee Host application. Z3GatewayGpComboHost and ncp-uart-hw-gp-multi-rail A new set of Host (Z3GatewayGpComboHost) and NCP (ncp-uart-hw-gp-multi-rail) sample applications is added. This set demonstrates the use of the additional rail handle to send application-specific bidirectional GPDF from Combo to GPD. |
That's not really correct. We are working to release a firmware update for our products to support this mode. |
Is it still possible to include support NCP and EZSP in the same firmware image to that the same images can also be compatible with existing implementations that currently relies on the EZSP interface? So no need to maintain different firmware images?
Nice! suggest you/Elelabs maybe reach out to @agners and Nabu Casa (Home Assistant founders) about possible collaboration? I think it would for example be great if could help create an open document for the community on how to build a firmware image that contains both EmberZNet Zigbee stack and OpenThread stack with Spinel (OpenThread Serial Protocol) in one firmware image? Recommend publish simple documentation with patch(es) and how to compile similar to the community do for Z-Stack-firmware: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0 https://community.silabs.com/s/article/building-rpc?language=en_US |
@Hedda |
In theory, you could have a custom command to switch protocol in each of these protocol, and have the underlying firmware switch protcol completely, don't you think? That said, I'd rather prefer not to support that, as it might be complex: Whenever the radio resets/restarts, the host side needs to probe using NCP protocol again to switch back to CPC etc. etc. So it feels a bit brittle. Anyways, that hole multiprotocol is endeavor is still new, and I'd rather prefer SiLabs makes the CPC protocol stable first (currently it seems that
Uh, I'd love that 😍 . Altough, with Matter coming hopefully soon, probably better to focus on that. |
It's not only about switching between 2 different applications. It's about low level Radio configuration.
Same situation is with Openthread border router and Spinel sadly... That might actualy stay with us...
agree |
Wrt CPC - multiprotocol, there are two made available by SiLabs, |
Ideally the bluetooth one, but for now having issues with just 802154 )) They should be compatible from my understanding. Just an additional Endpoint and additional |
FYI, grobasoz (Gary Robas) have now published EmberZNet 7.0.1 MultiPan NCP ("MP NCP") firmware for EFR32 Series 2 devices: https://github.com/grobasoz/zigbee-firmware/tree/master/EFR32%20Series%202/EFR32MG21A020F1024 Note! Multi-Pan NCP, not RCP, and based on EmberZNet 7.0 so it also supports EmberZNet Serial Protocol Version 9 (EZSP V9)! |
NCP and RCP are just architecture styles. From what I can tell, this particular firmware uses the regular EZSP ASH protocol over UART. It seems to me that this is not to meant to run other protocols, but to form multiple Zigbee networks using a single radio. But I could be wrong on that. From the readme of that firmware:
|
Home Assistant developer agners has begun working on an add-on for Silabs Multiprotocol stack requiring Multi-PAN firmware. See:
zigpy/zigpy#894
and
https://github.com/home-assistant/addons-development/tree/master/silabs-multiprotocol
Maybe help with Zigbee coordinator RPC firmware with EmberZNet 6.8 RCP and NCP applications with Multi-PAN Library plugin?
https://www.silabs.com/documents/public/release-notes/emberznet-release-notes-6.8.0.2.pdf
https://community.silabs.com/s/article/building-rpc?language=en_US
This project does require that firmware include Multi-PAN Library plugin. That new Multi-PAN Library plugin is new since EmberZNet SDK 6.8.0.2 and new multi-PAN feature can create a host/NCP application that can support up to two coordinator networks:
https://www.silabs.com/documents/public/application-notes/an724-multi-network.pdf
Very early so would not advise any users use "Multi-PAN" firmware testing unless interested in testing and/or contributing to that project. See:
Concept could in the future even allow running both Zigbee 3.0 and Thread/Matter (OpenThread) stacks applications on a single radio.
It also changes architecture from NCP (Network Co-Processor) based to "DMP RPC" (Dynamic Multiprotocol Radio Co-Processor) based which if I understand correctly offload the network part to the the Zigbee integration application running on system CPU and the adapter becomes slightly more of a "dumb" Zigbee radio (still using EZSP) which for Zigbee removes some limitations on routing tables etc. (meaning that can probably have almost unlimited of devices connected even on radio adapter that has an MCU with limited RAM-memory.
PS: agners is Nabu Casa lead engineer working on Home Assistant Yellow and its EFR32MG21 (MGM210P SiP module) based radio:
https://www.home-assistant.io/blog/2021/09/13/home-assistant-yellow/
https://www.crowdsupply.com/nabu-casa/home-assistant-yellow
https://www.nabucasa.com/about/
The text was updated successfully, but these errors were encountered: