1. 30 1月, 2009 2 次提交
  2. 20 12月, 2008 2 次提交
    • K
      mac80211: implement dynamic power save · 520eb820
      Kalle Valo 提交于
      This patch implements dynamic power save for mac80211. Basically it
      means enabling power save mode after an idle period. Implementing it
      dynamically gives a good compromise of low power consumption and low
      latency. Some hardware have support for this in firmware, but some
      require the host to do it.
      
      The dynamic power save is implemented by adding an timeout to
      ieee80211_subif_start_xmit(). The timeout can be enabled from userspace
      with Wireless Extensions. For example, the command below enables the
      dynamic power save and sets the time timeout to 500 ms:
      
      iwconfig wlan0 power timeout 500m
      
      Power save now only works with devices which handle power save in firmware.
      It's also disabled by default and the heuristics when and how to enable is
      considered as a policy decision and will be left for the userspace to handle.
      In case the firmware has support for this, drivers can disable this feature
      with IEEE80211_HW_NO_STACK_DYNAMIC_PS.
      
      Big thanks to Johannes Berg for the help with the design and code.
      Signed-off-by: NKalle Valo <kalle.valo@nokia.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      520eb820
    • K
      mac80211: enable IEEE80211_CONF_PS only when associated · e0cb686f
      Kalle Valo 提交于
      Also disable power save when disassociated. It makes no sense to have
      power save enabled while disassociated.
      
      iwlwifi seems to have this check in the driver, but it's better to do this
      in mac80211 instead.
      Signed-off-by: NKalle Valo <kalle.valo@nokia.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e0cb686f
  3. 13 12月, 2008 2 次提交
    • J
      mac80211: Disable requests for new scans in AP mode · b7a530d8
      Jouni Malinen 提交于
      AP mode operations are seriously affected if mac80211 runs through a
      multi-second scan while the AP is trying to send Beacon frames on the
      operation channel. While this could be implemented in a way that does
      not cause too many problems, it is not very simple and will require
      synchronization with Beacon frame scheduling in the drivers (scan one
      channel at a time between Beacon frames). Furthermore, such scanning
      takes quite a bit longer time and existing userspace applications
      would be likely to timeout while waiting for the results.
      
      For now, just refuse requests for new scans (SIOCSIWSCAN) when in AP
      mode. In practice, this moves the rejection from iwl* drivers into
      mac80211 to make it apply to every mac80211-based driver.
      
      This issue shows up in associated stations getting disconnected when
      something (e.g., Network Manager) requests a scan while the interface
      is in AP mode. When doing this continuously (e.g., NM does it every 120
      seconds), the network gets close to useless.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b7a530d8
    • J
      mac80211: remove fragmentation offload functionality · f546638c
      Johannes Berg 提交于
      There's no driver that actually does fragmentation on the
      device, and the callback is buggy (when it returns an error,
      mac80211's fragmentation status is changed so reading the
      frag threshold from userspace reads the new value despite
      the error). Let's just remove it, if we really find some
      hardware supporting it we can add it back later.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f546638c
  4. 05 12月, 2008 2 次提交
  5. 26 11月, 2008 1 次提交
  6. 11 11月, 2008 1 次提交
  7. 01 11月, 2008 6 次提交
  8. 15 10月, 2008 1 次提交
  9. 16 9月, 2008 4 次提交
  10. 23 8月, 2008 2 次提交
  11. 15 7月, 2008 5 次提交
  12. 09 7月, 2008 1 次提交
  13. 01 7月, 2008 1 次提交
  14. 27 6月, 2008 3 次提交
  15. 17 6月, 2008 1 次提交
    • D
      wext: Emit event stream entries correctly when compat. · ccc58057
      David S. Miller 提交于
      Three major portions to this change:
      
      1) Add IW_EV_COMPAT_LCP_LEN, IW_EV_COMPAT_POINT_OFF,
         and IW_EV_COMPAT_POINT_LEN helper defines.
      
      2) Delete iw_stream_check_add_*(), they are unused.
      
      3) Add iw_request_info argument to iwe_stream_add_*(), and use it to
         size the event and pointer lengths correctly depending upon whether
         IW_REQUEST_FLAG_COMPAT is set or not.
      
      4) The mechanical transformations to the drivers and wireless stack
         bits to get the iw_request_info passed down into the routines
         modified in #3.  Also, explicit references to IW_EV_LCP_LEN are
         replaced with iwe_stream_lcp_len(info).
      
      With a lot of help and bug fixes from Masakazu Mokuno.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccc58057
  16. 14 6月, 2008 1 次提交
  17. 10 6月, 2008 1 次提交
  18. 29 5月, 2008 1 次提交
  19. 21 5月, 2008 1 次提交
  20. 15 5月, 2008 1 次提交
    • B
      mac80211: use hardware flags for signal/noise units · 566bfe5a
      Bruno Randolf 提交于
      trying to clean up the signal/noise code. the previous code in mac80211 had
      confusing names for the related variables, did not have much definition of
      what units of signal and noise were provided and used implicit mechanisms from
      the wireless extensions.
      
      this patch introduces hardware capability flags to let the hardware specify
      clearly if it can provide signal and noise level values and which units it can
      provide. this also anticipates possible new units like RCPI in the future.
      
      for signal:
      
        IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
        IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
        IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW
      
      for noise we currently only have dBm:
      
        IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW
      
      if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
      to provide the maximum value (max_signal) it reports in order for applications
      to make sense of the signal values.
      
      i tried my best to find out for each driver what it can provide and update it
      but i'm not sure (?) for some of them and used the more conservative guess in
      doubt. this can be fixed easily after this patch has been merged by changing
      the hardware flags of the driver.
      
      DRIVER          SIGNAL    MAX	NOISE   QUAL
      -----------------------------------------------------------------
      adm8211         unspec(?) 100   n/a     missing
      at76_usb        unspec(?) (?)   unused  missing
      ath5k           dBm             dBm     percent rssi
      b43legacy       dBm             dBm     percent jssi(?)
      b43             dBm             dBm     percent jssi(?)
      iwl-3945        dBm             dBm     percent snr+more
      iwl-4965        dBm             dBm     percent snr+more
      p54             unspec    127   n/a     missing
      rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
        rt2400        dBm             n/a
        rt2500pci     dBm             n/a
        rt2500usb     dBm             n/a
        rt61pci       dBm             n/a
        rt73usb       dBm             n/a
      rtl8180         unspec(?) 65    n/a     (?)
      rtl8187         unspec(?) 65    (?)     noise(?)
      zd1211          dB(?)     100   n/a     percent
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      566bfe5a
  21. 17 4月, 2008 1 次提交