20 Dec, 2008
2 commits
-
HT management is done differently for AP and STA modes, unify
to just the ->config() callback since HT is fundamentally a
PHY property and cannot be per-BSS.Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote
the channel type ( NO_HT, HT20, HT40+, HT40- ).Signed-off-by: Johannes Berg
Signed-off-by: Sujith
Signed-off-by: John W. Linville -
This patch adds signal strength and transmission bitrate
to the station_info of nl80211.Signed-off-by: Henning Rogge
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
13 Dec, 2008
2 commits
-
Make sure sparse checks endianness when run on mac80211/cfg80211.
Signed-off-by: Johannes Berg
Cc: Sam Ravnborg
Signed-off-by: John W. Linville -
Fix two small bugs with HT frequency setting:
* HT is accepted even when the driver is incapable
* HT40 is accepted when the driver cannot do 40 MHz
(both on the selected band)Also simplify the code a little.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
07 Dec, 2008
1 commit
-
Fix incorrect use of loose in wext.c
It should be 'lose', not 'loose'.
Signed-off-by: Nick Andrew
Signed-off-by: David S. Miller
05 Dec, 2008
5 commits
-
This "fixes" the 11d oops I was seeing. This needs some more work but I
cannot work on it now.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Fixes the segfault I just pointed out.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
further reducing wext code in mac80211.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This patch moves the SIOCGIWNAME handling from mac80211 to cfg80211.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This patch adds new NL80211_CMD_SET_WIPHY attributes
NL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET to allow
userspace to set the operating channel (e.g., hostapd for AP mode).Signed-off-by: Jouni Malinen
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
26 Nov, 2008
11 commits
-
In order to be consistent with NL80211_ATTR_POWER_RULE_MAX_EIRP,
change NL80211_FREQUENCY_ATTR_MAX_TX_POWER to use mBm and U32 instead
of dBm and U8. This is a userspace interface change, but the previous
version had not yet been pushed upstream and there are no userspace
programs using this yet, so there is justification to get this change in
as long as it goes in before the previous version gets out.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
This is useful information to provide for userspace (e.g., hostapd needs
this to generate Country IE).Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
This adds API to cfg80211 to allow wireless drivers to inform
us if their firmware can handle regulatory considerations *and*
they cannot map these regulatory domains to an ISO / IEC 3166
alpha2. In these cases we skip the first regulatory hint instead
of expecting the driver to build their own regulatory structure,
providing us with an alpha2, or using the reg_notifier().Signed-off-by: Luis R. Rodriguez
Acked-by: Zhu Yi
Signed-off-by: John W. Linville -
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 -
Lets remain consistent and mark rds with > NL80211_MAX_SUPP_REG_RULES
number of reg rules as invalid in is_valid_rd().Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
kobject_uevent_env() can return an error but it just tells us
if the uvent was built/sent or not, it doesn't tell us anything
about what happened in userspace, whether the udev rule was present
nor does it tell us if CRDA was present or not. So remove
the informative complaint about it assuming it will tell us
such things.Note that you can determine if CRDA is present after loading cfg80211
by using:is_old_static_regdom(cfg80211_regdomain)
but this doesn't account for possible user install after initial
boot, and also for when the user uses the static EU regulatory
domain.Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
When intersecting it is possible that set_regdom() was called
with a regulatory domain which we'll only use as an aid to
build a final regulatory domain.Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
So far the __set_regdom() code is pretty generic as the
intersection case is fairly straight forward; this will however
change when 802.11d support is added so lets separate intersection
code for now in preparation for 802.11d support.This patch only has slight functional changes.
Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
We have control over the REGDOM_SET_BY_* macros passed
so remove the switch.This patch has no functional changes.
Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
We have complete control over REGDOM_SET_BY_* enum passed
down to __regulatory_hint() as such there is no need to
account for unexpected REGDOM_SET_BY_*'s, lets just remove
the switch statement as this code does not change and
won't change even when we add 802.11d support.This patch has no functional changes.
Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
Regulatory rules with negative frequencies are now
marked as invalid in is_valid_reg_rule().Signed-off-by: Luis R. Rodriguez
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
22 Nov, 2008
3 commits
-
Remove converting the MAC address to a string by a direct byte
conversion and use %pM instead, since the code is now boilerplate
use a macro to define the show functions, and also use the shorter
__ATTR_RO macro to define the attributes.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: John W. Linville
-
These bits are shared already between ipw2x00 and hostap, and could
probably be shared both more cleanly and with other drivers. This
commit simply relocates the code to lib80211 and adjusts the drivers
appropriately.Signed-off-by: John W. Linville
11 Nov, 2008
8 commits
-
Acked-by: Marcel Holtmann
Acked-by: Greg Kroah-Hartman
Signed-off-by: Kay Sievers
Signed-off-by: David S. Miller -
As regulatory_request gets bigger there will be more questions
of what things means, so clarify documenation for it and
keep track of the special alpha2 codes we use internally
and on the userspace regulatory agents.Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
There are certain scenerios where we require intersecting
two regulatory domains. This adds intersection support.
When we enable 802.11d support we will use this to intersect
the regulatory domain from the AP's country IE and what our
regulatory agent believes is correct for a country.This patch enables intersection for now in the case where
the last regdomain was set by a country IE which was parsed
and the user then wants to set the regulatory domain. Since
we don't support country IE parsing yet this code path will not
be hit, however this allows us to pave the way for 11d support.Intersection code has been tested in userspace with CRDA.
Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
A regulatory rule is invalid when the frequency difference
between the end of the frequency range and the start is 0.Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
Add a new attribute, NL80211_ATTR_WIPHY_TXQ_PARAMS, that can be used with
NL80211_CMD_SET_WIPHY for userspace (e.g., hostapd) to set TX queue
parameters (txop, cwmin, cwmax, aifs).Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Add a new attribute, NL80211_ATTR_BSS_BASIC_RATES, that can be used with
NL80211_CMD_SET_BSS for userspace (e.g., hostapd) to set which rates are
in the basic rate set.Signed-off-by: Jouni Malinen
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
This adds a helper function that, given a bitmap of basic
rates and a bitrate returns the response rate for this rate.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
01 Nov, 2008
8 commits
-
This function is only used once, move it closer to its caller.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This function has a few WARNs that may eventually trigger
when an AP sends rogue beacons, those must be removed. Some
of the comments in the function are also inappropriate as
this function is concerned with the global hint, not a per-
wiphy thing (which a multidomain flag on a wiphy would imply).I'm convinced that we don't need to do anything to implement
multi-domain capability as 802.11-2007 specifies it because
it makes only two things mandatory:
* starting of BSS/IBSS must have country information
(this can easily be done with a mac80211 patch)
* a STA must adopt the country information (we already have
the framework for this)But we don't have anything implemented anyway for now.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The code needs to be split out and cleaned up, so as a
first step remove the capability, to add it back in a
subsequent patch as a separate function. Also remove the
publically facing return value of the function and the
wiphy argument. A number of internal functions go from
being generic helpers to just being used for alpha2
setting.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The regdom struct is given to the core, so it might as well
free it in error conditions.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Also change escape_ssid to print_ssid to match print_mac semantics.
Signed-off-by: John W. Linville
-
Also use common backslash sequences like \t, \n, \r, and \\ as well as \0.
Signed-off-by: John W. Linville
-
It is unnecessary and of questionable value. Also remove
is_empty_ssid, as it is also unnecessary.Signed-off-by: John W. Linville