Commit graph

789 commits

Author SHA1 Message Date
Nitin Pandey
efd9519c0a drivers: wifi: siwx91x: Fix MFP bug in wifi status
- Extracting MFP from security mode
  instead of join feature bitmap

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-05-26 14:17:30 +02:00
Nitin Pandey
67ff90d945 drivers: wifi: siwx91x: Fix bssid value in wi-fi status
- changed the BSSID value in siwx91x_status
  from STA MAC address to MAC address of
  connected AP

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-05-26 14:17:30 +02:00
Muzaffar Ahmed
f489670cfb drivers: wifi: siwx91x: Add twt_retry_interval
Added twt_retry_interval (set to 5, the minimum required value by 917)

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-26 14:17:15 +02:00
Ibrahim Abdalkader
a4b9e71ab2 drivers: wifi: Add WiFi drivers for ESP hosted firmware.
This is a host driver for ESP32 chips running the esp-hosted
firmware, which turns ESP32s into a WLAN/BT co-processor.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-05-26 14:17:10 +02:00
Jérôme Pouiller
d7f1c0ad5f drivers: wifi: siwx91x: Add support for Enhanced Legacy Power Save
Siwx91x support a specific mode slightly better than the old legacy PS
mode.

This mode has to be set on the NWP boot, so it is not easy to configure
it during the runtime. Hence, this patch only provide a compile time
option to enable it.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-23 17:20:34 +02:00
Jérôme Pouiller
c3ce29eb81 drivers: wifi: siwx91x: Add support for get_power_save_config()
We can now implement the get_power_save_config() callback.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-23 17:20:34 +02:00
Arunmani Alagarsamy
adae16812e drivers: wifi: siwx91x: Add support for set_power_save()
Added power-save mode support to optimize station wake-up timing
and reduce power consumption. The device currently supports
only legacy power-save mode.

This feature can be tested using the Wifi shell:
  - ps: Enable the PS. By default, the device operates in fast
        PSP mode.
  - ps_exit_strategy: Updates mode if enabled; otherwise, follows
        the configured exit strategy when power-save is enabled.
  - ps_wakeup_mode: Configures the wake-up behavior.
  - ps_timeout: Defines the timeout duration for power-save mode.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-23 17:20:34 +02:00
Arunmani Alagarsamy
88846ddc81 drivers: wifi: siwx91x: Add Wi-Fi mgmt events
- Implement event handling for AP and STA modes
- Enable configurations for security (PSK), aggregation,
  and hidden PSK credentials

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-20 15:24:06 +02:00
Arunmani Alagarsamy
4c1a91fa63 drivers: wifi: siwx91x: Enable AP configuration support
- Adds support for configuring client maximum inactivity timeout.
- Adds support for bandwidth, It supports 20MHZ only.
- Adds support for setting the maximum number of clients and
  hidden SSID mode by rebooting the NWP device.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-20 15:24:06 +02:00
Arunmani Alagarsamy
0459bd8638 drivers: wifi: siwx91x: Replace opermode flags
Replaced SL_SI91X_CLIENT_MODE and SL_SI91X_ACCESS_POINT_MODE with
WIFI_STA_MODE and WIFI_SOFTAP_MODE, respectively, for AP configuration
command intergration.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-20 15:24:06 +02:00
Arunmani Alagarsamy
c8a29b3038 drivers: wifi: siwx91x: Add interface state validation
This patch introduces validation checks to ensure Wi-Fi commands are
executed only when the device is in a valid operational mode.

- Restricts command execution if the device is not in an appropriate mode
- Prevents reconfiguring the device when it is already in an active state
- Enabled Advanced multiprobe setting as default.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-20 15:24:06 +02:00
Anas Nashif
2aacbcaab5 style: add missing curly braces in if/while/for statements.
Add missing curly braces in if/while/for statements.

