[nrfconnect] Update nRF Connect SDK version to 2.4.0 (#27010)
* [nrfconnect] Updated nRF Connect SDK to 2.4.0
Bumped recommended nRF Connect SDK version to 2.4.0
and included several bug fixes and improvements:
1. Extend the connection request log with RSSI.
This comes in handy especially during tests related to TX/RX power.
Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
2. Support disabling Wi-Fi LPM during the OTA DFU.
Added subclass of OTAImageProcessorImpl whcih implements Wi-Fi
specific optimization for LPM which should be disabled during OTA
due to the high throughput requirements. This allows applications
to use the OTAImageProcessorImplWiFi to do the job.
Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
3. Provide configs for Matter NUS feature
Matter NUS feature allows to add of BLE Nordic UART Service and
register commands which allow controlling the Matter device via
BLE.
This can be useful when the device loses connection with a
Matter Controller but it should be controlled in another way
for e.g. a Door Lock.
4. FactoryDataProvider: align the fprotect memory block
Due to the smallest atomic SPU block (16k for nRF53)
which can be protected we need to calculate proper
offsets to include factory data partition.
Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
5. nrfconnect: migrate to new MCUmgr Kconfig options
Migrate to new MCUmgr Kconfig options using:
$ZEPHYR_BASE/scripts/utils/migrate_mcumgr_kconfigs.py
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
6. Added IMAGE_ACCESS_HOOKS config to nRF53 config set
CONFIG_IMAGE_ACCESS_HOOKS is required for nRF53 to confirm
image during DFU over BLE after the changes provided by the
recent Zephyr's upmerge.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
7. Changed WPA SUPP logs level to error
* Changed default log level to error
* Changed WPA supplicant log levet to error. This is a workaround
and it will be removed once default log levels fix to Zephyr will
be merged.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
8. Fixed dependencies for CHIP_DFU_OVER_BT_SMP kconfig
Some Kconfigs selected by the CHIP_DFU_OVER_BT_SMP have unmet
dependencies.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
9. Set BLE connection to 1 for NUS
We decided to work with single BLE connection when NUS is active.
10. Repair a path within error messages in FD ptyhon script
Two paths were set wrongly in the factory data python script.
11. Fixed system workqueue stack overflow for Wi-Fi
After failing to connect to the Wi-Fi network (e.g. due to bad
password) the application falls into stack overflow.
Increased the stack size to handle the connection failure
properly.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
12. Disable bonding for NUS
Matter NUS should require providing a PIN code before each
pairing, so we do not want to store anything in persistent storage
and we should disable the Bluetooth LE bonding feature.
13. Disable unnecessary assert information
Limit assert information for Matter applications to file name and
file number.
Signed-off-by: Lukasz Duda <lukasz.duda@nordicsemi.no>
14. Introduce workaround to Wi-Fi connection recovery
It was observed that sometimes WPA supplicant may stuck in the
reconnection process. This change introduces a workaround and
fixes for existing recovery mechanism:
* Changed is-Recovery-Aborted approach to is-Recovery-started.
* Distinguished disconnects requested by the application from the
disconnects coming from the supplicant.
* Added scheduling recovery procedure if supplicant was not able
to re-connect to the network for given amount of time (60 s).
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
15. Adapt WiFiManager to the new wifi_ps_config API
The wifi_ps_config has been extended in Zephyr so this patch
is need to avoid build errors.
Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
16. Integrated new Wi-Fi disconnect completed event
Integrated handling new Wi-Fi disconnect completed event,
what should fix occassional failures observed during connection
recovery.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
17. Fixed nRF7002 EK shield kconfig name
Due to introduction of new nRF7002 shields, the nRF7002 EK shield
kconfig name was changed and we have to align our configuration.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
18. [nrfconnect] Use default number of RTC channels
The default number of RTC channels on nRF5340 was increased
from 2 to 3 some time ago, but Matter applications are still
built with 2 user channels. This causes that CSL transmitter
does not work properly on Matter Thread Router devices.
19 Add a workaround to WiFi recovery
During the recovery procedure, if the net_mgmt function returns
the value "-16" the device cannot recover the WiFi network
until the reboot is called.
This workaround allows the device to try to rescan the WiFi
network even if the net_mgmt function returned an error.
This workaround works only, when the WiFi recovery mechanism
is active.
20. moved bt_fixed_passkey config to the features set
BT_FIXED_PASSKEY cannot be added to prj_release.conf file because
it causes a CMAKE warning. The config has been moved to
the Kconfig.feature file.
Fix the build warning in door-lock-server
This fixes the uninitialized variable warning appearing
when compiling the door lock app.
Signed-off-by: Marcin Kajor <marcin.kajor@nordicsemi.no>
21. Fixed nrf7002 kconfig name again
nRF7002 EK kconfig name changed once again, so we need to align
our kconfigs to that.
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
* [zephyr] Remove device argument from SYS_INIT() callbacks.
The SYS_INIT() callback API changed in Zephyr and Matter code
alignments were needed.
* [nrfconnect] Stop using Zephyr POSIX layer
After recent changes in Zephyr, the Zephyr POSIX layer
no longer includes missing POSIX definitions from the
standard library. Given that and that the Zephyr POSIX
layer is very incomplete, it is no longer possible to
build Matter samples using that layer.
Disable Zephyr socket layer, and use NET_SOCKETS_POSIX_NAMES
which only wraps the socket functions with POSIX names.
Make sure that proper headers are included when using this
configuration.
* [nrfconnect] Removed obsolete MCUMGR SMP BT config
Replaced CONFIG_MCUMGR_SMP_BT that is no longer supported
with the CONFIG_MCUMGR_TRANSPORT_BT
* Addressed review comments
* Added CHIP_NRF_PLATFORM symbol to conditionally modify generic
Zephyr configuration
* Updated docker versions for cloud builds
* Updated sdk-zephyr toolchain version to 0.16.0 in build scripts
for nrf platform.
* Restyled by whitespace
* Restyled by clang-format
* Restyled by gn
* Fixed chef CI workflow
* Fixed compilation errors
* Fixed typo in wake event
* Removed ifdef leading to compilation errors for Darwin and Linux
and added ifdef for usleep usage that is a root cause of problems
on Zephyr.
* Fix more compilation errors
* [chef] fixes to Zephyr environment variables
1. Use Zephyr SDK toolchain.
2. Use proper shell configuration.
---------
Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
Co-authored-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/src/inet/ZephyrSocket.h b/src/inet/ZephyrSocket.h
index 56cc9dc..93e4c05 100644
--- a/src/inet/ZephyrSocket.h
+++ b/src/inet/ZephyrSocket.h
@@ -23,7 +23,13 @@
#pragma once
-#include <sys/socket.h>
+#if CHIP_SYSTEM_CONFIG_USE_POSIX_SOCKETS
+#include <sys/select.h>
+#endif
+
+#if CHIP_SYSTEM_CONFIG_USE_ZEPHYR_SOCKETS
+#include <zephyr/net/socket.h>
+#endif
static inline ssize_t recvmsg(int sock, struct msghdr * msg, int flags)
{