08 Dec, 2011

1 commit

  • This code has been on the list to remove for a long
    time, so disable it by default, add a warning to its
    Kconfig, and schedule it for removal in 3.5.

    The only known dependency, hal, has not required it
    since its 0.5.12 release, which was in early 2009
    and hal has since been deprecated completely.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

29 Dec, 2009

1 commit


22 Dec, 2009

1 commit

  • This patch provides infrastructure for machine translation of the
    regulatory rules database used by CRDA into a C data structure.
    It includes code for searching that database as an alternative
    to dynamic regulatory rules updates via CRDA. Most people should
    use CRDA instead of this infrastructure, but it provides a better
    alternative than the WIRELESS_OLD_REGULATORY infrastructure (which
    can now be removed).

    Signed-off-by: John W. Linville

    John W. Linville
     

20 Nov, 2009

1 commit


08 Oct, 2009

1 commit

  • Refactor wext to
    * split out iwpriv handling
    * split out iwspy handling
    * split out procfs support
    * allow cfg80211 to have wireless extensions compat code
    w/o CONFIG_WIRELESS_EXT

    After this, drivers need to
    - select WIRELESS_EXT - for wext support
    - select WEXT_PRIV - for iwpriv support
    - select WEXT_SPY - for iwspy support

    except cfg80211 -- which gets new hooks in wext-core.c
    and can then get wext handlers without CONFIG_WIRELESS_EXT.

    Wireless extensions procfs support is auto-selected
    based on PROC_FS and anything that requires the wext core
    (i.e. WIRELESS_EXT or CFG80211_WEXT).

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

09 Sep, 2009

1 commit


03 Sep, 2009

1 commit


29 Aug, 2009

1 commit

  • Bob reported that he got warnings in IBSS mode about
    the ssid_len being zero on a joined event, but only
    when kmemcheck was enabled. This appears to be due
    to a race condition between drivers and userspace,
    when the driver reports joined but the user in the
    meantime decided to leave the IBSS again, the warning
    would trigger. This was made more likely by kmemcheck
    delaying the code that does the check and sends the
    event.

    So first, make the warning trigger closer to the
    driver, which means it's not locked, but since only
    the warning depends on it that's ok.

    And secondly, users will not want to have spurious
    warnings at all, so make those that are known to be
    racy in such a way configurable.

    Reported-by: Bob Copeland
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

11 Jul, 2009

3 commits

  • Just on/off and timeout, and with a hacky cfg80211 method
    until we figure out what we want, though this is probably
    sufficient as we want to use pm_qos for wifi everywhere.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This introduces a new NL80211_CMD_TESTMODE for testing
    and calibration use with nl80211. There's no multiplexing
    like like iwpriv had, and the command is not available by
    default, it needs to be explicitly enabled in Kconfig and
    shouldn't be enabled in most kernels.

    The command requires a wiphy index or interface index to
    identify the device to operate on, and the new TESTDATA
    attribute. There also is API for sending replies to the
    command, and testmode multicast messages (on a testmode
    multicast group).

    I've also updated mac80211 to be able to pass through the
    command to the driver, since it itself doesn't implement
    the testmode command.

    Additionally, to give people an idea of how to use the
    command, I've added a little code to hwsim that makes use
    of the new command to set the powersave mode, this is
    currently done via debugfs and should remain there, and
    the testmode command only serves as an example of how to
    use this best -- with nested netlink attributes in the
    TESTDATA attribute. A hwsim testmode tool can be found at
    http://git.sipsolutions.net/hwsim.git/. This tool is BSD
    licensed so people can easily use it as a basis for their
    own internal fabrication and validation tools.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • The way I initially thought we could do wireless extensions
    is by making all the compat code in cfg80211 be independent
    of CONFIG_WIRELESS_EXT, but this is turning out to not be
    feasible. Therefore, fix the Kconfig help text and make the
    option default to yes, so people won't get a nasty surprise
    when mac80211 will get rid of its 'select WIRELESS_EXT' any
    time now.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

04 Jun, 2009

1 commit

  • To be easier on drivers and users, have cfg80211 register an
    rfkill structure that drivers can access. When soft-killed,
    simply take down all interfaces; when hard-killed the driver
    needs to notify us and we will take down the interfaces
    after the fact. While rfkilled, interfaces cannot be set UP.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

21 May, 2009

1 commit


28 Mar, 2009

2 commits


17 Mar, 2009

1 commit


26 Nov, 2008

1 commit

  • 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: Luis R. Rodriguez
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     

22 Nov, 2008

1 commit


01 Nov, 2008

1 commit


27 Oct, 2008

1 commit

  • The default for the regulatory compatibility option is wrong;
    if you picked the default you ended up with a non-functional wifi
    system (at least I did on Fedora 9 with iwl4965).
    I don't think even the October 2008 releases of the various distros
    has the new userland so clearly the default is wrong, and also
    we can't just go about deleting this in 2.6.29...

    Change the default to "y" and also adjust the config text a little to
    reflect this.

    This patch fixes regression #11859

    With thanks to Johannes Berg for the diagnostics

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

07 Oct, 2008

1 commit


16 Sep, 2008

1 commit

  • 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: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     

03 Sep, 2008

1 commit


15 Jul, 2008

1 commit

  • The /sys/class/net/*/wireless/ direcory is, as far as I know, not
    used by anyone. Additionally, the same data is available via wext
    ioctls. Hence the sysfs files are pretty much useless. This patch
    makes them optional and schedules them for removal.

    Signed-off-by: Johannes Berg
    Cc: Jean Tourrilhes
    Signed-off-by: John W. Linville

    Johannes Berg
     

29 Jan, 2008

1 commit


11 Oct, 2007

2 commits


26 Apr, 2007

3 commits

  • As scheduled, this patch removes the pointless wext over netlink code.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This patch creates the core cfg80211 code along with some sysfs bits.
    This is a stripped down version to allow mac80211 to function, but
    doesn't include any configuration yet except for creating and removing
    virtual interfaces.

    This patch includes the nl80211 header file but it only contains the
    interface types which the cfg80211 interface for creating virtual
    interfaces relies on.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This patch refactors the wireless Kconfig all over and already
    introduces net/wireless/Kconfig with just the WEXT bit for now,
    the cfg80211 patch will add to that as well.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg