Commit Graph
60 Commits
Author SHA1 Message Date
Sarvesh Bodakheandyinqingzhao c74773c091 fix(wifi): Avoid writing to NVS if station configuration is not changed
Fixes the regression introduced by f8b1c0976a

Co-authored-by: yinqingzhao <yinqingzhao@espressif.com>
2025-04-19 17:33:39 +05:30
Sarvesh Bodakhe f8b1c0976a fix(wifi): Fix wrong PMKSA cache entry being used when wifi password is changed 2025-04-06 15:21:56 +05:30
Sarvesh Bodakhe f86473e255 fix(wifi): Resolved WPS connectivity issue with pre-connected stations
This fixes the issue where station was not able connect using WPS if it was
already in connected state.

wifi_wps_scan_done() issues an esp_wifi_disconnect() before
calling esp_wifi_connect() to associate with the newly discovered AP. This
behavior incorrectly triggered a failure event (WIFI_EVENT_STA_WPS_ER_FAILED)
even though the disconnection was part of the normal WPS flow. This commit
prevents sending the false failure event, ensuring expected WPS behavior.
2025-03-10 14:58:12 +05:30
Sarvesh Bodakhe 03e9656ce0 docs: Add migration guide for WPA3-Enterprise authentication modes for v5.4 2025-02-21 16:58:04 +05:30
Sarvesh Bodakhe 0a33f8fda0 fix(wifi): Fix crash when failure_retry_cnt is set in station config
Fixes the regression introduced by 21c2bef602
2025-02-19 10:48:43 +08:00
Sarvesh Bodakhe b565bbdbab fix(wifi): Fix stack overflow when failure_retry_cnt is set
Fix issue of increased stack usage when failure_retry_cnt is set
and wifi driver internally retries connection attempts
2025-02-19 10:48:43 +08:00
Sarvesh Bodakhe e789554997 fix(wifi): Fix bug in authmode detection for wpa2/wpa3 enterprise
WPA3-Enterprise mandates the use of AKM suite selector
00:0F:AC:5 (IEEE80211 802.1X with SHA-256)
2025-01-20 14:18:51 +08:00
Sarvesh Bodakhe 716c5731ec feat(wpa_supplicant): Add WIFI_EVENT_AP_WRONG_PASSWORD in SoftAP
This event is triggered when external station tries connecting to softAP
with wrong password.

Currently supported softAP AUTH modes: WPA-PSK, WPA2-PSK and WPA3-PSK (SAE-auth)
2025-01-15 19:42:11 +05:30
Sarvesh Bodakhe a01a3751f2 Merge branch 'bugfix/softap_wrong_disconnect_reason_code' into 'master'
fix(wifi): Fix wrong reason code used when softAP issues a disconnect for station

Closes WIFIBUG-454

See merge request espressif/esp-idf!33220
2024-10-21 19:01:46 +08:00
Sarvesh Bodakhe 6797c86135 fix(wifi): Fix wrong wifi reason codes reported on station and softAP
- Fix wrong reason code reported when softAP issues a disconnect for station
- Fix wrong reason code reported when association timeout happens at station
- Deprecate enums WIFI_REASON_ASSOC_EXPIRE, WIFI_REASON_NOT_AUTHED, WIFI_REASON_NOT_ASSOCED
  and use WIFI_REASON_DISASSOC_DUE_TO_INACTIVITY,
  WIFI_REASON_CLASS2_FRAME_FROM_NONAUTH_STA,
  WIFI_REASON_CLASS3_FRAME_FROM_NONASSOC_STA respectively
- Update wifi documentation related to reason codes
2024-10-21 11:31:17 +08:00
Sarvesh Bodakhe 61a13d7e3b fix(wifi): Add support to recongize different WPA3 Authentication modes from specs
Add support  to recognize APs supporting 'WPA3-Enterprise-Only Mode' and
'WPA3-Enterprise-Transition Mode' using authmodes WIFI_AUTH_WPA3_ENTERPRISE
and WIFI_AUTH_WPA2_WPA3_ENTERPRISE, respectively.
2024-10-17 11:12:29 +05:30
Sarvesh Bodakhe 1acf446369 Merge branch 'fix/add_wifi_public_header_checksums' into 'master'
feat(wifi/coex): Add integrity check for public headers files for esp32c5, esp32c61 and esp32_host

