Skip to content
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

Thread only FW for SkyConnect #6

Closed
mauimauer opened this issue Dec 11, 2022 · 6 comments
Closed

Thread only FW for SkyConnect #6

mauimauer opened this issue Dec 11, 2022 · 6 comments

Comments

@mauimauer
Copy link

Would it be possible to add a firmware build with just Thread for use with OTBR for SkyConnect?

@agners
Copy link
Collaborator

agners commented Dec 12, 2022

Generally, yes. The problem is: Currently that is a one way street: There is no way to trigger the OpenThread RCP firmware to go back into bootloader mode. That means, once you've flashed the OpenThread RCP firmware, you'll not be able to flash something else, ever 😅

It would need firmware tweaking to allow a special OpenThread RCP command to send SkyConnect back into bootloader mode.

@Hedda
Copy link

Hedda commented Dec 12, 2022

FYI, for reference, I asked an indirectly related question in the Home Assistant forum, with a somewhat similar use case of only using my Home Assistant SkyConnect adapter as a dedicated Thread adapter, (because I already have a dedicated Texas Instruments CC2652P based Zigbee Coordinator adapter for Home Assistant's ZHA integration and I would like to keep them on separate radios), however, I do not mind using RPC firmware on an adapter dedicated for Thread if needed, but I just do not want the ZHA migration flow to be triggered automatically as I do not want to migrate, and I think I am probably not alone with that use case scenario -> 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/73

@MattWestb
Copy link

If one user like using one SkyConnect as only OTR RCP its only flashing it with multipan firmware and installing the addon and not using / enabling the network adapter for Zigbee and and using Z2M / ZHA with the other NCP connected to the system.

Perhaps putting in one option disable zigbeed can being good for the user case ?

@Hedda
Copy link

Hedda commented Dec 12, 2022

The problem is: Currently that is a one way street: There is no way to trigger the OpenThread RCP firmware to go back into bootloader mode. That means, once you've flashed the OpenThread RCP firmware, you'll not be able to flash something else, ever 😅

It would need firmware tweaking to allow a special OpenThread RCP command to send SkyConnect back into bootloader mode.

@agners FYI, while not tested it myself it sounds as if Elelabs utility can use Spinel interface to restart adapter into bootloader?

https://github.com/Elelabs/elelabs-zigbee-ezsp-utility

https://github.com/Elelabs/elelabs-zigbee-ezsp-utility/blob/master/README.md#restart--restart-the-connected-generic-zigbeethread-product-in-normal-ezspspinel-mode-or-in-bootloader-mode

restart – Restart the connected generic Zigbee/Thread product in Normal EZSP/Spinel mode or in Bootloader mode

for any EZSP/Spinel product

The restart is used to probe the connected Zigbee/Thread product and restart it in normal or in bootloader mode. The normal mode is regular EZSP/Spinel operation. The bootloader mode is used only for the firmware update.

Switch from Normal mode to Bootloader mode

python3 Elelabs_EzspFwUtility.py restart -m btl -p /dev/ttyS6

Elelabs Zigbee EZSP utility restart bootloader

Switch from Bootloader mode to Normal mode

python3 Elelabs_EzspFwUtility.py restart -m nrml -p /dev/ttyS6

Elelabs Zigbee EZSP utility restart normal

@agners
Copy link
Collaborator

agners commented Dec 12, 2022

@Hedda yes I am aware of Elelabs implementation, it uses a manufacturer specific command:
https://github.com/Elelabs/elelabs-zigbee-ezsp-utility/blob/master/Elelabs_EzspFwUtility.py#L474-L477

The implementation on firmware side is not available, from what I know.

I tried to get Silicon Labs to implement a method long those lines in their official release, but so far that did not happen, unfortunately.

@agners
Copy link
Collaborator

agners commented Mar 14, 2023

Thread only firmware for SkyConnect is available now in OpenThreadRCP. Once flashed, reflashing a newer firmware requires an universal-silabs-flasher which supports the OpenThread Spinel protocol and the reset into bootloader command. This is currently work in progress, see NabuCasa/universal-silabs-flasher#13.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants