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

[nrfconnect] Updated nRF Connect SDK to 2.5.0 #30118

Merged
merged 8 commits into from
Nov 3, 2023

Commits on Oct 31, 2023

  1. [nrfconnect] Pushed downstream patches to align with v2.5.0

    Pushed all downstream patches aligning nrfconnect platform
    to the nRF Connect SDK 2.5.0 version:
    
    * Added support for new Wi-Fi dongle board.
    
    Added enabling Wi-Fi support in Matter if nRF7002 EB is selected
    as a shield.
    
    Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
    
    * Turn off wpa_supplicant debug output.
    
    This saves ~20kB of FLASH.
    
    Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
    
    * [nrfconnect] Enable zcbor explicitly for mcuboot
    
    Mcuboot requires zcbor, so enable it explicitly, otherwise the build
    fails with latest mcuboot.
    
    Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
    
    * [nrfconnect] Align with the upstream net_if API change
    
    net_if_ipv6_maddr_join() now requires to provide a net_if pointer.
    
    Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
    
    * config: nrfconnect: Remove PSA_WANT default n setting
    
    With PSA_WANT configurations being default n then these default values
    are no longer needed for chip-module.
    
    Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
    
    * [zephyr] Add config to enable watermarks support
    
    Added a config to control enabling support for heap watermarks
    within the Zephyr platform.
    
    * Fixed Wi-Fi re-connection mechanism.
    
    Do not force the Disconnect() if the wpa_supplicant
    recovered the connection by itself.
    
    Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
    
    * Disabled BLE GATT caching
    
    This commit disables BLE Gatt caching for nRF Connect SDK platform.
    
    Signed-off-by: Duda, Łukasz <lukasz.duda@nordicsemi.no>
    
    * Enabled erasing NVS as default method
    
    This commit configures FW to erase flash pages occupied by non-volatile
    storage when a factory reset is requested, instead of removing
    Matter-related settings only.
    
    Signed-off-by: Duda, Łukasz <lukasz.duda@nordicsemi.no>
    
    * Disable shell for OpenThread and HWINFO module
    
    This commit reduces the overall memory consumption by disabling the
    OpenThread shell and HWInfo module.
    
    Signed-off-by: Duda, Łukasz <lukasz.duda@nordicsemi.no>
    
    * Align finding Python3 executable to NCS requirements.
    
    We should try to find Python3 instead of Python within cmake
    scripts.
    
    * Enable Generating Onboarding Codes by default
    
    This PR enables automatic generation of onboarding codes to the
    build directory when Factory Data feature is enabled.
    
    * Enable minimal configuration of Shell
    
    Enable minimal shell configuration to save some ROM and RAM.
    
    Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
    
    * Fixed boot reason for nRF52
    
    Recently the mechanism of nRF52 reboot type retention which is
    used in Matter has been deprecated in Zephyr and can be only
    bring back by a dedicated KConfig. Another solution (chosen) is
    to explicitly store boot reason in the retention registers for
    both nRF52 and nRF53.
    
    Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
    
    * Increased number of net sockets poll max
    
    Increased CONFIG_NET_SOCKETS_POLL_MAX from 4 to 6, as otherwise
    it resulted in bus fault during connection.
    
    Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
    
    * Remove recovery mechanism for Wi-Fi connection
    
    Currently, the Wi-Fi driver supports the recovery mechanism and it
    seems that it works properly so we can remove our recovery mechanism
    when the connection is lost. Apart from losing the network,
    we need to leave the recovery mechanism to work after the device's
    reboot because we need to scan periodically to find a known network.
    
    * Increase the maximum number of prefixes to match
    the maximum number of IPv6 addresses per interface.
    
    Zephyr ipv6_nbr implementation requires the given address
    to have a matching prefix set on the interface. Otherwise,
    the default router is used for sending neighbor advertisement
    and as a result, in case there are multiple routers in the network,
    the packet can be sent to the invalid interface (not the one which
    issued neighbor solicitation).
    
    Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
    
    * [nrfconnect] Enable NVS lookup cache settings optimization
    
    By default, use the lookup cache hash function optimized
    for NVS used as the settings backend. This assumes that
    a user application uses Zephyr settings API and does not
    write to the NVS directly.
    
    * Disable nRF70 driver logs verbosity by default.
    
    This aims to keep memory footprint after this config is
    enabled by default in NCS.
    
    Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
    
    * Disabled BLE 2M PHY due to interoperability issues
    
    There were some interoperability issues discovered due to
    BLE PHY dynamic changes from 1M to 2M. The 2M was disabled
    to ensure the interoperability with some of the BT controllers.
    
    Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
    
    * Disabled Wi-Fi logs to save flash
    
    Recently some new Wi-Fi logs were enabled by default.
    These need to be disabled to decrease memory footprint.
    
    Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
    
    * [nrfconnect] Fixed door lock feature map
    
    Door lock sample has incorrect feature map value, because it
    is hardcoded in cpp file, instead of using the value generated
    from the .zap file.
    
    * [nrfconnect] Fixed window covering attributes default values
    
    Implemented post cluster init callback to set null values to 0,
    if any other value was not saved in NVS.
    
    * [nrfconnect] Disabled BOOT BANNER for release configuration
    
    * Align codebase with the new callback format
    
    Align NCS codebase with the new struct mgmt_callback format.
    
    * Restore IPC thread priority in Matter samples
    
    We noticed that IPC priority on nRF5340 is not set by default.
    We need to set it in DTS to be sure that the IPC thread does not
    collide with other threads.
    
    * Enable build with the factory data support.
    
    This PR enables factory data generation and usage by default in
    all NCS Matter samples.
    
    * Fix missing mcumgr header
    
    Header img_mgmt.h added to source file.
    
    * Forced using minimal libc for mcuboot image
    
    Minimal libc selection has to be forced for all Matter-related
    mcuboot builds. Otherwise the picolib is enabled and image
    size increases by several k, so it cannot fit in the dedicated
    partition.
    
    * Add bootutil for image definitions
    
    Adds building bootutil, when DFU with MCUmgr is enabled, for
    application image definitions.
    
    * [zephyr] Track number of enqueued platform events
    
    Add a new system statistic for tracking the number of
    enqueued platform events and update it in Zephyr platform.
    
    Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
    
    * Optimize RAM usage
    
    - Reduce number of network buffers and packets
    This commit reduces the number of network buffers and packets used by
    the nrfconnect platform.
    
    - Add support for printing mbedTLS heap
    This commit adds support for printing the peak usage of mbedTLS heap.
    
    - Reduce number of Matter stack packet buffers
    This commit reduced the number of available Matter's packet buffers to
    8 which affects RAM usage.
    
    - Introduce KConfig option to enable RAM profiling
    
    This commit introduces the KConfig option that enables a set of
    features useful for profiling the RAM memory.
    
    - Disable SSL server support for Matter
    
    This commit dissables unused support for SSL server.
    
    - Reduce size of platform event queue
    
    This commit overwrites the default size of platform event queue and
    sets it to 64.
    
    - Reduce mbedTLS heap and OpenThread stack sizes
    
    This commit reduces the mbedTLs heap and OpenThread stack sizes when
    Joiner role is enabled by not used (case of OT libraries).
    
    - Reduce kernel heap size for Matter over Wi-Fi
    
    This commit aligns the default heap size to the value used in the
    Shell example.
    
    - Optimize buffer usage of nRF700X driver for Matter
    
    Matter device does not need to operate as high-performance STA, and so
    this commit reduces the default number of buffers. As a result the heap
    used by the supplicant may be significantly reduced.
    
    - Added the missing conditions to HEAP configs.
    
    Decrease stack sizes according to the peak results
    
    Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
    Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
    
    * Increase stability of Wi-Fi LPM operations
    
    This commit increases number of TX Tokens to the previous value of 10
    to prevent RPU stalls.
    
    Additionally it was observed that 500ms delay before executing factory
    reset is too small for certain situations on Wi-Fi. This commit also
    increases this delay to 1s.
    
    Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
    kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    88dff64 View commit details
    Browse the repository at this point in the history
  2. [openthread] Aligned to CSL method API changes

    With the most recent OpenThread version, the API for CSL methods
    changed, so it had to be aligned in the Matter SDK.
    
    Added alternative implementation depending on the OpenThread
    API version.
    kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    967b044 View commit details
    Browse the repository at this point in the history
  3. [nrfconnect] Updated nRF Connect SDK to 2.5.0

    Updated nRF Connect SDK version to 2.5.0 and updated all docker
    images version to the 24.
    kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    547bf78 View commit details
    Browse the repository at this point in the history
  4. Restyled by whitespace

    restyled-commits authored and kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    acb6291 View commit details
    Browse the repository at this point in the history
  5. Restyled by clang-format

    restyled-commits authored and kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    356b626 View commit details
    Browse the repository at this point in the history
  6. [shell] Fixed wrong condition for mbedtls include

    Changed if defined() to if statement to fix missing mbedtls
    header file for platforms using CHIP_CRYPTO_MBEDTLS = false
    kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    c8320be View commit details
    Browse the repository at this point in the history
  7. [nrfconnect] Disabled factory data for all clusters app

    The default prj.conf build does not use partition layout with
    factory data partition included, so the factory data support
    has to be disabled.
    kkasperczyk-no committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    9df56c0 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Addressed review comments

    * Moved MINIMAL_LIBC config to mcuboot defaults
    * Brought back setting lock feature map, but changed the value
    from 0x101 to 0x181 (added COTA support)
    
    Additionally fixed Zephyr unit tests:
    * Changed main return type from void to main for Zephyr unit tests
    runner.
    * Added decreasing pool size conditionally to not affect tests
    * Fixed exiting the tests to prevent abort.
    kkasperczyk-no committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    ed91a79 View commit details
    Browse the repository at this point in the history