Commit Graph
1559 Commits
Author SHA1 Message Date
Jiang Jiang Jian c30cf517bd Merge branch 'bugfix/isolate_remote_local_cache_v6.1' into 'release/v6.1'
fix(esp_wifi): Isolate wifi-remote API check from local station build (v6.1)

See merge request espressif/esp-idf!49453
2026-06-12 18:19:34 +08:00
Kapil Gupta 4206630b5f fix(esp_wifi): Isolate wifi-remote API check from local station build
Use scripts/station_gen_build with -B and -D SDKCONFIG so generate_and_check
does not read the station example's sdkconfig or build tree. Apply
sdkconfig.defaults and IDF_TARGET=esp32 for stable header preprocessing.

Unset GIT_DIR/GIT_INDEX_FILE (and related vars) before git subprocesses so
pre-commit and git worktrees do not mis-resolve paths after cd into scripts.
2026-06-12 14:49:19 +05:30
yinqingzhao 2259b507aa feat(wifi): support ftm for esp32s31 2026-06-10 20:44:29 +08:00
yinqingzhao ced2dcf748 fix(wifi): fix scheduling issue when tasks have the same priority as the Wi-Fi task 2026-06-10 20:43:42 +08:00
yinqingzhao cb306506c8 feat(wifi): optimizations ralated to keep alive 2026-06-10 20:42:58 +08:00
sibeibei 0c1394214f fix(ci): fix pre-commit issue 2026-06-10 20:41:39 +08:00
sibeibei 837a490595 feat(wifi): adpater apb clock is independent 2026-06-10 20:40:27 +08:00
Kapil Gupta c75736fadb ci(esp_wifi_remote): Optimize reconfigure targets 2026-06-01 16:18:46 +05:30
Kapil Gupta 496a82fdd1 ci(esp_remote): Add wifi-remote pre-commit hook 2026-06-01 16:18:46 +05:30
tarun.kumar cfb5457470 fix(wifi) : Add Mode/threshold checks in esp_wifi_disable_pmf_config()
- Updated API documentation for esp_wifi_disable_pmf_config()
2026-05-27 12:02:26 +05:30
Shreyas Sheth 41b4d70ad4 feat(esp_wifi): Add support for multiconfig support for DPP 2026-05-25 13:57:28 +08:00
Shreyas Sheth 2d3c11b277 fix(esp_wifi): Fix ci pipeline for random mac feature 2026-05-25 11:22:45 +08:00
JackandCursor 4786ab4d14 docs(wifi): add Chinese translation for MAC randomization
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-25 11:22:45 +08:00
Aditi 18cbdbf2b1 feat(esp_wifi): Add improvements for privacy extension
1) Add support for MAC randomization in Active scan and connect
  2) Add support for randomizaton of sequence numbers
  3) Add support for randomization of dialog token for GAS frames
2026-05-25 11:22:45 +08:00
0f8d4b74a0 feat(esp_wifi): NAN Pairing Improvements and bugfixes
- Route NAN pairing bootstrap via NPBA receive path
- extend datapath_req wait time to fit secured M1-M4 handshake
- Plug ND-PMK derived from KDK into NDP
- prefers paired-peer cached ND-PMK (from PASN pairing complete), when available
- carry ND-PMK metadata in pairing install callback
- Extend PASN key-installed callback payload to include role, mapped NDP CSID
  and derived ND-PMK so the NAN layer can populate paired-peer security cache.

Co-authored-by: Akshat Agrawal <akshat.agrawal@espressif.com>
Co-authored-by: Sarvesh Bodakhe <sarvesh.bodakhe@espressif.com>
2026-05-22 11:30:00 +05:30
9f361f478d feat(esp_wifi): Add NAN Pairing support
- Add container struct for internal extra params for follow-up
- Support for parsing Shared Key Desc in Pairing follow-up
- Implement NAN Pairing API's with required parameters
- In KeyData set cipher_ver to 0, Key Info to 0x12C8
  (AKM-defined | Pairwise | Install | ACK |
   Secure | Encrypted Key Data) for iOS compatibility