See merge request espressif/esp-idf!33932
2024-10-09 23:49:12 +08:00
Sarvesh Bodakhe 8b4ebea872 ci: Add md5 checksum validation for COEX public header files for new chips
Add MD5 checksum validation for public header files of the following new chips:
esp32c5 and esp32c61.
2024-10-09 23:11:09 +08:00
Sarvesh Bodakhe 5cab997c15 ci: Add md5 checksum validation for WiFi public header files for new chips
Add MD5 checksum validation for public header files of the following new chips:
esp32c5, esp32c6, and esp32_host.
2024-10-09 23:11:09 +08:00
Sarvesh Bodakhe 2d6188ea76 feat(wifi): Add checks for public headers for esp32c5, esp32c61 and esp32_host
Add md5sum integrity check for public header files for esp32c5, esp32c61
and esp32_host libraries.
2024-10-09 23:11:09 +08:00
Sarvesh Bodakhe 9ebfd93c5d fix(wpa_supplicant): Fix debug print in wps_start_msg_timer() 2024-10-07 16:31:43 +05:30
Sarvesh Bodakhe 463149cad2 fix(wifi): Fix bug in wrong profile checking of AP's RSNXE IE 2024-10-07 16:31:43 +05:30
Sarvesh Bodakhe 5a1dd12513 fix(wifi): Do not try re-connection when sta disconnects with esp_wifi_disconnect()
Do not follow wifi_config::wifi_sta_config::failure_retry_cnt logic when
station itself issues a disconnect from AP/Router using
esp_wifi_disconnect()
2024-09-30 17:04:01 +05:30
Sarvesh Bodakhe 3fbd7eb80b fix(wifi): Free scan configuration after use when channel bitmap is used 2024-07-17 17:34:02 +05:30
Sarvesh Bodakhe 20a3be5191 fix(wpa_supplicant): Avoid delaying removal of wps enrollee by 10ms
This is no longer needed as eloop timers are now executed in wifi task context.
2024-07-11 14:53:27 +05:30
Sarvesh Bodakhe 54e61fbb97 fix(wpa_supplicant): Handle case when WPS registrar misses WSC_DONE sent by station
When registrar somehow misses the WSC_DONE sent by station and station
goes for next connection after sending deauth, make sure that softAP
disables the registrar.
2024-07-11 14:53:24 +05:30
Sarvesh Bodakheandjgujarathi ac508b5778 fix(wifi): Fix issue of supplicant using wrong parameters to configure bss
- Ensure that wpa_supplicant's state machine registers the requirement for rsnxe
  before deciding to add rsnxe to a assoc request.

Co-authored-by: jgujarathi <jash.gujarathi@espressif.com>
2024-07-01 15:32:45 +05:30
Sarvesh Bodakhe 205fa4fa6e fix(wifi): Fix station PMF issue
Fix issue of station PMF not getting reset when disconnecing from PMF connection
2024-06-18 13:32:07 +05:30
Sarvesh Bodakhe 4cde0246a6 fix(wifi): Add back WIFI_AUTH_WPA3_EXT_PSK and WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE
Add back above authmodes instead of removing and merging them with WIFI_AUTH_WPA3_PSK
in minor releases during v5.x.

These authmodes will be removed from v6.0
2024-05-30 19:16:45 +05:30
Sarvesh Bodakhe 6f966dd0ee fix(esp_wifi): Add some bugfixes and cleanup in softAP
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event
2. cleanup in softAP for disconnecting connected station
3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
2024-05-19 00:52:59 +05:30
Sarvesh Bodakhe bc63f1e7fa fix(wifi): Fix issue of wrong Rx control information of espnow packets
Only for esp32 and esp32s2
2024-05-08 17:11:34 +05:30
Sarvesh Bodakhe 2700b750b6 fix(wifi): Fix issue in scan when AP advertises WPA and WPA2 with SAE AKM 2024-05-06 11:43:27 +05:30
Sarvesh Bodakhe d97c8ed1b1 fix(wifi): Add bugfix to avoid RSNXE and KDE mismatch during 4-way-handshake 2024-04-16 19:49:28 +05:30
Sarvesh Bodakhe 72f0c47526 fix(esp_wifi): Fix regression caused by fe35466c when supplicant logs enabled 2024-03-20 10:53:30 +05:30
Sarvesh Bodakhe 1d71178193 fix(wpa_supplicant): Add bugfixes related to ciphersuites in wifi enterprise
- Avoid downgrading TLS ciphersuites when client RSA keys are larger than RSA-2048 bit.
- Note that when using bigger certificates on low-power chips without crypto
  hardware acceleration, it is recommended to adjust the task watchdog timer (TWDT)
  if it is enabled. For precise information on timing requirements, you can check
  performance numbers at https://github.com/espressif/mbedtls/wiki/Performance-Numbers.
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe 05b882baea fix(wpa_supplicant): Update cipher suite list for TLSv1.3 suiteb and some refactoring
- Use MBEDTLS_TLS1_3_AES_256_GCM_SHA384 cipher for TLSv1.3-suiteb
- Call psa_crypto_init() in tls_connection_init() to reduce redundancy
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe 5903e9ea2b feat(wpa_supplicant): Make CONFIG_ESP_WIFI_EAP_TLS1_3 an experimental feature 2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe 5ce95cae91 fix(esp_wifi): Enable Server certificate validation when using mbedtls TLS v1.3
In TLS v1.2, It was possible to disable server certificate validation simply by using
API 'mbedtls_ssl_conf_authmode'. But this behaviour is changed in TLS v1.3. We can not
disable server certificate validation in TLS v1.3 using this API anymore.

