1. 08 5月, 2018 2 次提交
    • B
      cfg80211: average ack rssi support for data frames · 81d5439d
      Balaji Pothunoori 提交于
      Average ack rssi will be given to userspace via NL80211 interface
      if firmware is capable. Userspace tool ‘iw’ can process this
      information and give the output as one of the fields in
      ‘iw dev wlanX station dump’.
      
      Example output :
      
      localhost ~ #iw dev wlan-5000mhz station dump Station
      34:f3:9a:aa:3b:29 (on wlan-5000mhz)
              inactive time:  5370 ms
              rx bytes:       85321
              rx packets:     576
              tx bytes:       14225
              tx packets:     71
              tx retries:     0
              tx failed:      2
              beacon loss:    0
              rx drop misc:   0
              signal:         -54 dBm
              signal avg:     -53 dBm
              tx bitrate:     866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
              rx bitrate:     866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
              avg ack signal: -56 dBm
              authorized:     yes
              authenticated:  yes
              associated:     yes
              preamble:       short
              WMM/WME:        yes
              MFP:            no
              TDLS peer:      no
              DTIM period:    2
              beacon interval:100
             short preamble: yes
             short slot time:yes
             connected time: 203 seconds
      
      Main use case is to measure the signal strength of a connected station
      to AP. Data packet transmit rates and bandwidth used by station can vary
      a lot even if the station is at fixed location, especially if the rates
      used are multi stream(2stream, 3stream) rates with different bandwidth(20/40/80 Mhz).
      These multi stream rates are sensitive and station can use different transmit power
      for each of the rate and bandwidth combinations. RSSI measured from these RX packets
      on AP will be not stable and can vary a lot with in a short time.
      Whereas 802.11 ack frames from station are sent relatively at a constant
      rate (6/12/24 Mbps) with constant bandwidth(20 Mhz).
      So average rssi of the ack packets is good and more accurate.
      Signed-off-by: NBalaji Pothunoori <bpothuno@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      81d5439d
    • H
      nl80211: Add wmm rule attribute to NL80211_CMD_GET_WIPHY dump command · 50f32718
      Haim Dreyfuss 提交于
      This will serve userspace entity to maintain its regulatory limitation.
      More specifcally APs can use this data to calculate the WMM IE when
      building: beacons, probe responses, assoc responses etc...
      Signed-off-by: NHaim Dreyfuss <haim.dreyfuss@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      50f32718
  2. 29 3月, 2018 6 次提交
  3. 21 3月, 2018 2 次提交
  4. 19 2月, 2018 1 次提交
  5. 31 1月, 2018 3 次提交
    • T
      cfg80211: Add support to notify station's opmode change to userspace · 466b9936
      tamizhr@codeaurora.org 提交于
      ht/vht action frames will be sent to AP from station to notify
      change of its ht/vht opmode(max bandwidth, smps mode or nss) modified
      values. Currently these valuse used by driver/firmware for rate control
      algorithm. This patch introduces NL80211_CMD_STA_OPMODE_CHANGED
      command to notify those modified/current supported values(max bandwidth,
      smps mode, max nss) to userspace application. This will be useful for the
      application like steering, which closely monitoring station's capability
      changes. Since the application has taken these values during station
      association.
      Signed-off-by: NTamizh chelvam <tamizhr@codeaurora.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      466b9936
    • S
      cfg80211/nl80211: Optional authentication offload to userspace · 40cbfa90
      Srinivas Dasari 提交于
      This interface allows the host driver to offload the authentication to
      user space. This is exclusively defined for host drivers that do not
      define separate commands for authentication and association, but rely on
      userspace SME (e.g., in wpa_supplicant for the ~WPA_DRIVER_FLAGS_SME
      case) for the authentication to happen. This can be used to implement
      SAE without full implementation in the kernel/firmware while still being
      able to use NL80211_CMD_CONNECT with driver-based BSS selection.
      
      Host driver sends NL80211_CMD_EXTERNAL_AUTH event to start/abort
      authentication to the port on which connect is triggered and status
      of authentication is further indicated by user space to host
      driver through the same command response interface.
      
      User space entities advertise this capability through the
      NL80211_ATTR_EXTERNAL_AUTH_SUPP flag in the NL80211_CMD_CONNECT request.
      Host drivers shall look at this capability to offload the authentication.
      Signed-off-by: NSrinivas Dasari <dasaris@qti.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      [add socket connection ownership check]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      40cbfa90
    • S
      nl80211: Introduce scan flags to emphasize requested scan behavior · 5037a009
      Sunil Dutt 提交于
      This commit defines new scan flags (LOW_SPAN, LOW_POWER, HIGH_LATENCY)
      to emphasize the requested scan behavior for the driver. These flags
      are optional and are mutually exclusive. The implementation of the
      respective functionality can be driver/hardware specific.
      
      These flags can be used to control the compromise between how long
      a scan takes, how much power it uses, and high accurate/complete
      the scan is in finding the BSSs.
      Signed-off-by: NSunil Dutt <usdutt@qti.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      5037a009
  6. 19 12月, 2017 1 次提交
  7. 11 10月, 2017 1 次提交
  8. 02 10月, 2017 1 次提交
    • A
      cfg80211/nl80211: add a port authorized event · 503c1fb9
      Avraham Stern 提交于
      Add an event that indicates that a connection is authorized
      (i.e. the 4 way handshake was performed by the driver). This event
      should be sent by the driver after sending a connect/roamed event.
      
      This is useful for networks that require 802.1X authentication.
      In cases that the driver supports 4 way handshake offload, but the
      802.1X authentication is managed by user space, the driver needs to
      inform user space right after the 802.11 association was completed
      so user space can initialize its 802.1X state machine etc.
      However, it is also possible that the AP will choose to skip the
      802.1X authentication (e.g. when PMKSA caching is used) and proceed
      with the 4 way handshake immediately. In this case the driver needs
      to inform user space that 802.1X authentication is no longer required
      (e.g. to prevent user space from disconnecting since it did not get
      any EAPOLs from the AP).
      
      This is also useful for roaming, in which case it is possible that
      the driver used the Fast Transition protocol so 802.1X is not
      required.
      
      Since there will now be a dedicated notification indicating that the
      connection is authorized, the authorized flag can be removed from the
      roamed event. Drivers can send the new port authorized event right
      after sending the roamed event to indicate the new AP is already
      authorized. This therefore reserves the old PORT_AUTHORIZED attribute.
      Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      503c1fb9
  9. 21 9月, 2017 2 次提交
  10. 30 6月, 2017 1 次提交
  11. 13 6月, 2017 4 次提交
  12. 27 4月, 2017 2 次提交
  13. 31 3月, 2017 1 次提交
  14. 06 3月, 2017 2 次提交
    • V
      cfg80211: Make pre-CAC results valid only for ETSI domain · b35a51c7
      Vasanthakumar Thiagarajan 提交于
      DFS requirement for ETSI domain (section 4.7.1.4 in
      ETSI EN 301 893 V1.8.1) is the only one which explicitly
      states that once DFS channel is marked as available afer
      the CAC, this channel will remain in available state even
      moving to a different operating channel. But the same is
      not explicitly stated in FCC DFS requirement. Also, Pre-CAC
      requriements are not explicitly mentioned in FCC requirement.
      Current implementation in keeping DFS channel in available
      state is same as described in ETSI domain.
      
      For non-ETSI DFS domain, this patch gives a grace period of 2 seconds
      since the completion of successful CAC before moving the channel's
      DFS state to 'usable' from 'available' state. The same grace period
      is checked against the channel's dfs_state_entered timestamp while
      deciding if a DFS channel is available for operation. There is a new
      radar event, NL80211_RADAR_PRE_CAC_EXPIRED, reported when DFS channel
      is moved from available to usable state after the grace period. Also
      make sure the DFS channel state is reset to usable once the beaconing
      operation on that channel is brought down (like stop_ap, leave_ibss
      and leave_mesh) in non-ETSI domain.
      Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b35a51c7
    • A
      cfg80211: Accept multiple RSSI thresholds for CQM · 4a4b8169
      Andrew Zaborowski 提交于
      Change the SET CQM command's RSSI threshold attribute to accept any
      number of thresholds as a sorted array.  The API should be backwards
      compatible so that if one s32 threshold value is passed, the old
      mechanism is enabled.  The netlink event generated is the same in both
      cases.
      
      cfg80211 handles an arbitrary number of RSSI thresholds but drivers have
      to provide a method (set_cqm_rssi_range_config) that configures a range
      set by a high and a low value.  Drivers have to call back when the RSSI
      goes out of that range and there's no additional event for each time the
      range is reconfigured as there was with the current one-threshold API.
      
      This method doesn't have a hysteresis parameter because there's no
      benefit to the cfg80211 code from having the hysteresis be handled by
      hardware/driver in terms of the number of wakeups.  At the same time
      it would likely be less consistent between drivers if offloaded or
      done in the drivers.
      Signed-off-by: NAndrew Zaborowski <andrew.zaborowski@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4a4b8169
  15. 09 2月, 2017 1 次提交
    • L
      cfg80211: fix NAN bands definition · 8585989d
      Luca Coelho 提交于
      The nl80211_nan_dual_band_conf enumeration doesn't make much sense.
      The default value is assigned to a bit, which makes it weird if the
      default bit and other bits are set at the same time.
      
      To improve this, get rid of NL80211_NAN_BAND_DEFAULT and add a wiphy
      configuration to let the drivers define which bands are supported.
      This is exposed to the userspace, which then can make a decision on
      which band(s) to use.  Additionally, rename all "dual_band" elements
      to "bands", to make things clearer.
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8585989d
  16. 08 2月, 2017 1 次提交
    • A
      cfg80211: Pass new RSSI level in CQM RSSI notification · bee427b8
      Andrzej Zaborowski 提交于
      Update the drivers to pass the RSSI level as a cfg80211_cqm_rssi_notify
      parameter and pass this value to userspace in a new nl80211 attribute.
      This helps both userspace and also helps in the implementation of the
      multiple RSSI thresholds CQM mechanism.
      
      Note for marvell/mwifiex I pass 0 for the RSSI value because the new
      RSSI value is not available to the driver at the time of the
      cfg80211_cqm_rssi_notify call, but the driver queries the new value
      immediately after that, so it is actually available just a moment later
      if we wanted to defer caling cfg80211_cqm_rssi_notify until that moment.
      Without this, the new cfg80211 code (patch 3) will call .get_station
      which will send a duplicate HostCmd_CMD_RSSI_INFO command to the hardware.
      Signed-off-by: NAndrew Zaborowski <andrew.zaborowski@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bee427b8
  17. 13 1月, 2017 3 次提交
  18. 11 1月, 2017 1 次提交
    • B
      cfg80211: consider VHT opmode on station update · 06f7c88c
      Beni Lev 提交于
      Currently, this attribute is only fetched on station addition, but
      not on station change. Since this info is only present in the assoc
      request, with full station state support in the driver it cannot be
      present when the station is added.
      
      Thus, add support for changing the VHT opmode on station update if
      done before (or while) the station is marked as associated. After
      this, ignore it, since it used to be ignored.
      Signed-off-by: NBeni Lev <beni.lev@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      06f7c88c
  19. 09 1月, 2017 1 次提交
  20. 16 12月, 2016 1 次提交
  21. 09 12月, 2016 1 次提交
    • V
      nl80211: Use different attrs for BSSID and random MAC addr in scan req · 2fa436b3
      Vamsi Krishna 提交于
      NL80211_ATTR_MAC was used to set both the specific BSSID to be scanned
      and the random MAC address to be used when privacy is enabled. When both
      the features are enabled, both the BSSID and the local MAC address were
      getting same value causing Probe Request frames to go with unintended
      DA. Hence, this has been fixed by using a different NL80211_ATTR_BSSID
      attribute to set the specific BSSID (which was the more recent addition
      in cfg80211) for a scan.
      
      Backwards compatibility with old userspace software is maintained to
      some extent by allowing NL80211_ATTR_MAC to be used to set the specific
      BSSID when scanning without enabling random MAC address use.
      
      Scanning with random source MAC address was introduced by commit
      ad2b26ab ("cfg80211: allow drivers to support random MAC addresses
      for scan") and the issue was introduced with the addition of the second
      user for the same attribute in commit 818965d3 ("cfg80211: Allow a
      scan request for a specific BSSID").
      
      Fixes: 818965d3 ("cfg80211: Allow a scan request for a specific BSSID")
      Signed-off-by: NVamsi Krishna <vamsin@qti.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      2fa436b3
  22. 27 10月, 2016 2 次提交
    • V
      cfg80211: Add support to update connection parameters · 088e8df8
      vamsi krishna 提交于
      Add functionality to update the connection parameters when in connected
      state, so that driver/firmware uses the updated parameters for
      subsequent roaming. This is for drivers that support internal BSS
      selection and roaming. The new command does not change the current
      association state, i.e., it can be used to update IE contents for future
      (re)associations without causing an immediate disassociation or
      reassociation with the current BSS.
      
      This commit implements the required functionality for updating IEs for
      (Re)Association Request frame only. Other parameters can be added in
      future when required.
      Signed-off-by: Nvamsi krishna <vamsin@qti.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      088e8df8
    • M
      cfg80211: configure multicast to unicast for AP interfaces · ce0ce13a
      Michael Braun 提交于
      Add the ability to configure if an AP (and associated VLANs) will
      do multicast-to-unicast conversion for ARP, IPv4 and IPv6 frames
      (possibly within 802.1Q). If enabled, such frames are to be sent
      to each station separately, with the DA replaced by their own MAC
      address rather than the group address.
      
      Note that this may break certain expectations of the receiver,
      such as the ability to drop unicast IP packets received within
      multicast L2 frames, or the ability to not send ICMP destination
      unreachable messages for packets received in L2 multicast (which
      is required, but the receiver can't tell the difference if this
      new option is enabled.)
      
      This also doesn't implement the 802.11 DMS (directed multicast
      service).
      Signed-off-by: NMichael Braun <michael-dev@fami-braun.de>
      [fix disabling, add better documentation & commit message]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ce0ce13a