- Move NAN PASN into esp_nan_supplicant.c, move declarations
  to esp_private/esp_supp_nan.h
- Align PASN/ND-PMK derivation with hostap

Co-authored-by: Sajia <sajia.ali@espressif.com>
Co-authored-by: Akshat Agrawal <akshat.agrawal@espressif.com>
Co-authored-by: Sarvesh Bodakhe <sarvesh.bodakhe@espressif.com>
2026-05-22 13:01:51 +08:00
Nachiket Kukade e731ff3598 feat(wpa_supplicant): Add PASN Support to for NAN Pairing
- Create pasn module from upstream. Changes till 1a791e9c
- Add ecdh prime len api to MbedTLS port
- Integrate nan and pasn modules for PIN code method
- Fix KCK length and add auth timeout
- Add NAN Pairing PASN support
2026-05-22 13:01:51 +08:00
Nachiket Kukade 38182e38c0 feat(esp_wifi): Add NAN pairing bootstrapping APIs for Wi-Fi Aware 4.0
- Implement the bootstrapping handshake phase of NAN pairing (spec 7.6.4.1).
- Add pairing support to NAN Publish/Subscribe APIs:
- Add dummy NIRA , MME Attributes
2026-05-22 13:01:51 +08:00
sibeibei 68c9de209b feat(wifi): add sleep retention attach/detach in hw start/stop 2026-05-21 11:46:16 +08:00
Li Shuai 0d9587952d change(esp_wifi): support wifi module retention runtime attach and detach 2026-05-21 11:46:16 +08:00
Sarvesh Bodakhe a17b3e97c6 fix(wifi): NAN per-service subscriber security state
The singleton subscriber security cache was overwritten on each new
subscribe, breaking PMKID match for all but the most recent service.
Move security state to own_svc, matched cred index to peer_svc.
2026-05-19 16:54:17 +05:30
Sarvesh Bodakhe b3512ccf7d change(wifi): NAN security_cfg as pointer
security_cfg in wifi_nan_publish_cfg_t / wifi_nan_subscribe_cfg_t is a
large struct; pass it by pointer so callers don't bloat their cfg copy.
Driver deep-copies during publish/subscribe, so caller may free right
after the API returns. Add NULL-check when security_reqd is set.

Update both example apps to declare a local security_cfg and assign its
address. Add help text on EXAMPLE_NAN_SECURITY_ENABLED.
2026-05-19 16:54:17 +05:30
Sarvesh Bodakhe caba5dcfea refactor(wifi): NAN datapath header cleanups and docs
- Rename NAN_IPV6_ADDR_ID_LEN / IS_ZERO_NAN_ADDR_ID to ..._IPV6_IDENTIFIER
  so the names no longer read like MAC-address constants; drop the
  duplicate macro definition in esp_nan.h.
- Replace literal lengths with named macros: WIFI_OUI_LEN for
  nan_vendor_ie_t.vendor_oui, and a new WIFI_MAC_ADDR_LEN (private)
  applied to the NAN-related structs and callbacks in esp_private/wifi.h.
- Document each callback in struct nan_sync_callbacks and each helper
  in struct nan_secure_dp_funcs: when fired / when invoked, what each
  argument means, and the matching spec section where useful.
- Note in wifi_nan_datapath_req_t / wifi_nan_datapath_resp_t that they
  cover the NCS-SK credential model only; pairing-based cipher suites
  (NCS-PK-PASN) install per-peer ND-PMKs via a separate pairing API
  without changing these structs. Record why per-NDP credential
  injection at response time is not viable: the responder's PMKID
  lookup happens at M1 receive time, before the indication event
  surfaces to the host.
2026-05-19 16:54:12 +05:30
Sarvesh Bodakhe cfecf60986 feat(wifi): NAN multi-credential discovery security
Replace scalar passphrase/PMK in wifi_nan_discovery_security_params_t
with wifi_nan_credential_t[N] array (cap 4) per Wi-Fi Aware v4.0
§9.5.21.4. Drop public PMKID array and service-level csid_bitmap.

Rename wifi_nan_datapath_security_params_t -> wifi_nan_security_params_t;
add wifi_nan_peer_sdf_security_t for multi-PMKID peer-RX. The
derive_security_params callback takes (svc_name, sec_cfg, out_derived[])
and runs once per credential on the WiFi task. Split nan_record_own_svc
into claim/finalize so the WiFi-task callback finds the pending slot
by name and mirrors derived material — no main-task PBKDF2.
2026-05-19 11:11:55 +05:30
Sarvesh Bodakhe 2da41618f5 test(wifi): NAN PMK derivation crypto test
Unit-test the ND-PMK derivation path against known-good vectors using
the wpa_supplicant-ported pbkdf2_sha256.
2026-05-19 11:07:07 +05:30
Sarvesh Bodakhe 94f226d73b feat(wifi): NAN encrypted datapath (Wi-Fi Aware M1-M4 handshake)
Implement the NAN Data Path encrypted datapath per Wi-Fi Aware v4.0
(§7.1.3.5, §9.5.16):

- Responder + initiator sides of the M1-M4 Shared-Key Descriptor
  exchange, with MIC compute/verify, PTK derivation, and PMK/PMKID
  derivation via PBKDF2-SHA256 over passphrase or pre-shared PMK.
- CSIA / SCIA attribute build + parse, NCS-SK-128 cipher suite.
- Per-NDL security context on ndl_info::security_ctx; per-svc PMK cache.
- ndp_response_indication callback for initiator peer-NDI binding.
- host<->blob ABI migrated from 27 direct esp_nan_* externs to a single
  nan_secure_dp_funcs callback struct in esp_private/wifi.h.
- nan_security.c split out of nan_app.c (~340 lines de-duplicated into
  shared M1-M4 helpers).
- CONFIG_ESP_WIFI_NAN_ENCRYPTED_DATAPATH gates the secure path so non-
  security builds compile out the crypto/handshake code.
- ROM patch (esp32s31): mask ieee80211_encap_esfbuf to match the
  c5/c6/c61 pattern for NAN-capable chips.

Hardening: PMK stack copies zeroized on every return, NDP attribute
parsers bounds-checked, CSID range-checked before shifting, NDL slot
reuse only when handshake state is IDLE, get_csia/scia_len aligned with
their builders on empty input.

API surface: NDP security types moved out of esp_wifi_types_generic.h
into esp_private/wifi.h (internal-only). security pointer dropped from
struct ndp_cb_peer_info. Discovery-side wifi_nan_security_type_t and
the NDP Info callbacks removed (subsumed by csid_bitmap and SSI
respectively).
2026-05-19 11:07:06 +05:30
muhaidong a1d2b468e8 fix(wifi): update auth mode threshold doc 2026-05-18 15:49:34 +08:00
muhaidong b173349c3b fix(wifi): update wifi scan threshold doc 2026-05-18 14:36:01 +08:00
Jiang Jiang Jian ef338c61b4 Merge branch 'feat/support_weak_func_wifi_assert' into 'master'
fix(wifi): support weak func for wifi lmac assert

Closes WIFIBUG-1715

See merge request espressif/esp-idf!45496
2026-05-15 20:46:48 +08:00
Jiang Jiang Jian 900a72f7b6 Merge branch 'bugfix/roaming_app_track_data' into 'master'
fix(roaming): prevent timeout payload double-free on deinit

Closes WIFIBUG-1880

See merge request espressif/esp-idf!48361
2026-05-15 19:43:12 +08:00
muhaidong 2dcab6cc00 fix(wifi): support weak func for wifi lmac assert 2026-05-15 14:48:04 +08:00
Jiang Jiang Jian a99398a52e Merge branch 'ci/add_static_tx_buffer_case' into 'master'
Add wifi connect case when static tx buffer enable

See merge request espressif/esp-idf!48494
2026-05-15 10:08:50 +08:00
Jiang Jiang Jian 0f96f27d35 Merge branch 'feat/add_ci_ut_test_for_auto_mode_connect_passive_channel_hidden_ap' into 'master'
feat(ci): add ci test for auto mode connect passive chnnel hidden ap

Closes WIFI-7298

See merge request espressif/esp-idf!47140
2026-05-14 20:34:16 +08:00
Jiang Jiang Jian 0ccf6a6a7b Merge branch 'bugfix/fix_some_s31_coex_iso_issues' into 'master'
fix(coex): fix some s31 coex iso issues

See merge request espressif/esp-idf!48508
2026-05-14 20:32:04 +08:00
Chen Yudong 7e30792058 ci: use case attributes to filter cases 2026-05-14 17:21:35 +08:00
David Čermák 31a70d6a36 Merge branch 'fix/wifi_remote_update' into 'master'
fix(wifi_remote): Forward porting some fixes

See merge request espressif/esp-idf!48485
2026-05-14 17:16:26 +08:00
muhaidong 1c640fb30e feat(ci): add ci test for auto mode connect passive chnnel hidden ap 2026-05-14 15:54:24 +08:00
muhaidong d11192503b fix(coex): fix some s31 coex iso issues 2026-05-14 14:04:35 +08:00
Alexey Gerenkov edb75262a1 Merge branch 'feature/update-esp-clang-to-esp-21.1.3_20260304' into 'master'
feat(tools): update esp-clang version to esp-21.1.3_20260408

Closes IDF-14965, LLVM-501, and LLVM-531

See merge request espressif/esp-idf!46361
2026-05-13 22:54:10 +08:00
ding huan 3a46a77370 ci: Add wifi static buffer case 2026-05-13 19:45:25 +08:00
David Cermak a2b3dc1192 feat(wifi_remote): Add support for manual disable
Forward porting https://github.com/espressif/esp-wifi-remote/commit/efdc2f8
2026-05-13 11:35:30 +02:00
David Cermak 0e45d0e7b5 fix(wifi_remote): Free Rx buffer if packet path not defined
Forward porting: https://github.com/espressif/esp-wifi-remote/commit/d1e908d6
2026-05-13 11:32:30 +02:00
Akshat Agrawal d66ccc2479 feat(wifi): Add multiple NAN Service Discovery improvements
- Add Country Code, Vendor IE to NAN frames
 - Support parsing of multiple availibility & SDA attributes
 - Add parsing of service response filter
 - Support Bloom filter parsing and generation
 - Record peer_svc for nan_indication_cb
 - Add support for NDPE Extension attribute
2026-05-13 12:08:17 +05:30
muhaidong facb230352 fix(wifi): fix hidden ap rssi update and owe beacon timeout issue 2026-05-13 10:54:47 +08:00
yinqingzhao 61dac506e6 fix(wifi): fix dfs channel check wrong 2026-05-12 16:05:44 +08:00
Kapil Gupta 331fa92f68 fix(roaming): prevent timeout payload double-free on deinit
Track timeout user_data before registration, untrack on register failure
2026-05-12 13:50:14 +08:00
sibeibei 45a6998129 fix(wifi): IRAM for regdma path used in modem pd light sleep 2026-05-09 14:48:24 +08:00
Sarvesh Bodakhe 1ec6064637 fix(wifi): stop NAN timers from re-arming after esp_wifi_stop 2026-05-08 18:40:51 +05:30
Akshat Agrawal 3197b50dd9 fix(nan): Prevent overwriting of matching filter by SSI
- Closes https://github.com/espressif/esp-idf/issues/18231
2026-05-08 11:37:11 +05:30
yinqingzhao 34ff741b6e feat(regdomain): update regdomain according to wireless-regdb 2026-05-08 12:44:38 +08:00