For more details, refer https://github.com/Mbed-TLS/mbedtls/issues/7075
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe ec09cdf885 feat(wpa_supplicant): Add TLS v1.3 support for WiFi enterprise
* Add TLS v1.3 support for following EAP methods:
  - EAP-TLS  (RFC 9190)
  - EAP-PEAP (RFC 9427)
  - EAP-TTLS (RFC 9427)
* Add mbedtls porting for TLS v1.3 exporter (RFC 8446 Section 7.5)
* Add new Kconfig flag to enable TLS v1.3 for EAP methods
* Advertise TLS v1.3 signature algorithms if TLS 1.3 is enabled for EAP
  methods
* Advertise TLS v1.3 cipher suites if CONFIG_ESP_WIFI_EAP_TLS1_3 enabled
* Add support to Ack protected success indication
  (workaround for EAP-TLS 1.3 and 1.2 compatibilty)
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe 886bf9e82f feat(wpa_supplicant): Add support for RFC 5705 TLS exporter context with mbedTLS 2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe 0ed1cadcf1 feat(esp_wifi): Update Wi-Fi WPA3 authmodes as per WPA Specification v3.3
* Merge 'WIFI_AUTH_WPA3_EXT_PSK' and 'WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE'
  into 'WIFI_AUTH_WPA3_PSK' as per specification.
2024-03-19 11:33:55 +05:30
Sarvesh Bodakhe fe35466cdd fix(wpa_supplicant): Improve execution flow for WPS registrar public APIs
Make sure that WPS registrar public APIs do not modify supplicant
data in application task context. Execute API functionlity in eloop
context to prevent protential race conditions.
2024-03-18 12:43:39 +05:30
Sarvesh Bodakhe aad6f44c25 fix(wifi): Avoid dereferencing a dangling function pointer in WPS supplicant
Avoid dereferencing a dangling function pointer in 'eap_server_sm_deinit()'.
This issue arises when hostap unregisteres EAP methods before it removes
the server state machine for station.
2024-03-18 12:43:38 +05:30
Sarvesh Bodakhe 34725cdbfd feat(wifi): Add support SAE-PK and WPA3-Enterprise transition disable 2024-03-15 13:55:31 +05:30
Sarvesh Bodakhe 0154e81d87 feat(wifi): Sync public header files between ESP-IDF and Wi-Fi driver
- Updated WiFi libraries based on the IDF changes
- Renamed esp_wifi_native.h to esp_wifi_types_native.h
- Reverted forward declarations of native wifi types and HE types
- Forward declare as opaque structs only if we don't have native types (csi and ctrl_packet types)
2024-02-01 12:17:43 +01:00
Sarvesh Bodakhe c0b3af2292 fix(esp_wifi): Add md5sum validation checks for new public headers and sync headers
Add checks for following public headers:
- esp_wifi_types_generic.h
- esp_wifi_native.h
2024-02-01 12:17:43 +01:00
Sarvesh Bodakhe 615d928aa5 fix(esp_wifi): Add support for WPA3 + WPA3_EXT_PSK mixed mode and minor bugfixes
- Add support for WPA3 + WPA3_EXT_PSK mixed mode
- Improvements in scan and connect path as per specifications along with
  minor bugfixes
- When AP advertises all PSK modes (WPA, WPA2 and WPA3), make sure that
  station treats it as WPA2_WPA3_PSK mixed mode.

