-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[zephyr] Fix Network Commissioning after switching to new API #14891
[zephyr] Fix Network Commissioning after switching to new API #14891
Conversation
New Network Commissioning cluster code using the generic Thread driver requires that kThreadConnectivityChange event be generated when the device is attached to a Thread network and that was only implemented for LWIP and Linux platforms. Fill the gap for Zephyr. Also, allow to use operational dataset without the network name as that is not neccessary to attach to a network. Signed-off-by: Damian Krolik <[email protected]>
Do we know when Thread commissioning broke? |
PR #14891: Size comparison from 092e707 to 13b5cd3 Increases (10 builds for nrfconnect, telink)
Decreases (20 builds for cyw30739, efr32, k32w, linux, qpg)
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
Likely when we started checking feature maps to determine which network type support exists. This was also parallel with requiring the "new" network commissioning cluster to be implemented (i.e. one that supports scanning and other spec-compliant functionality). To fix, we implemented a generic "new" thread network commissioning and this PR starts fixing that implementation. |
Yes, Andy is right. Basically, the new network commissioning API waits for the network attachment before sending a response to ConnectNetwork command and an event used to announce the network attachment was unimplemented in Zephyr. |
Problem
New Network Commissioning cluster code using the generic Thread driver requires that
kThreadConnectivityChange
eventbe generated when the device is attached to a Thread network, and that was only implemented for LWIP and Linux platforms.
Change overview
Fill the gap for Zephyr.
Also, allow to use operational dataset without the network name as that is not necessary to attach to a network.
Testing
Tested that commissioning works again on nRF Connect platform.