1. 17 7月, 2012 1 次提交
    • L
      cfg80211: add cellular base station regulatory hint support · 57b5ce07
      Luis R. Rodriguez 提交于
      Cellular base stations can provide hints to cfg80211 about
      where they think we are. This can be done for example on
      a cell phone. To enable these hints we simply allow them
      through as user regulatory hints but we allow userspace
      to clasify the hint as either coming directly from the
      user or coming from a cellular base station. This option
      is only available when you enable
      CONFIG_CFG80211_CERTIFICATION_ONUS.
      
      The base station hints themselves will not be processed
      by the core unless at least one device on the system
      supports this feature.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      57b5ce07
  2. 05 1月, 2012 1 次提交
  3. 22 11月, 2011 1 次提交
  4. 15 9月, 2011 1 次提交
  5. 10 3月, 2011 1 次提交
  6. 19 6月, 2010 1 次提交
  7. 02 2月, 2010 1 次提交
    • L
      cfg80211: add regulatory hint disconnect support · 09d989d1
      Luis R. Rodriguez 提交于
      This adds a new regulatory hint to be used when we know all
      devices have been disconnected and idle. This can happen
      when we suspend, for instance. When we disconnect we can
      no longer assume the same regulatory rules learned from
      a country IE or beacon hints are applicable so restore
      regulatory settings to an initial state.
      
      Since driver hints are cached on the wiphy that called
      the hint, those hints are not reproduced onto cfg80211
      as the wiphy will respect its own wiphy->regd regardless.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      09d989d1
  8. 16 1月, 2010 1 次提交
    • L
      cfg80211: make regulatory_hint_11d() band specific · 84920e3e
      Luis R. Rodriguez 提交于
      In practice APs do not send country IE channel triplets for channels
      the AP is not operating on and if they were to do so they would have
      to use the regulatory extension which we currently do not process.
      No AP has been seen in practice that does this though so just drop
      those country IEs.
      
      Additionally it has been noted the first series of country IE
      channels triplets are specific to the band the AP sends. Propagate
      the band on which the country IE was found on reject the country
      IE then if the triplets are ever oustide of the band.
      
      Although we now won't process country IE information with multiple
      band information we leave the intersection work as is as it is
      technically possible for someone to want to eventually process these
      type of country IEs with regulatory extensions.
      
      Cc: Jouni Malinen <jouni.malinen@atheros.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      84920e3e
  9. 05 8月, 2009 1 次提交
  10. 04 8月, 2009 1 次提交
    • L
      cfg80211: fix regression on beacon world roaming feature · 37184244
      Luis R. Rodriguez 提交于
      A regression was added through patch a4ed90d6:
      
      "cfg80211: respect API on orig_flags on channel for beacon hint"
      
      We did indeed respect _orig flags but the intention was not clearly
      stated in the commit log. This patch fixes firmware issues picked
      up by iwlwifi when we lift passive scan of beaconing restrictions
      on channels its EEPROM has been configured to always enable.
      
      By doing so though we also disallowed beacon hints on devices
      registering their wiphy with custom world regulatory domains
      enabled, this happens to be currently ath5k, ath9k and ar9170.
      The passive scan and beacon restrictions on those devices would
      never be lifted even if we did find a beacon and the hardware did
      support such enhancements when world roaming.
      
      Since Johannes indicates iwlwifi firmware cannot be changed to
      allow beacon hinting we set up a flag now to specifically allow
      drivers to disable beacon hints for devices which cannot use them.
      
      We enable the flag on iwlwifi to disable beacon hints and by default
      enable it for all other drivers. It should be noted beacon hints lift
      passive scan flags and beacon restrictions when we receive a beacon from
      an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz
      band. We don't bother with channels 1-11 as those channels are allowed
      world wide.
      
      This should fix world roaming for ath5k, ath9k and ar9170, thereby
      improving scan time when we receive the first beacon from any AP,
      and also enabling beaconing operation (AP/IBSS/Mesh) on cards which
      would otherwise not be allowed to do so. Drivers not using custom
      regulatory stuff (wiphy_apply_custom_regulatory()) were not affected
      by this as the orig_flags for the channels would have been cleared
      upon wiphy registration.
      
      I tested this with a world roaming ath5k card.
      
      Cc: Jouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      37184244
  11. 28 2月, 2009 3 次提交
  12. 10 2月, 2009 1 次提交
  13. 30 1月, 2009 1 次提交
  14. 26 11月, 2008 1 次提交
    • L
      cfg80211/mac80211: Add 802.11d support · 3f2355cb
      Luis R. Rodriguez 提交于
      This adds country IE parsing to mac80211 and enables its usage
      within the new regulatory infrastructure in cfg80211. We parse
      the country IEs only on management beacons for the BSSID you are
      associated to and disregard the IEs when the country and environment
      (indoor, outdoor, any) matches the already processed country IE.
      
      To avoid following misinformed or outdated APs we build and use
      a regulatory domain out of the intersection between what the AP
      provides us on the country IE and what CRDA is aware is allowed
      on the same country.
      
      A secondary device is allowed to follow only the same country IE
      as it make no sense for two devices on a system to be in two
      different countries.
      
      In the case the AP is using country IEs for an incorrect country
      the user may help compliance further by setting the regulatory
      domain before or after the IE is parsed and in that case another
      intersection will be performed.
      
      CONFIG_WIRELESS_OLD_REGULATORY is supported but requires CRDA
      present.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3f2355cb
  15. 01 11月, 2008 3 次提交
  16. 25 9月, 2008 2 次提交
  17. 16 9月, 2008 1 次提交
    • L
      cfg80211: Add new wireless regulatory infrastructure · b2e1b302
      Luis R. Rodriguez 提交于
      This adds the new wireless regulatory infrastructure. The
      main motiviation behind this was to centralize regulatory
      code as each driver was implementing their own regulatory solution,
      and to replace the initial centralized code we have where:
      
      * only 3 regulatory domains are supported: US, JP and EU
      * regulatory domains can only be changed through module parameter
      * all rules were built statically in the kernel
      
      We now have support for regulatory domains for many countries
      and regulatory domains are now queried through a userspace agent
      through udev allowing distributions to update regulatory rules
      without updating the kernel.
      
      Each driver can regulatory_hint() a regulatory domain
      based on either their EEPROM mapped regulatory domain value to a
      respective ISO/IEC 3166-1 country code or pass an internally built
      regulatory domain. We also add support to let the user set the
      regulatory domain through userspace in case of faulty EEPROMs to
      further help compliance.
      
      Support for world roaming will be added soon for cards capable of
      this.
      
      For more information see:
      
      http://wireless.kernel.org/en/developers/Regulatory/CRDA
      
      For now we leave an option to enable the old module parameter,
      ieee80211_regdom, and to build the 3 old regdomains statically
      (US, JP and EU). This option is CONFIG_WIRELESS_OLD_REGULATORY.
      These old static definitions and the module parameter is being
      scheduled for removal for 2.6.29. Note that if you use this
      you won't make use of a world regulatory domain as its pointless.
      If you leave this option enabled and if CRDA is present and you
      use US or JP we will try to ask CRDA to update us a regulatory
      domain for us.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b2e1b302