Closes https://github.com/espressif/esp-idf/issues/12517
2024-01-11 10:42:38 +08:00
Sarvesh Bodakhe b42e14c9b7 fix(wifi): fix bug in 'esp_wifi_deauthenticate_internal' and other improvements 2023-11-15 08:27:50 +05:30
Sarvesh Bodakhe 2d83e3e7f4 fix(wpa_supplicant): Add some bugfixes in wpa_supplicant
1) Add parameter to configure reason code of deauth frame
2) Add logs to indicate MIC failure 4-Way-Handshake
3) Process RSNXE capabilities only if AP advertises them
2023-11-15 08:06:37 +05:30
Sarvesh Bodakhe 0a95914839 fix(esp_wifi): Fix issue of station disconnecting immediately when AP RSSI is zero 2023-10-27 09:35:20 +05:30
Sarvesh Bodakhe 2c3394ff01 fix(wpa_supplicant): Add support to detect PBC overlap in wps registrar mode 2023-08-11 16:06:23 +05:30
Sarvesh Bodakhe bb88774286 esp_wifi: Fix tx_callback issue for ESP32C6 2023-05-04 14:13:39 +05:30
Sarvesh Bodakhe cd0d42d43b wpa_supplicant: Use 'mbedtls_pk_parse_public_key' to parse compressed EC public key and remove unnecessary code
Support to parse compressed EC public key is added from 'mbedtls-3.4.0'
2023-04-28 18:23:42 +05:30
Sarvesh Bodakhe 9e4915b81b esp-wifi: add station SAE-PK (Public Key) configuration note 2023-04-28 18:23:42 +05:30
Sarvesh Bodakhe 0518d2eb65 wpa_supplicant: Fix PMKID SHA-256 related regression
Fixed regression caused by commit 38e9c8b4
2023-04-26 18:00:32 +05:30
Sarvesh Bodakhe 41f5be80e8 esp_wifi: Validate softap interface when sending beacon frame 2023-04-10 19:16:47 +08:00
Sarvesh Bodakhe 96a2ae937c esp_wifi: handle SA-Query bug in AP-STA concurrent mode when both connections are PMF enabled 2023-03-31 18:20:28 +05:30
Sarvesh Bodakhe b89a851645 esp_wifi: Move wpa_supplicant WIFI_EVENT_STA_CONNECTED and WIFI_EVENT_STA_DISCONNECTED event handlers into callbacks
Executing supplicant WIFI_EVENT_STA_CONNECTED and WIFI_EVENT_STA_DISCONNECTED handlers in event-handler context can lead to concurrency issues.
Moving the functionality into 'wpa_sta_connected_cb' and 'wpa_sta_disconnected_cb' callbacks and execute in ppTask context.
2023-03-31 12:34:03 +05:30
Sarvesh Bodakhe 7fb6f3b9e3 esp_wifi: remove unnecessary code under SAE-PK configuration 2023-03-31 12:34:03 +05:30
Sarvesh Bodakhe 56dd04c7f6 esp_wifi: improve station SA query procedure handling
1. disable SA query timers when station disconnect and other SA query related improvements
2. send appropriate reason code in 4 way handshake failure
2023-03-20 19:35:42 +05:30
Sarvesh Bodakhe 5b6676da21 esp_wifi: fix typo in wifi_enterprise example README
Closes https://github.com/espressif/esp-idf/issues/10042
2023-02-22 12:36:06 +05:30
Sarvesh Bodakhe d2f6a3dacc esp-wifi: add SAE-PK (Public Key) authentication support for station 2023-02-16 13:49:11 +05:30
Sarvesh Bodakhe 299e32ce68 esp_wifi: softap: buffer deauth, disassoc, action frames for connected station in sleep mode
1) improve deauth/disassoc handling
2) improve SA-query procedure handling
2023-02-03 00:10:00 +05:30
Sarvesh Bodakhe a24062d080 esp_wifi: improvements in station and softAP for connection management
1) station: send deauth while going from assoc to init, if reason is assoc timeout
2) softAP pmf: do not drop open deauth/disassoc if keys are not generated
3) softAP pmf: improvements in SA query handling
2023-02-01 12:22:46 +05:30
Sarvesh Bodakhe ecafe007e5 esp_wifi: Update wifi libs
Update wifi libs with below changes -
1. reject AP when assoc comeback time given is greater than 5 seconds
2. handle when assoc req is received before SA query procedure is finished

Closes https://github.com/espressif/esp-idf/issues/9428
2022-12-14 12:17:53 +05:30