-
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
[nrfconnect] Updated nRF Connect SDK to 2.3.0 #25432
Merged
Damian-Nordic
merged 8 commits into
project-chip:master
from
kkasperczyk-no:ncs_2_3_0_update
Mar 7, 2023
Merged
[nrfconnect] Updated nRF Connect SDK to 2.3.0 #25432
Damian-Nordic
merged 8 commits into
project-chip:master
from
kkasperczyk-no:ncs_2_3_0_update
Mar 7, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Damian-Nordic
approved these changes
Mar 2, 2023
markaj-nordic
approved these changes
Mar 2, 2023
PR #25432: Size comparison from b12e3e8 to 2ee56e1 Increases (7 builds for bl602, cc13x2_26x2, cc32xx, esp32, psoc6, telink)
Decreases (14 builds for bl602, bl702, cc13x2_26x2, efr32, psoc6, qpg, telink)
Full report (45 builds for bl602, bl702, cc13x2_26x2, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, psoc6, qpg, telink)
|
2ee56e1
to
5bf181b
Compare
PR #25432: Size comparison from af3fdc5 to 5bf181b Decreases (1 build for cc32xx)
Full report (1 build for cc32xx)
|
5bf181b
to
00d3aaf
Compare
PR #25432: Size comparison from af3fdc5 to 00d3aaf Decreases (1 build for cc32xx)
Full report (1 build for cc32xx)
|
00d3aaf
to
033f03c
Compare
PR #25432: Size comparison from af3fdc5 to 033f03c Increases (4 builds for bl702, cc13x2_26x2, psoc6)
Decreases (4 builds for bl602, cc13x2_26x2, psoc6, qpg)
Full report (27 builds for bl602, bl702, cc13x2_26x2, cc32xx, cyw30739, k32w, linux, mbed, psoc6, qpg)
|
bzbarsky-apple
approved these changes
Mar 6, 2023
jmeg-sfy
approved these changes
Mar 7, 2023
Removed a workaround regarding IPC priority, which is not needed anymore in Matter samples.
With nRF Connect SDK 2.3.0 mcumgr API changed and DFU over SMP implementation required updating.
Bumped recommended nRF Connect SDK version to 2.3.0 and bring in list of commits including mainly Wi-Fi support fixes: 1. Implemented most of the Wi-Fi DiagnosticDataProvider. Added PHY statistics: * multicast RX/TX * unicast RX/TX * beacons lost/TX Signed-off-by: Marcin Kajor <[email protected]> 2. wifi: map supplicant WiFi version into what Matter expects This is needed to return proper Wi-Fi version code to the Matter controller when querying wifinetworkdiagnostic cluster. Signed-off-by: Marcin Kajor <[email protected]> 3. Fix the 'disconnected' status appearing after scan is issued. Restore the connection state which was set before requesting scan. Note that the connection was not really dropped, only the status reporting was broken. Signed-off-by: Marcin Kajor <[email protected]> 4. Fix ram_report and rom_report Stop filtering out gdwarf-4 when passing flags from Zephyr to Matter's GN build system. Older pyelftools versions are not able to parse DWARF5 format, so ram and rom report would not be generated. Signed-off-by: Damian Krolik <[email protected]> 5. wifi: fixed the connection callback initialization This fixes the misbehavior when attempting to establish a connection with the network that is not added to the networkcommissioning cluster. Signed-off-by: Marcin Kajor <[email protected]> 6. Fixed the timeout when connecting to the WPA3 secured AP. Set the WiFi MFP (management frame protection) as at least optional. The current WiFi driver does not support this parameter within the scan result, so it must the hard coded for the time being (made it mandatory for secure associations, just in case). Signed-off-by: Marcin Kajor <[email protected]> 7. Switch to statically allocated heap * Use malloc/free replacements based on statically allocated Zephyr's sys_heap to provide better control of RAM usage. * Fixed hard fault once advertising mdns records In mDNS code there isn't a check that would verify if memory was allocated successfully. In case heap is too small the application will fall into hard fault due to usage of non-allocated memory. * Increased heap size for Wi-Fi. Empirically it was measured that heap size needed to pass the Wi-Fi commissioning is ~25k. To be on the safe side let's set it to 28k. 8. Disabled NFC thread callback NFC lib introduced new callbacks that are not needed by the Matter samples and increase flash usage. 9. Update required MCUmgr config Updates required MCUmgr configuration for zephyr upmerge changes. Signed-off-by: Jamie McCrae <[email protected]> 10. [nrfconnect] Disable unnecessary shell features Save more flash by disabling shell wildcard, colors, stats and kernel commands. Signed-off-by: Damian Krolik <[email protected]> 11. Increased the default net_mgmt stack size. Once we were hit by the net_mgmt thread stack overflow while show casing the Matter over WiFi solution in WiFi RF congested environment. Increase the default stack size of net_mgmt from 768 to 1k. Signed-off-by: Marcin Kajor <[email protected]> 12. Use generic channel when connecting. Currently using the specific channel number does not work reliably in WiFi driver, so use the generic channel screening. Signed-off-by: Marcin Kajor <[email protected]> 13. Rework net_mgmt WiFi event handling to offload CHIP thread. In the case there are many networks available, the scan result events may saturate the CHIP work queue which has lower priority then the net_mgmt and main threads. So, collect the scan results in the main thread and only ping the CHIP thread when the scan is done. Signed-off-by: Marcin Kajor <[email protected]> 14. Enable runtime PA gain control when FEM is active Output power at the antenna port can be controlled automatically after setting MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL config. After enabling it the user can use the CONFIG_OPENTHREAD_DEFAULT_TX_POWER config to control OpenThread radio output power. 15. [nrfconnect] Introduce the WiFi connection recovery feature The WiFi connection recovery feature allows device re-scanning and re-connecting to the known WiFi network after the device's reboot and when the known SSID has not been found during the last scan. The connection recovery interval is doubled with every occurrence to the defined maximum value and then its value depends on the maximum value +- the defined random jitter. After restoring the connection, the Connection Recovery Interval is restored to the defined minimum value after elapsing of the defined delay to avoid frequent reconnections to a poor link quality network. [nrfconnect] WiFi connection recovery refinements: * simplify recovery time resetting (due to connection status reporting limitations) * remove CHIP_WIFI_CONNECTION_RECOVERY_RESET_DELAY (not needed now) * avoid duplicated recovery timeout bumps * always start the recovery with kConnectionRecoveryMinIntervalMs * fixed some edge cases and memory leaks * minor cleanup * logging refinements * Kconfig description fixes after tech writer review * Move new Kconfig definitions to the Kconfig.features Signed-off-by: Marcin Kajor <[email protected]> 16. Fixed several Wi-Fi issues * Disabled Wi-Fi/BLE coex as it was not stable and caused issues in CI tests * Increased sockets poll and net mgmt stack to fix crash on the application boot due to no space to alloc all sockets * Added generating kDnssdInitialized event after getting Wi-Fi connected event to re-start mDNS server Fix the unused variable error. This is warning propagated to an error in the CI. Signed-off-by: Marcin Kajor <[email protected]> 17. Mapped the WiFi security type from Zephyr to Matter The Security type attribute was wrongly cast in the WiFi Manager. Used switch-case-based mapping between two enum types (Zephyr-Matter) to make sure that we properly cast between two different types.
In Wi-Fi platform, the obsolete kDnssdPlatformInitialized event name is used for event generation. Updated name to kDnssdInitialized.
The Wi-Fi platform uses obsolete EMBER_ZCL macros for Wi-Fi version and security getters. Replaced EMBER macros with enums from WiFiNetworkDiagnostics.
* Aligned default configs * Refactored WiFiInfo struct to use SecurityTypeEnum instead of uint8_t.
033f03c
to
7cd7b28
Compare
PR #25432: Size comparison from 2b1fcc5 to 7cd7b28 Full report (1 build for cc32xx)
|
lecndav
pushed a commit
to lecndav/connectedhomeip
that referenced
this pull request
Mar 22, 2023
* [nrfconnect] Removed IPC priority workaround from overlays Removed a workaround regarding IPC priority, which is not needed anymore in Matter samples. * [nrfconnect] Aligned DFU implementation to new mcumgr API With nRF Connect SDK 2.3.0 mcumgr API changed and DFU over SMP implementation required updating. * [nrfconnect] Updated nRF Connect SDK to 2.3.0 Bumped recommended nRF Connect SDK version to 2.3.0 and bring in list of commits including mainly Wi-Fi support fixes: 1. Implemented most of the Wi-Fi DiagnosticDataProvider. Added PHY statistics: * multicast RX/TX * unicast RX/TX * beacons lost/TX Signed-off-by: Marcin Kajor <[email protected]> 2. wifi: map supplicant WiFi version into what Matter expects This is needed to return proper Wi-Fi version code to the Matter controller when querying wifinetworkdiagnostic cluster. Signed-off-by: Marcin Kajor <[email protected]> 3. Fix the 'disconnected' status appearing after scan is issued. Restore the connection state which was set before requesting scan. Note that the connection was not really dropped, only the status reporting was broken. Signed-off-by: Marcin Kajor <[email protected]> 4. Fix ram_report and rom_report Stop filtering out gdwarf-4 when passing flags from Zephyr to Matter's GN build system. Older pyelftools versions are not able to parse DWARF5 format, so ram and rom report would not be generated. Signed-off-by: Damian Krolik <[email protected]> 5. wifi: fixed the connection callback initialization This fixes the misbehavior when attempting to establish a connection with the network that is not added to the networkcommissioning cluster. Signed-off-by: Marcin Kajor <[email protected]> 6. Fixed the timeout when connecting to the WPA3 secured AP. Set the WiFi MFP (management frame protection) as at least optional. The current WiFi driver does not support this parameter within the scan result, so it must the hard coded for the time being (made it mandatory for secure associations, just in case). Signed-off-by: Marcin Kajor <[email protected]> 7. Switch to statically allocated heap * Use malloc/free replacements based on statically allocated Zephyr's sys_heap to provide better control of RAM usage. * Fixed hard fault once advertising mdns records In mDNS code there isn't a check that would verify if memory was allocated successfully. In case heap is too small the application will fall into hard fault due to usage of non-allocated memory. * Increased heap size for Wi-Fi. Empirically it was measured that heap size needed to pass the Wi-Fi commissioning is ~25k. To be on the safe side let's set it to 28k. 8. Disabled NFC thread callback NFC lib introduced new callbacks that are not needed by the Matter samples and increase flash usage. 9. Update required MCUmgr config Updates required MCUmgr configuration for zephyr upmerge changes. Signed-off-by: Jamie McCrae <[email protected]> 10. [nrfconnect] Disable unnecessary shell features Save more flash by disabling shell wildcard, colors, stats and kernel commands. Signed-off-by: Damian Krolik <[email protected]> 11. Increased the default net_mgmt stack size. Once we were hit by the net_mgmt thread stack overflow while show casing the Matter over WiFi solution in WiFi RF congested environment. Increase the default stack size of net_mgmt from 768 to 1k. Signed-off-by: Marcin Kajor <[email protected]> 12. Use generic channel when connecting. Currently using the specific channel number does not work reliably in WiFi driver, so use the generic channel screening. Signed-off-by: Marcin Kajor <[email protected]> 13. Rework net_mgmt WiFi event handling to offload CHIP thread. In the case there are many networks available, the scan result events may saturate the CHIP work queue which has lower priority then the net_mgmt and main threads. So, collect the scan results in the main thread and only ping the CHIP thread when the scan is done. Signed-off-by: Marcin Kajor <[email protected]> 14. Enable runtime PA gain control when FEM is active Output power at the antenna port can be controlled automatically after setting MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL config. After enabling it the user can use the CONFIG_OPENTHREAD_DEFAULT_TX_POWER config to control OpenThread radio output power. 15. [nrfconnect] Introduce the WiFi connection recovery feature The WiFi connection recovery feature allows device re-scanning and re-connecting to the known WiFi network after the device's reboot and when the known SSID has not been found during the last scan. The connection recovery interval is doubled with every occurrence to the defined maximum value and then its value depends on the maximum value +- the defined random jitter. After restoring the connection, the Connection Recovery Interval is restored to the defined minimum value after elapsing of the defined delay to avoid frequent reconnections to a poor link quality network. [nrfconnect] WiFi connection recovery refinements: * simplify recovery time resetting (due to connection status reporting limitations) * remove CHIP_WIFI_CONNECTION_RECOVERY_RESET_DELAY (not needed now) * avoid duplicated recovery timeout bumps * always start the recovery with kConnectionRecoveryMinIntervalMs * fixed some edge cases and memory leaks * minor cleanup * logging refinements * Kconfig description fixes after tech writer review * Move new Kconfig definitions to the Kconfig.features Signed-off-by: Marcin Kajor <[email protected]> 16. Fixed several Wi-Fi issues * Disabled Wi-Fi/BLE coex as it was not stable and caused issues in CI tests * Increased sockets poll and net mgmt stack to fix crash on the application boot due to no space to alloc all sockets * Added generating kDnssdInitialized event after getting Wi-Fi connected event to re-start mDNS server Fix the unused variable error. This is warning propagated to an error in the CI. Signed-off-by: Marcin Kajor <[email protected]> 17. Mapped the WiFi security type from Zephyr to Matter The Security type attribute was wrongly cast in the WiFi Manager. Used switch-case-based mapping between two enum types (Zephyr-Matter) to make sure that we properly cast between two different types. * [nrfconnect] Fixed incorrect DNSSD event name In Wi-Fi platform, the obsolete kDnssdPlatformInitialized event name is used for event generation. Updated name to kDnssdInitialized. * [nrfconnect] Fixed Wi-Fi version and security getters The Wi-Fi platform uses obsolete EMBER_ZCL macros for Wi-Fi version and security getters. Replaced EMBER macros with enums from WiFiNetworkDiagnostics. * [nrfconnect] Fixed restyler diff in DiagnosticDataProviderImplNrf * [nrfconnect] Addressed code review comments * Aligned default configs * Refactored WiFiInfo struct to use SecurityTypeEnum instead of uint8_t. * Fix native_posix tests --------- Co-authored-by: Damian Krolik <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Regular update of nRF Connect SDK version to 2.3.0 including: