[PATCH v4 00/20] PR: Add nl80211 support and ranging for Proximity Detection

Kavita Kavita kavita.kavita at oss.qualcomm.com
Fri May 22 18:23:32 PDT 2026


wpa_supplicant already had PASN authentication support for
Proximity Ranging (PR). This series adds the missing nl80211
driver support and ranging to complete the PD (Proximity
Detection) flow.

It introduces a dedicated PD virtual interface (NL80211_IFTYPE_PD)
with its own MAC address, updates nl80211_copy.h with the
proposed kernel API additions for PD, improves driver capability
parsing with dedicated PR-specific flags, extends the set_key
path to carry LTF key seeds for secure ranging, and wires up
peer measurement start and result handling through the nl80211
driver. The existing PR_PASN_START control interface command is
extended with the full set of EDCA, NTB, and proximity threshold
parameters and rerouted through wpas_pr_pasn_trigger() to drive
the complete PASN-then-ranging flow in a single step.
Support is also added for Out-of-Band peer discovery where USD is
handled by an external application, and per-peer PMK and password
configuration via PR_PASN_START for authenticated PASN without
prior NAN USD discovery.

Kernel Changes are merged into wireless-next tip.
Link: https://patchwork.kernel.org/project/linux-wireless/list/?series=1083204&state=%2A&archive=both

---
Changes in v4:
- Addressed reviewer comments.
---
Changes in v3:
- The earlier supplicant patchset (v2) was aligned with a previous
  kernel patchset series. Since that kernel series has now been merged,
  the supplicant has been updated again (v3) to align with the current
  wireless-next.
- Fixed several bugs identified during internal testing. Introduced
  new patches in this series.
- Added support for Out-of-Band (OOB) peer discovery: when USD
  service discovery is handled by an external application and
  PASN is triggered separately via PR_PASN_START, a minimal peer
  entry is created automatically to allow PASN to proceed without
  prior NAN USD discovery.
---
Changes in v2:
- Added the correct NL attributes.
- Refactored dependent code paths to reflect the updated NL
  attribute handling.
---

Kavita Kavita (4):
  PR: Gate EDCA ranging support on ASAP capability
  PR: Restore dev_addr to station MAC after PD wdev stop
  PR: Track peer discovery type and handle OOB peers in PASN initiation
  PR: Allow PMK and password configuration in PR_PASN_START

Peddolla Harshavardhan Reddy (11):
  PR: Replace format_and_bw attribute with preamble/BW bitmaps
  PR: Add dedicated PD wdev for PASN with custom MAC address
  PR: Add extended ranging parameters to PASN peer structure
  nl80211: Add peer measurement support for proximity ranging
  PR: Use session time as total ROC budget for PASN responder
  PR: Extend PR_PASN_START ctrl iface with full ranging parameters
  wpa_supplicant: Add FTM peer measurement result handling
  PR: Handle peer measurement complete event
  PR: Add ranging session timeout and integrate socket cleanup
  PR: Add API and ctrl iface command to abort ranging session
  PR: use USD source address for DIRA tag computation

Veerendranath Jakkam (5):
  nl80211: Add Proximity Detection (PD) support
  nl80211: Route MLME TX via PD wdev based on source address
  nl80211: Factor out global event BSS lookup and add PD wdev event
    routing
  nl80211: Route key operations to PD wdev based on own_addr
  nl80211: Add dedicated PR ranging socket and stop op

 src/common/proximity_ranging.c     |  97 +++-
 src/common/proximity_ranging.h     | 107 +++-
 src/common/wpa_ctrl.h              |   6 +
 src/drivers/driver.h               | 148 ++++-
 src/drivers/driver_common.c        |   2 +
 src/drivers/driver_nl80211.c       | 582 ++++++++++++++++++-
 src/drivers/driver_nl80211.h       |   7 +
 src/drivers/driver_nl80211_capa.c  |  43 +-
 src/drivers/driver_nl80211_event.c | 377 ++++++++++--
 wpa_supplicant/ctrl_iface.c        | 137 ++++-
 wpa_supplicant/driver_i.h          |  44 ++
 wpa_supplicant/events.c            |  14 +
 wpa_supplicant/nan_supplicant.c    |   8 +-
 wpa_supplicant/notify.c            |  35 ++
 wpa_supplicant/notify.h            |   4 +
 wpa_supplicant/pr_supplicant.c     | 890 ++++++++++++++++++++++++++---
 wpa_supplicant/pr_supplicant.h     |  32 +-
 wpa_supplicant/wpa_supplicant_i.h  |  10 +
 18 files changed, 2328 insertions(+), 215 deletions(-)


base-commit: 52a22e129a22061bede0503de0c1e3141383932a
--
2.34.1




More information about the Hostap mailing list