1. 06 Mar, 2013 1 commit
  2. 15 Feb, 2013 5 commits
    • Johannes Berg's avatar
      nl80211: renumber NL80211_FEATURE_FULL_AP_CLIENT_STATE · 932dd97c
      Johannes Berg authored
      Adding the flag to mac80211 already without testing was
      clearly a mistake, one that we now pay for by having to
      reserve bit 13 forever. The problem is cfg80211 doesn't
      allow capability/rate changes for station entries that
      were added unassociated, so the station entries cannot
      be set up properly when marked associated.
      Change the NL80211_FEATURE_FULL_AP_CLIENT_STATE value
      to make it clear to userspace implementations that all
      current kernels don't actually support it, even though
      the previous bit is set, and of course also remove the
      flag from mac80211 until we test and fix the issues.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    • Jouni Malinen's avatar
      cfg80211: Pass station (extended) capability info to kernel · 9d62a986
      Jouni Malinen authored
      The information of the peer's capabilities and extended capabilities are
      required for the driver to perform TDLS Peer UAPSD operations and off
      channel operations. This information of the peer is passed from user space
      using NL80211_CMD_SET_STATION command. This commit enhances
      the function nl80211_set_station to pass the capability information of
      the peer to the driver.
      Similarly, there may be need for capability information for other modes,
      so allow this to be provided with both add_station and change_station.
      Signed-off-by: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    • Johannes Berg's avatar
      cfg80211: advertise extended capabilities to userspace · a50df0c4
      Johannes Berg authored
      In many cases, userspace may need to know which of the
      802.11 extended capabilities ("Extended Capabilities
      element") are implemented in the driver or device, to
      include them e.g. in beacons, assoc request/response
      or other frames. Add a new nl80211 attribute to hold
      the extended capabilities bitmap for this.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    • Johannes Berg's avatar
      nl80211: advertise HT/VHT channel limitations · 50640f16
      Johannes Berg authored
      When drivers or regulatory have limitations on
      40, 80 or 160 MHz channels, advertise these to
      userspace via nl80211. Also add a new feature
      flag to let userspace know this is supported.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    • Simon Wunderlich's avatar
      nl80211/cfg80211: add radar detection command/event · 04f39047
      Simon Wunderlich authored
      Add new NL80211_CMD_RADAR_DETECT, which starts the Channel
      Availability Check (CAC). This command will also notify the
      usermode about events (CAC finished, CAC aborted, radar
      detected, NOP finished).
      Once radar detection has started it should continuously
      monitor for radars as long as the channel is active.
      This patch enables DFS for AP mode in nl80211/cfg80211.
      Based on original patch by Victor Goldenshtein <victorg@ti.com>
      Signed-off-by: default avatarSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      [remove WIPHY_FLAG_HAS_RADAR_DETECT again -- my mistake]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  3. 13 Feb, 2013 2 commits
  4. 12 Feb, 2013 1 commit
  5. 04 Feb, 2013 1 commit
    • Vladimir Kondratiev's avatar
      cfg80211: expand per-station byte counters to 64bit · 42745e03
      Vladimir Kondratiev authored
      In per-station statistics, present 32bit counters are too small
      for practical purposes - with gigabit speeds, it get overlapped
      every few seconds.
      Expand counters in the struct station_info to be 64-bit.
      Driver can still fill only 32-bit and indicate in @filled
      only bits like STATION_INFO_[TR]X_BYTES; in case driver provides
      full 64-bit counter, it should also set in @filled
      Netlink sends both 32-bit and 64-bit counters, if present, to not
      break userspace.
      Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      [change to also have 32-bit counters if driver advertises 64-bit]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  6. 31 Jan, 2013 1 commit
  7. 25 Jan, 2013 1 commit
  8. 16 Jan, 2013 3 commits
  9. 03 Jan, 2013 1 commit
    • Johannes Berg's avatar
      nl80211/mac80211: support full station state in AP mode · d582cffb
      Johannes Berg authored
      Today, stations are added already associated. That is
      inefficient if, for example, the driver has no room
      for stations any more because then the station will
      go through the entire auth/assoc handshake, only to
      be kicked out afterwards.
      To address this a bit better, at least with drivers
      using the new station state callback, allow hostapd
      to add stations in unauthenticated mode, just after
      receiving the AUTH frame, before even replying. Thus
      if there's no more space at that point, it can send
      a negative auth frame back. It still needs to handle
      later state transition errors though, of course.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  10. 27 Nov, 2012 1 commit
  11. 26 Nov, 2012 4 commits
    • Johannes Berg's avatar
      nl80211/cfg80211: add VHT MCS support · db9c64cf
      Johannes Berg authored
      Add support for reporting and calculating VHT MCSes.
      Note that I'm not completely sure that the bitrate
      calculations are correct, nor that they can't be
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    • Johannes Berg's avatar
      nl80211/cfg80211: support VHT channel configuration · 3d9d1d66
      Johannes Berg authored
      Change nl80211 to support specifying a VHT (or HT)
      using the control channel frequency (as before) and
      new attributes for the channel width and first and
      second center frequency. The old channel type is of
      course still supported for HT.
      Also change the cfg80211 channel definition struct
      to support these by adding the relevant fields to
      it (and removing the _type field.)
      This also adds new helper functions:
       - cfg80211_chandef_create to create a channel def
         struct given the control channel and channel type,
       - cfg80211_chandef_identical to check if two channel
         definitions are identical
       - cfg80211_chandef_compatible to check if the given
         channel definitions are compatible, and return the
         wider of the two
      This isn't entirely complete, but that doesn't matter
      until we have a driver using it. In particular, it's
       - regulatory checks on the usable bandwidth (if that
         even makes sense)
       - regulatory TX power (database can't deal with it)
       - a proper channel compatibility calculation for the
         new channel types
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    • Johannes Berg's avatar
    • Johannes Berg's avatar
      cfg80211: remove remain-on-channel channel type · 42d97a59
      Johannes Berg authored
      As mwifiex (and mac80211 in the software case) are the
      only drivers actually implementing remain-on-channel
      with channel type, userspace can't be relying on it.
      This is the case, as it's used only for P2P operations
      right now.
      Rather than adding a flag to tell userspace whether or
      not it can actually rely on it, simplify all the code
      by removing the ability to use different channel types.
      Leave only the validation of the attribute, so that if
      we extend it again later (with the needed capability
      flag), it can't break userspace sending invalid data.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  12. 19 Nov, 2012 1 commit
    • Jouni Malinen's avatar
      cfg80211: Add TDLS event to allow drivers to request operations · 3475b094
      Jouni Malinen authored
      The NL80211_CMD_TDLS_OPER command was previously used only for userspace
      request for the kernel code to perform TDLS operations. However, there
      are also cases where the driver may need to request operations from
      userspace, e.g., when using security on the AP path. Add a new cfg80211
      function for generating a TDLS operation event for drivers to request a
      new link to be set up (NL80211_TDLS_SETUP) or an existing link to be
      torn down (NL80211_TDLS_TEARDOWN). Drivers can optionally use these
      events, e.g., based on noticing data traffic being sent to a peer
      station that is seen with good signal strength.
      Signed-off-by: default avatarJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  13. 12 Nov, 2012 1 commit
  14. 05 Nov, 2012 1 commit
  15. 30 Oct, 2012 1 commit
    • Johannes Berg's avatar
      cfg80211: allow per interface TX power setting · c8442118
      Johannes Berg authored
      The TX power setting is currently per wiphy (hardware
      device) but with multi-channel capabilities that doesn't
      make much sense any more.
      Allow drivers (and mac80211) to advertise support for
      per-interface TX power configuration. When the TX power
      is configured for the wiphy, the wdev will be NULL and
      the driver can still handle that, but when a wdev is
      given the TX power can be set only for that wdev now.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  16. 18 Oct, 2012 4 commits
  17. 17 Oct, 2012 2 commits
  18. 13 Oct, 2012 1 commit
  19. 18 Sep, 2012 1 commit
  20. 20 Aug, 2012 1 commit
    • Johannes Berg's avatar
      cfg80211: add P2P Device abstraction · 98104fde
      Johannes Berg authored
      In order to support using a different MAC address
      for the P2P Device address we must first have a
      P2P Device abstraction that can be assigned a MAC
      This abstraction will also be useful to support
      offloading P2P operations to the device, e.g.
      periodic listen for discoverability.
      Currently, the driver is responsible for assigning
      a MAC address to the P2P Device, but this could be
      changed by allowing a MAC address to be given to
      the NEW_INTERFACE command.
      As it has no associated netdev, a P2P Device can
      only be identified by its wdev identifier but the
      previous patches allowed using the wdev identifier
      in various APIs, e.g. remain-on-channel.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  21. 17 Jul, 2012 2 commits
  22. 09 Jul, 2012 1 commit
    • Johannes Berg's avatar
      nl80211: prepare for non-netdev wireless devs · 89a54e48
      Johannes Berg authored
      In order to support a P2P device abstraction and
      Bluetooth high-speed AMPs, we need to have a way
      to identify virtual interfaces that don't have a
      netdev associated.
      Do this by adding a NL80211_ATTR_WDEV attribute
      to identify a wdev which may or may not also be
      a netdev.
      To simplify things, use a 64-bit value with the
      high 32 bits being the wiphy index for this new
      wdev identifier in the nl80211 API.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
  23. 05 Jul, 2012 1 commit
  24. 02 Jul, 2012 1 commit
  25. 28 Jun, 2012 1 commit