Update for revised 802.11 support:
o revised channel handling support; ifconfig now queries the kernel to find the list of available channels and handles channel promotion; channel attributes can be specified as part of the channel; e.g. 36:a for channel 36 in 11a (as opposed to turbo A or HT A) o use channel list to map between freq and IEEE channel #; this eliminates all knowledge of how the mapping is done and fixes handling of cases where channels overlap in the IEEE channel # space but are distinct in the frequency+attributes space (e.g. PSB) o add new knobs: bgscan, ff (Atheors fast frames), dturbo (Atheros Dynamic Turbo mode), bgscanidle, bgscanintvl, scanvalid, roam:rssi11a, roam:rssi11b, roam:rssi11g, roam:rate11a, roam:rate11b, roam:rate11g (roaming parameters), burst, doth (forthcoming 11h support) o print contents of WME, ATH, WPA, RSN, information elements with -v option o print signal strength in dBm o print noise floor in dBm o add list txpow to print tx power caps/channel o change default channel display in status to be more informative
This commit is contained in:
parent
68e8e04e93
commit
8f3591a5bb
@ -597,7 +597,7 @@ Set the interval at which beacon frames are sent when operating in
|
||||
ad-hoc or ap mode.
|
||||
The
|
||||
.Ar interval
|
||||
parameter is specified in TU's (1/1024 msecs).
|
||||
parameter is specified in TU's (1024 usecs).
|
||||
By default beacon frames are transmitted every 100 TU's.
|
||||
.It Cm bmissthreshold Ar count
|
||||
Set the number of consecutive missed beacons at which the station
|
||||
@ -664,6 +664,48 @@ Some
|
||||
adaptors ignore this setting unless you are in ad-hoc mode.
|
||||
Alternatively the frequency, in megahertz, may be specified
|
||||
instead of the channel number.
|
||||
.Pp
|
||||
When there are several ways to use a channel the channel
|
||||
number/frequency may be appended with attributes to clarify.
|
||||
For example, if a device is capable of operating on channel 6
|
||||
with 802.11n and 802.11g then one can specify that g-only use
|
||||
should be used by specifying ``6:g''.
|
||||
Similarly the channel width can be specified by appending it
|
||||
with ``/''; e.g. ``6/40'' specifies a 40MHz wide channel,
|
||||
These attributes can be combined as in: ``6:ht/40''.
|
||||
The full set of flags specified following a `:'' are:
|
||||
.Cm a
|
||||
(802.11a),
|
||||
.Cm b
|
||||
(802.11b),
|
||||
.Cm d
|
||||
(Atheros Dynamic Turbo mode),
|
||||
.Cm g
|
||||
(802.11g),
|
||||
.Cm h
|
||||
or
|
||||
.Cm n
|
||||
(802.11n aka HT),
|
||||
.Cm s
|
||||
(Atheros Static Turbo mode),
|
||||
and
|
||||
.Cm t
|
||||
(Atheros Dynamic Turbo mode, or appendeded to ``st'' and ``dt'').
|
||||
The full set of channel widths following a '/' are:
|
||||
.Cm 5
|
||||
(5MHz aka quarter-rate channel),
|
||||
.Cm 10
|
||||
(10MHz aka half-rate channel),
|
||||
.Cm 20
|
||||
(20MHz mostly for use in specifying ht20),
|
||||
and
|
||||
.Cm 40
|
||||
(40MHz mostly for use in specifying ht40),
|
||||
In addition,
|
||||
a 40MHz HT channel specification may include the location
|
||||
of the extension channel by appending ``+'' or ``-'' for above and below,
|
||||
respectively; e.g. ``2437:ht/40+'' specifies 40MHz wide HT operation
|
||||
with the center channel at frequency 2437 and the extension channel above.
|
||||
.It Cm deftxkey Ar index
|
||||
Set the default key to use for transmission.
|
||||
Typically this is only set when using WEP encryption.
|
||||
@ -815,7 +857,8 @@ Use
|
||||
.Fl powersave
|
||||
to disable powersave operation.
|
||||
.It Cm powersavesleep Ar sleep
|
||||
Set the desired max powersave sleep time in milliseconds.
|
||||
Set the desired max powersave sleep time in TU's (1024 usecs).
|
||||
By default the max powersave sleep time is 100 TU's.
|
||||
.It Cm protmode Ar technique
|
||||
For interfaces operating in 802.11g, use the specified
|
||||
.Ar technique
|
||||
|
@ -140,3 +140,9 @@ void ifmaybeload(const char *name);
|
||||
|
||||
typedef void clone_callback_func(int, struct ifreq *);
|
||||
void clone_setcallback(clone_callback_func *);
|
||||
|
||||
/*
|
||||
* XXX expose this so modules that neeed to know of any pending
|
||||
* operations on ifmedia can avoid cmd line ordering confusion.
|
||||
*/
|
||||
struct ifmediareq *ifmedia_getstate(int s);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -184,8 +184,8 @@ media_status(int s)
|
||||
free(media_list);
|
||||
}
|
||||
|
||||
static struct ifmediareq *
|
||||
getifmediastate(int s)
|
||||
struct ifmediareq *
|
||||
ifmedia_getstate(int s)
|
||||
{
|
||||
static struct ifmediareq *ifmr = NULL;
|
||||
int *mwords;
|
||||
@ -249,7 +249,7 @@ setmedia(const char *val, int d, int s, const struct afswtch *afp)
|
||||
struct ifmediareq *ifmr;
|
||||
int subtype;
|
||||
|
||||
ifmr = getifmediastate(s);
|
||||
ifmr = ifmedia_getstate(s);
|
||||
|
||||
/*
|
||||
* We are primarily concerned with the top-level type.
|
||||
@ -294,7 +294,7 @@ domediaopt(const char *val, int clear, int s)
|
||||
struct ifmediareq *ifmr;
|
||||
int options;
|
||||
|
||||
ifmr = getifmediastate(s);
|
||||
ifmr = ifmedia_getstate(s);
|
||||
|
||||
options = get_media_options(IFM_TYPE(ifmr->ifm_ulist[0]), val);
|
||||
|
||||
@ -319,7 +319,7 @@ setmediainst(const char *val, int d, int s, const struct afswtch *afp)
|
||||
struct ifmediareq *ifmr;
|
||||
int inst;
|
||||
|
||||
ifmr = getifmediastate(s);
|
||||
ifmr = ifmedia_getstate(s);
|
||||
|
||||
inst = atoi(val);
|
||||
if (inst < 0 || inst > IFM_INST_MAX)
|
||||
@ -338,7 +338,7 @@ setmediamode(const char *val, int d, int s, const struct afswtch *afp)
|
||||
struct ifmediareq *ifmr;
|
||||
int mode;
|
||||
|
||||
ifmr = getifmediastate(s);
|
||||
ifmr = ifmedia_getstate(s);
|
||||
|
||||
mode = get_media_mode(IFM_TYPE(ifmr->ifm_ulist[0]), val);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user