Commit graph

968 commits

Author SHA1 Message Date
Sylvio Alves
b12b1f6dd1 drivers: wifi: add esp32c5 support
Extend the ESP32 Wi-Fi driver to support ESP32-C5, the first
Espressif SoC with dual-band Wi-Fi 6 (2.4 GHz and 5 GHz).

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 14:53:05 -05:00
Fin Maaß
1767cd5142 net: if: use net_if_offload_set()
use the new use net_if_offload_set()
function.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-19 17:01:13 +01:00
Rex Chen
d2a8820dac drivers: wifi: nxp: Add CSI buffer configure item
Add CSI buffer entry and size configure item.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2026-03-19 15:28:53 +09:00
Fin Maaß
6c9f402c0f drivers: net: wifi: ethernet: use net_if_get_device()
use the provided net_if_get_device() function
to get the device.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-18 15:27:24 -05:00
David J. Leach, Jr.
ac7bdd8df4 drivers: wifi: winc1500: fix out-of-bounds write in winc1500_get
The winc1500_socket function returns a socket index that was only
being checked for negative error values. Coverity identified that
the index was not being verified against the upper bound of the
socket_data array, potentially leading to an out-of-bounds write.

Added an explicit check to ensure the socket index is within the
valid range [0, CONFIG_WIFI_WINC1500_OFFLOAD_MAX_SOCKETS].

Fixes #84708

Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
2026-03-16 07:26:54 +01:00
Sylvio Alves
c64a74e711 espressif: adapt to hal_espressif IDF master sync
Adapt all Espressif SoC and driver code to the updated
hal_espressif module synced with IDF master branch.

Main changes:
- clock control: delegate peripheral clock gating to HAL
  layer using new clock/reset APIs
- SPI/GDMA: adapt to restructured DMA HAL with new channel
  allocation and configuration interfaces
- ethernet: add RMII clock configuration and PHY management
- GPIO: simplify using direct HAL function calls
- flash: adapt to updated SPI flash HAL interfaces
- linker scripts: update IRAM/DRAM mappings for new HAL
  object files
- DTS: fix ESP32-S2 PSRAM dcache1 address to match actual
  MMU mapping region (0x3f800000 DRAM1 instead of 0x3f500000
  DPORT which lacks 8-bit access capability)
- west.yml: update hal_espressif revision

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-13 11:38:18 +01:00
Fin Maaß
52c254af76 net: add Kconfig option for checksum offloading
Adds a Kconfig option to detect if checksum offloading
is supported by any driver and one to activate it.

Main benefit is that `net_if_need_calc_rx_checksum()` and
`net_if_need_calc_tx_checksum()` are now inline and therefore the
compiler can optimize more, when checksum offloading is not supported.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-11 17:52:13 +00:00
Fengming Ye
922a057c1b drivers: wifi: nxp: add scheduled scan support
Add scheduled scan apis support for supplicant.
Add kconfig options to set default iteration and scheduled scan
min interval.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2026-03-09 15:02:26 -05:00
Merin George
8c2ad47c5a boards: infineon: kit_pse84_eval: enable ble support
This update configures the board to support the CYW55513 connectivity
module by enabling the required Kconfig symbols and defining the
HCI UART interface in the Devicetree

Changes:
- dts: Enable the Infineon HCI UART node with hardware flow control.
- pinctrl:  Configured UART pins (TX, RX) and hardware flow control
  pins (RTS, CTS) specifically for the Bluetooth HCI interface
- defconfig: Adjusted CONFIG_MAIN_STACK_SIZE to provide sufficient
  headroom for the Bluetooth HCI driver and event processing.
- kconfig: make AIROC_WIFI6 selection conditional on WIFI to fix
  dependency warnings in BLE-only builds.

Signed-off-by: Merin George <merin.george@infineon.com>
2026-03-06 09:57:43 +01:00
Swamidas Nampalli
0b0ba61730 drivers: wifi: siwx91x: set interface dormant on WiFi connection failure
IPv6 addresses were not being removed when WiFi connection fails
from the AP side (STATE_UNASSOCIATED). This causes stale IPv6
addresses to remain on the interface, preventing proper cleanup
and potentially causing issues on subsequent connection attempts.

Set the network interface to dormant state when STATE_UNASSOCIATED
is detected in the WiFi module stats event handler. This ensures
that IPv6 addresses are properly cleaned up during connection
failures.

