NabuCasa / silabs-firmware-builder

Silicon Labs firmware builder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[REQUEST] Add support for Ember configuration parameters per adapter via manifest files?

Hedda opened this issue Β· comments

commented

Right now adapter patches for silabs-firmware-builder really only the pin configuration patch variation between builds and it is not possible to also patch different Ember configuration parameters per adapter hardware (as was highlighted by @darkxst in ksjh#17).

As silabs-firmware-builder is setup currently, all EmberZnet (EZSP NCP) builds get the same config and it becomes a bit messy if third-party wanted to use the current build system to atomatically make images for multiple adapters which need different Ember configuration parameters per adapter hardware.

Please would like to request that you consider adding some kind of adapter hardware-specific config support (via example JSON formatted manifest per adapter) then that would allow third parties who fork this project to easily add and/or change Ember configuration parameters per adapter hardware.

For example, these are a few Ember configuration parameter values that can have a huge impact on user experience and stability:

  • EMBER_APS_UNICAST_MESSAGE_COUNT
  • EMBER_SOURCE_ROUTE_TABLE_SIZE
  • EMBER_ROUTE_TABLE_SIZE
  • EMBER_ADDRESS_TABLE_SIZE
  • EMBER_PACKET_BUFFER_COUNT
  • EMBER_NEIGHBOR_TABLE_SIZE
  • EMBER_APS_ACK_TIMEOUT
  • EMBER_TRUST_CENTER_ADDRESS_CACHE_SIZE
  • EMBER_MULTICAST_TABLE_SIZE
  • EMBER_MAX_END_DEVICE_CHILDREN
  • EMBER_CTUNE_VALUE
  • EMBER_SUPPORTED_NETWORKS
  • EMBER_BINDING_TABLE_SIZE
  • EMBER_MAX_END_DEVICE_CHILDREN

Ember configuration parameters per adapter hardware tuning will however important to allow third parties to use silabs-firmware-builder for Silicon Labs based SoCs that have less or more RAM memory that the specific EFR32MG21 SoC model used in Home Assistant SkyConnect dongle and the Home Assistant Yellow adapter.

Like for example Elelabs still sell and/or maintains firmware for Zigbee Coordinator adapter products based on the older EFR32MG13P and EFR32MG1B SoCs, or newer upcoming adapters that are based on the latest EFR32MG24 SoC.

Also see arguments posted by @tube0013 in this somewhat related issue for bellows radio library repo for zigpy -> zigpy/bellows#543 (at least related when knowing he has also forked https://github.com/tube0013/silabs-firmware-builder the hardware he makes).

PS: I do understand that this is maybe not as directly relevant for Nabu Casa with the SkyConnect and Yellow adapters however I believe that if silabs-firmware-builder could offer

official and unofficial firmware for third-party adapters when and if others fork this project and start building their own firmware images for other hardware adapters using forks of Nabu Casa's Silicon Labs Firmware Builder.

commented

FYI, giannello already created an unofficial fork repo for Elelabs ELx0x3

https://github.com/giannello/silabs-firmware-builder/tree/feature/elelabs-support

In addition, tube0013 has also created his own forks with patches for the different hardware models that he design/make/sell:

https://github.com/tube0013/silabs-firmware-builder

PS: This is also indirectly related to this other feature request:

#13

commented

FYI @darkxst just wrote in ksjh#17 that he started some work on this:

I did some initial work towards building from manifests and allowing override configs. Its in this branch for now https://github.com/darkxst/silabs-firmware-builder/blob/manifestjs/manifests

As an example zbdonglee.json overrides some config from the defaults (in defaults.json)

params are really just global configuration items that apply to all three firmware types.

commented

FYI, @darkxst continued his work on supporting more hardware manifests to allow override config for multiple different adapters:

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

That is, he added support for many different hardware via separate JSON manifests files to his fork of Nabu Casa's silabs-firmware-builder in order to allow override configs for automatic builds to enable automatic building of (unofficial) firmware images for many different Silicon Labs based EFR32 adapters, including; , ITead Sonoff ZBDongle-E, Easyiot ZB-GW04, and Elelabs ELR023 + ELU013, in addition to Home Assistant SkyConnect + Yellow:

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

Note! He also has experimental builds for same EmberZNet version and hardware but with different baud rate speeds for testing.

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

FYI, you can find the EmberZNet 7.3.0.0 builds for Home Assistant Yellow and SkyConnect since last week here:
https://github.com/NabuCasa/silabs-firmware/tree/main/EmberZNet/beta

They are smoke tested (as in, installed and made sure Zigbee network comes up).

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues.
Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues.
Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

commented

Still wanted?

commented

I still need to finish cleaning up my patches implementing this, but is there any interest in merging this support into this repo once its complete?

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues.
Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Still interesting IMHO

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues.
Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Still wanted

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues.
Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment πŸ‘
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.