This is a style guideline we have that was not enforced in CI. All
issues fixed here were detected by sonarqube SCA.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-05-17 14:10:33 +02:00
Muzaffar Ahmed
2a1b754779 drivers: wifi: siwx91x: Enable roaming by default
Set the default value for WIFI_SILABS_SIWX91X_ENABLE_ROAMING to y in
Kconfig.siwx91x

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-15 16:16:54 +02:00
Muzaffar Ahmed
d6e106b5f0 drivers: wifi: siwx91x: Introduce flag for LIMIT_PACKET_BUF_PER_STA
Introduced WIFI_SILABS_SIWX91X_LIMIT_PACKET_BUF_PER_STA.
This flag limits packet queues in AP mode.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-15 16:16:54 +02:00
Muzaffar Ahmed
951d60dcbc drivers: wifi: siwx91x: Add support for TWT
- Implemented `siwx91x_set_twt_setup` and `siwx91x_set_twt_teardown` for
  handling TWT setup and teardown requests.
- Added validation for TWT parameters, including negotiation type,
  device state, and operation type.
- Integrated TWT functionality into the `wifi_mgmt_ops` structure for
  seamless management via the Zephyr Wi-Fi API.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-15 14:08:37 +02:00
Jordan Yates
81c4e80420 wifi: nrf_wifi: don't block workqueue in RPU recovery
Don't block the system workqueue for 2 seconds (default value) when
attempting to perform RPU recovery. The system workqueue is a shared
resource which should not be blocked for significant periods of time.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-05-15 11:18:37 +02:00
Jérôme Pouiller
31646fd06e modules: hal_silabs: Update WiseConnect SDK
Import the new version of the WiseConnect SDK.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-14 19:36:07 +02:00
Gregor Copoix
3da78086ae driver: wifi: esp32: fix send data for AP_STA mode
Fixes the check for connected interface if CONFIG_ESP32_WIFI_AP_STA_MODE=y
(different data objects for STA (esp32_data) and AP (esp32_ap_sta_data)).
As the correct data object is linked to device object, we can check for
ESP32_STA_CONNECTED or ESP32_AP_CONNECTED in dev->data.
This fixes AP mode in samples/net/wifi/apsta_mode if STA WIFI_SSID/WIFI_PSK
are invalid and no STA connection can be established before
(samples/net/wifi/apsta_mode/src/main.c#L28-L29) for all ESP32 derivates.

Fixes false check from 183b74c558

Signed-off-by: Gregor Copoix <gregor.copoix@ithinx.io>
2025-05-13 22:20:29 -04:00
Arunmani Alagarsamy
dd1bfa4eb9 drivers: wifi: siwx91x: Fix default scan time handling
The commit `1f73ca3` clarified that a scan time of 0 should be used to
apply the default scan timeout, as opposed to using
SL_WIFI_DEFAULT_ACTIVE_CHANNEL_SCAN_TIME, which incorrectly results in
a 65-second timeout.

However, this fix was unintentionally omitted in commit `bf22b61`
when the `sl_si91x_configure_timeout()` function was relocated.

This commit restores the behavior.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-07 13:32:04 +02:00
Arunmani Alagarsamy
89d6068504 drivers: wifi: siwx91x: Add param change handling for STA and AP modes
Implemented logic to detect changes in key Wi-Fi parameters (SSID, PSK,
security, channel) and disable the interface accordingly. For STA mode,
the driver disconnects before reconnecting with updated parameters. For
AP mode, it disables and re-enables the AP if changes are detected.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-07 13:32:04 +02:00
Arunmani Alagarsamy
98e72e9ed6 drivers: wifi: siwx91x: Relocate driver functions
Relocate the functions siwx91x_status(), siwx91x_disconnect(), and
siwx91x_ap_disable() to improve code structure and accessibility. This
reorganization prepares the codebase for upcoming integration of
connection and AP enable logic that handles parameter differences.

No functional changes are introduced in this commit.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-05-07 13:32:04 +02:00
Joakim Andersson
995440b706 drivers: modem: Use modem command send_data_nolock
Use the new modem command send_data_nolock function where it was
previously just written directly to the interface.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2025-05-06 18:24:01 +02:00
Chaitanya Tata
3953bb9ce3 nrf_wifi: Add nRF71 support
nRF7120 PDK support that uses IPC as comms b/w APP and Wi-Fi domains.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-05-06 15:32:11 +02:00
Pieter De Gendt
faec7c5ae9 drivers: wifi: nxp: Select EVENTS
The driver uses k_event objects and needs to select the EVENTS kconfig
option.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-05-02 10:40:38 +02:00
Nazar Palamar
085b216e75 drivers: wifi: AIROC: update connect\scan api
- Updated airoc_mgmt_connect to be able use security provided
  by user (params->security). If it is not passed, we will perform
  scan ssid to detect secure type.

- Fix convert_whd_security_to_zephyr() with correct corresponding
  whd_security_t to zephyr security type.

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2025-04-30 13:59:50 +02:00
Nazar Palamar
c9ffcac8a7 drivers: wifi: AIROC: add support of new devices
- add support Wi-Fi Host Driver (WHD) 4.2.1
- add Country configuration from Kconfig

Support new devices:
 -- CYW43022
 -- CYW55500 (WIFI6)
 -- CYW55572 (WIFI6)

Support new modules:
 -- CYW43022CUB
 -- CYW955573M2IPA1_SM
 -- CYW955513SDM2WLIPA_SM
 -- CYW4373_MURATA_2BC
 -- CYW4373_MURATA_2AE
 -- CYW43439_STERLING_LWBPLUS

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
2025-04-30 13:59:50 +02:00
Abhinav Kulkarni
bbeb01d325 boards: nxp: mimxrt1060_evk: Added support for IW612 and IW416 SoCs
- Added separate overlay conf files for wifi IW416 and IW612 SoCs.
- Added overlay debug conf file for nxp wifi needed to enable debug logs.
- Added additional configurations for module's region selection.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-04-29 08:16:46 +01:00
Fin Maaß
3a195a08da drivers: net: ethernet: change ETHERNET_LINK_*BASE_T
change ETHERNET_LINK_*BASE_T to ETHERNET_LINK_*BASE.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-28 09:22:09 +01:00
Kapil Bhatt
951a321c89 drivers: nrf_wifi: Add locally generated info
Add locally generated info for deauth process. If deauthentication
frame is coming from AP it will be set, in other cases
(Beacon loss, New connection from user in connected state,
disconnection from user) flag will not be set.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-04-24 22:58:33 +02:00
Chaitanya Tata
49a8dd51e4 nrf_wifi: Move QSPI defines to buslib
These are QSPI related which is part of buslib.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-24 16:54:27 +02:00
Chaitanya Tata
9c7e8ba679 drivers: nrf_wifi: Move AP mode depedency to LPM
Recovery only needs LPM, rest dependencies come through LPM, so, move
them to the source.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-23 15:00:27 +02:00
Chaitanya Tata
52c156a53d drivers: nrf_wifi: Disable LPM for radio test
This is only meant for operational modes not test modes.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-23 15:00:27 +02:00
Jordan Yates
86385590c2 wifi: nrf_wifi: net_if: allocate memory before mutex
Allocate the memory in `nrf_wifi_if_send` *before* taking the nrf70
global mutex. This prevents the function from deadlocking the
application if attempting to send under memory-pressure, since many of
the memory release paths also happen under the global mutex.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-22 10:00:19 +02:00
Jukka Rissanen
f1c83bca8f drivers: nxp: wifi: Disable softap mode by default
Do not enable CONFIG_NXP_WIFI_SOFTAP_SUPPORT by default as
that should be let for the user to decide whether the AP
mode is compiled or not.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-16 20:36:37 +02:00
Ravi Dondaputi
ba5b897cb6 wifi: nrf_wifi: Add control pool specific APIs
Memory allocations in HAL are using data pool. These operations
are in control plane. Add APIs for allocation/free operations on
control pool.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-04-16 14:51:59 +02:00
Chaitanya Tata
5293155588 drivers: nrf_wifi: Fix log level of a print
This is just for developers, so, convert to a debug.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-16 01:10:37 +02:00
Chaitanya Tata
37d774e908 drivers: nrf_wifi: Fix co-ex configs
They all depends on main COEX feature flag.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-16 01:10:37 +02:00
Jordan Yates
6c989dee10 wifi: nrf_wifi: add alignment requirement to buffers
The nRF lower levels (`spim_addr_check` and `qspi_addr_check`) do
address alignment validation before sending or receiving data. If the
buffer sizes are not aligned, errors like this are printed to the
console when the interface is powered up.

```
<err> : spim_addr_check : Unaligned address ee0b2 2002b020 1 0 0
<err> : spim_addr_check : Unaligned address eeb3e 2002bb40 1 0 0
<err> : spim_addr_check : Unaligned address ef5ca 2002c660 1 0 0
<err> : spim_addr_check : Unaligned address f0056 2002d180 1 0 0
```

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-15 09:28:44 +02:00
Nitin Pandey
50e36095dd driver: wifi: siwx91x: Add roaming configuration
- Defined Kconfig macros for Roam config
- Added set roam configuration API call
  after BGSCAN

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-14 23:06:20 +02:00
Nitin Pandey
bf22b61540 driver: wifi: siwx91x: Implement scan dwell time
- Verified and configured scan
  dwell time for active, passive
  and advance scan

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-14 23:06:20 +02:00
Nitin Pandey
4c5dd7384b driver: wifi: siwx91x: Add support for BG Scan
- Added support for background scan
  and configured the default values
  of BG scan configuration

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-14 23:06:20 +02:00
Chaitanya Tata
5f67471532 drivers: nrf_wifi: Fix SR co-ex RF switch configuration
This was not getting enabled because label was passed instead of path
and dependency was not met.

Fix the DT function to use label.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-10 18:02:28 +02:00
Chaitanya Tata
260c4f6878 drivers: nrf_wifi: Extend the help on modes
These nRF70 driver operational modes are important, so, extend the help
to clearly communicate the mode's purpose.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-10 18:02:20 +02:00
Nitin Pandey
2b8af597ce driver: wifi: siwx91x: Handle MFP configuration
- Handled MFP configuration for STA and AP modes
- Updated the MFP configuration based on security modes

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-09 19:32:26 +02:00
Nitin Pandey
0259bf56c8 driver: wifi: siwx91x: Add check for SAE password
- Modified conditions in WIFI_CONNECT()
  function to reject SAE password and
  PSK based on length parameter

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-09 19:32:26 +02:00
Maochen Wang
293f51f3b4 drivers: wifi: nxp: change the default configuration
NET_L2_ETHERNET should be enabled by default.
NXP_WIFI_SHELL should be enabled by default when SHELL is enabled.
NXP_WIFI_TX_RX_ZERO_COPY should not be enabled by default for RW612,
as it has special requirement for NET_BUF_DATA_SIZE.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-04-08 17:36:39 +02:00
Sachin D Kulkarni
b3958717f7 drivers: nrf_wifi: Move util to nrf70 shell
Move the wifi_util to the newly created nrf70 shell as a sub-shell.

Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
2025-04-08 14:23:21 +02:00
Sachin D Kulkarni
ceead4eb0a drivers: nrf_wifi: Add debug shell
Add a debug shell to the driver to provide advanced debug support such
as reading/writing to RPU memory and registers etc.

Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
2025-04-08 14:23:21 +02:00
Ravi Dondaputi
429bf84542 wifi: nrf_wifi: Adjust default heap size for driver init failures
Reconfigure DATA heap sizes to fix the driver init failures.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-04-03 17:48:28 +02:00
Arunmani Alagarsamy
d5b2507a13 drivers: wifi: siwx91x: Add Wi-Fi version command support
Add support for the Wi-Fi version command to retrieve
the Wi-Fi firmware and driver version information.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-04-03 13:15:55 +02:00