Signed-off-by: Swamidas Nampalli <Swami.Das@silabs.com>
2026-03-04 11:44:31 +01:00
Hui Bai
1ea2e5be64 drivers: wifi: nxp: Reconfigure bandcfg when disabling AP
Reconfigure the bandcfg when disabling AP so that the band
configurations are match between hostapd and wifi driver.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2026-03-03 11:28:51 +01:00
Alberto Escolar Piedras
e157ddb3d2 drivers: wifi: esp_at: Fix net API use
In 55c49cdb8f wifi
drivers were changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-02-27 13:56:08 +01:00
Fengming Ye
a45507d87e drivers: wifi: nxp: add SD zero copy support
Add SDHC zero copy support for wifi.
This depends on SDHC host requirement
1. CONFIG_SDHC_SUPPORTS_SCATTER_GATHER_TRANSFER=y.
2. CONFIG_NET_BUF_DATA_SIZE to be 256 multiples.
3. CONFIG_NET_BUF_ALIGNMENT=32 (host cache line size).
4. CONFIG_NET_L2_ETHERNET_RESERVE_HEADER=y (to 4 bytes align net buffer).

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2026-02-26 08:43:11 -06:00
Gaetan Perrot
9dec7cf786 drivers: wifi: eswifi: eswifi_core: replace atoi with strtol
Replace usage of atoi() with strtol() when parsing numeric values
from ES-WIFI AT command responses.

strtol() provides well-defined behavior and allows proper error
handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-17 08:01:01 -05:00
Jukka Rissanen
e791578eef drivers: wifi: simplelink: Deprecating the driver
This offloaded wifi driver is deprecated and will be removed
in a future release. It is currently scheduled to be removed in
Zephyr 4.6. The reason for deprecation is that there is no
maintainer for this driver.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2026-02-16 12:52:48 +01:00
Jukka Rissanen
66b68c39dc drivers: wifi: winc1500: Deprecating the driver
This offloaded wifi driver is deprecated and will be removed
in a future release. It is currently scheduled to be removed in
Zephyr 4.6. The reason for deprecation is that there is no
maintainer for this driver.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2026-02-16 12:52:16 +01:00
Mandus Börjesson
7318852e25 drivers: wifi: esp32: Add power save functionality
Allow the application to enable power-saving features of the ESP32 wifi
radio using the normal networking APIs.

Signed-off-by: Mandus Börjesson <borjessonmandus@gmail.com>
2026-02-13 09:46:36 -06:00
Maochen Wang
87565f7426 drivers: wifi: nxp: fix WPA3 connection failure
For wifi embedded supplicant, use params->sae_password and
params->sae_password_length for SAE/SAE-H2E/SAE-AUTO in nxp_wifi_connect
and nxp_wifi_start_ap, as psk is NUll and psk_length is 0.
This resolves WPA3-SAE auth failures.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-02-12 09:31:18 +01:00
Stephan Linz
796482737f drivers: wifi: infineon: airoc: avoid unhandled values in switch statement
When build:

  west build -p -b rpi_pico2/rp2350a/m33/w zephyr/samples/net/wifi/shell

Warnings occur (leading to errors in Twister runs):

  .../drivers/wifi/infineon/airoc_wifi.c:749:9: warning: enumeration value
      '__WIFI_FREQ_BANDWIDTH_AFTER_LAST' not handled in switch [-Wswitch]
  .../drivers/wifi/infineon/airoc_wifi.c:749:9: warning: enumeration value
      'WIFI_FREQ_BANDWIDTH_UNKNOWN' not handled in switch [-Wswitch]
    749 |         switch (params->bandwidth) {
        |         ^~~~~~

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-10 10:52:12 +01:00
Chaitanya Tata
7f6d361473 nrf_wifi: Remove nRF71 support
The driver and module now supports nRF70 only, nRF71 support will be
added in the future using a new driver.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-02-09 11:59:17 -06:00
Jérôme Pouiller
5a3b4f91c7 drivers: wifi: siwx91x: Use sl_wifi_callback_function_v2 API
Let's get rid of deprecated sl_wifi_set_callback. The new
sl_wifi_set_callback_v2 changes the callback prototypes, but they kept the
semantic.

We also take this opportunity to slightly clean up the prototupes of the
callbacks.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
70bec9b18c drivers: wifi: siwx91x: Fix deprecated sl_wifi_performance_profile API
sl_wifi_performance_profile_t is deprecated. The migration to
sl_wifi_performance_profile_v2_t is pretty easy, so there is not reason to
delay it (in fact, the two versions only differ in binary compatibility,
the API is still compatible).

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
f4d863763c drivers: wifi: siwx91x: Fix deprecated sl_wifi_get_wireless_info() API
sl_wifi_get_wireless_info() has been renamed sl_wifi_get_interface_info().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
d0ccc26781 drivers: wifi: siwx91x: Fix sl_si91x_* names
Replace deprecated sl_si91x_* by sl_wifi_system_*.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
35516b4bdc drivers: wifi: siwx91x: Fix sli_*_ap_configuration() name
sli_save_ap_configuration() and sli_get_saved_ap_configuration() have been
renamed respectively in sli_wifi_save_ap_configuration() and
sli_wifi_get_saved_ap_configuration().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
b091b04ada drivers: wifi: siwx91x: Fix sli_get_opermode() name
sli_get_opermode() has been renamed in sli_wifi_get_opermode().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
c4b74b68b8 drivers: wifi: siwx91x: Fix sli_si91x_set_region_ap_request_t name
sli_si91x_set_region_ap_request_t has been renamed in
sli_wifi_set_region_ap_request_t.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
bceed839f9 drivers: wifi: siwx91x: Fix SLI_DEFAULT_MONITOR_INTERVAL name
SLI_DEFAULT_MONITOR_INTERVAL is no longer provided by wiseconnect.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
6a98c2457f drivers: wifi: siwx91x: Fix gcc warning
gcc complained:

.../siwx91x_wifi.c: In function 'siwx91x_status':
.../siwx91x_wifi.c:68:9: warning: 'strncpy' output may be truncated
                         copying 33 bytes from a string of length 33
                         [-Wstringop-truncation]
   68 |  strncpy(status->ssid, wlan_info.ssid, sizeof(wlan_info.ssid) - 1);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Pavel Kohout
7e84c87ed1 drivers: wifi: eswifi: return error for unsupported TLS options
The eswifi socket offload driver's setsockopt() handler returns success (0)
for TLS_HOSTNAME and TLS_PEER_VERIFY options without implementing them.
This causes applications to believe TLS hostname and peer certificate
verification is enabled when it may not be, potentially enabling
man-in-the-middle attacks.

The Inventek eS-WiFi module's default P9 setting (0=None) means no
certificate verification occurs unless explicitly configured out-of-band.

Return -ENOTSUP instead, making the limitation explicit so applications
can detect and handle unsupported TLS options appropriately.

Signed-off-by: Pavel Kohout <pavel.kohout@aisle.com>
2026-02-05 16:56:38 +01:00
Gaetan Perrot
5573edd13f wifi: nrf: remove unused local variables
Remove several local variables that are assigned but never used.

No functional change.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-04 12:53:07 -06:00
Gaetan Perrot
bef6b24918 drivers: wifi: nrf: wifi_mgmt: remove invalid range check
Remove the negative value check on bss_max_idle_period, which is
defined as an unsigned type and can never be less than zero.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-04 13:54:01 +01:00
Madhab Sharma
6ffbe8bf83 drivers: wifi: esp32: retrieve scan results iteratively
Refactor scan_done_handler to retrieve Access Point (AP) records one
by one rather than pre-allocating a large buffer for the entire list.

Previously, the driver attempted to k_malloc space for all detected APs
simultaneously. In environments with high AP density or under system
memory pressure, this allocation would often fail, resulting in no
scan results being reported.

Improvements:
- Switched to stack-allocated wifi_ap_record_t to process entries.
- Replaced esp_wifi_scan_get_ap_records with a while-loop using
  esp_wifi_scan_get_ap_record to reduce peak heap usage.
- Added esp_wifi_clear_ap_list() to ensure hardware resources are
  freed after the loop completes.
- Added warning log on unexpected scan fetch failures.

This makes Wi-Fi scanning significantly more robust in memory-constrained
scenarios.

Signed-off-by: Madhab Sharma <madhabsharma94@gmail.com>
2026-02-04 13:53:34 +01:00
Chaitanya Tata
7c1cd4c569 drivers: wifi: nrf_wifi: configure GPIO pins early during driver init
Configure all nRF70 GPIO pins (BUCKEN, VDDIO_CTRL, SR RF switch) to
OUTPUT_INACTIVE state during driver initialization to prevent floating
pins from accidentally powering the module or affecting RF switch
before the interface is brought up.

This addresses an issue where GPIO configuration was delayed until
the interface was brought up for the first time, leaving voltage control
pins floating which could result in unintended power supply.

Fixes #100993.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-02-02 14:44:30 +01:00
Liu Gavin (CSS ICW ENG WFS SW WFSW 1)
85d353d450 drivers: wifi: infineon: fix channel and bandwidth configuration
Pass the selected channel and bandwidth to WHD, so the AP
enables on the requested channel/width.

Signed-off-by: Liu Gavin (CSS ICW ENG WFS SW WFSW 1) <Gavin.Liu@infineon.com>
2026-02-02 09:59:58 +01:00
Gaetan Perrot
4f3478391a drivers: wifi: nrf_wifi: remove redundant vif_ctx_zep initialization
Fix redundant initialization of vif_ctx_zep where the variable was
initialized at declaration and immediately overwritten before being
read.

Remove the redundant initialization to improve code clarity.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-31 17:30:30 +01:00
Kevin Chan
7c1725b949 drivers: wifi: change WIFI_INIT_PRIORITY value
Wifi chip module may depend on SDHC(SDIO) module.
Currnetly, default init. priority is
CONFIG_WIFI_INIT_PRIORITY(80) & CONFIG_SDHC_INIT_PRIORITY(85).
It causes the issue.

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2026-01-28 08:30:56 +01:00
Gaetan Perrot
af7485c527 drivers: wifi: eswifi: core: make __parse_ipv4_address void
__parse_ipv4_address() never reports errors and always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-27 08:09:48 +01:00
Robert Lubos
7fe8d52901 drivers: wifi: eswifi: Validate data length on send
Verify that requested data can fit into the transmit buffer on send to
avoid out-of-bound memory writes.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-01-26 11:59:45 +01:00
Kevin Chan
0c950801d3 drivers: sdhc: add SDHC driver for PSE84 & cy8cproto_062_4343w
- add SDHC driver code to support both SDMMC and SDIO fucntion
- add SDHC dts node and Kconfig
- add clock configuration for SDHC

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2026-01-23 10:41:07 +01:00
Ibrahim Abdalkader
2a432c65a2 drivers: wifi: Use kernel heap for allocations
Use the kernel heap instead of the libc heap, improving
security and consistency.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2026-01-22 08:38:34 +00:00
Rex Chen
cbc881cc51 drivers: wifi: nxp: Add scan limit configure item
Expose scan limit configuration to customer.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2026-01-21 20:08:14 +01:00
Chaitanya Tata
6100817e34 drivers: nrf_wifi: Fix raw TX shell
When using shell the users input raw header as big-endian, so, add
support for both formats for the magic number.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-01-20 14:33:58 -05:00
Jamie McCrae
3a9189aa3e drivers: Update to use SOC_SERIES_NRF Kconfigs without X suffix
Updates usage of the old Kconfig to use the new Kconfig

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-20 13:21:38 +00:00
Sylvio Alves
f6adcad1a6 drivers: wifi: esp32: fix AP mode MAC address mismatch
When ESP32 operates in AP-only mode the network interface is
initialized with the STA MAC address, but the Wi-Fi hardware operates
with the AP MAC address (typically STA MAC + 1).

Some Wi-Fi clients correctly address frames to the AP MAC, causing them
to be dropped by the ethernet L2 layer with "Dropping frame, not for me"
because the interface link address doesn't match.

Fix this by updating the interface link address to the AP MAC when
enabling AP mode, and restoring the STA MAC when disabling AP mode.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-15 16:41:41 +00:00
Robert Robinson
212a8fe8c9 dts: arm: nordic: Add support for nRF7120
Add dts files for nRF7120 SoC.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-01-14 13:02:59 -06:00
Chaitanya Tata
23efdfe309 drivers: nrf_wifi: Implement key installation for nRF71
For nRF71 series keys should be installed via PSA-APIs (KMU).

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-01-14 09:23:16 -06:00
Tomi Fontanilles
d9b7fe379a modules: mbedtls: PKCS5: depend on, do not select MD
To avoid dependency loops.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2026-01-14 09:22:13 -06:00
Abhinav Kulkarni
b1edb19033 drivers: wifi: nxp: Added WLS support
Added configuration to enable wifi location services.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2026-01-14 09:57:28 +01:00
Muhammad Waleed Badar
ec758c9d1c drivers: wifi: esp32: use macro for mac address len
Replace magic number used for mac address lenght with
WIFI_MAC_ADDR_LEN macro

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-01-14 09:56:20 +01:00