Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
IEEE80211(4)           FreeBSD Kernel Interfaces Manual           IEEE80211(4)

NAME
     ieee80211 - standard interface to IEEE 802.11 devices

SYNOPSIS
     #include <sys/types.h>
     #include <sys/socket.h>
     #include <net/if.h>
     #include <net/ethernet.h>
     #include <net/if_ieee80211.h>

DESCRIPTION
     This section describes the standard interface to configuration and status
     information on IEEE 802.11 devices.  Most devices support options not
     configurable by this interface.  They must be set by their respective,
     specific control program.  The interface is via one of the following
     ioctl(2) calls on a socket:

     SIOCG80211      Get configuration or status information.

     SIOCS80211      Set configuration information.

     These requests are made via a modified ifreq structure.  This structure
     is defined as follows:

     struct ieee80211req {
             char            i_name[IFNAMSIZ];       /* if_name, e.g. "wi0" */
             u_int16_t       i_type;                 /* req type */
             int16_t         i_val;                  /* Index or simple value */
             int16_t         i_len;                  /* Index or simple value */
             void            *i_data;                /* Extra data */
     };

     For SIOCG80211 the following values of i_type are valid:

     IEEE80211_IOC_SSID                Returns the requested SSID by copying
                                       it into the buffer pointed to by i_data
                                       and setting i_len to the length.  If
                                       i_val is >= 0 then the request refers
                                       to the configured value for that slot.
                                       Generally, 0 is the only valid value,
                                       but some interfaces support more SSIDs.
                                       If i_val is -1 then the request refers
                                       to the currently active value.

     IEEE80211_IOC_NUMSSIDS            Returns the number of SSIDs this card
                                       supports.  In most cases, this is 1,
                                       but some devices such as an(4) support
                                       more.

     IEEE80211_IOC_WEP                 Returns the current WEP status in
                                       i_val.  Valid values are
                                       IEEE80211_WEP_NOSUP, IEEE80211_WEP_ON,
                                       IEEE80211_WEP_OFF, and
                                       IEEE80211_WEP_MIXED.  Respectively,
                                       these values mean unsupported,
                                       mandatory for all devices, off, and on,
                                       but not required for all devices.

     IEEE80211_IOC_WEPKEY              Returns the requested WEP key via
                                       i_data and its length via i_len.  If
                                       the device does not support returning
                                       the WEP key or the user is not root
                                       then the key may be returned as all
                                       zeros.  Technically this is a valid
                                       key, but it's the kind of key an idiot
                                       would put on his luggage so we use it
                                       as a special value.  Generally, only
                                       four WEP keys are allowed, but some
                                       devices support more.  If so, the first
                                       four (0-3) are the standard keys stored
                                       in volatile storage and the others are
                                       device specific.

     IEEE80211_IOC_NUMWEPKEYS          Returns the number of WEP keys
                                       supported by this device, generally 4.
                                       A device that does not support WEP may
                                       either report 0 or simply return
                                       EINVAL.

     IEEE80211_IOC_WEPTXKEY            Returns the WEP key used for
                                       transmission.

     IEEE80211_IOC_AUTHMODE            Returns the current authentication mode
                                       in i_val.  Valid values are
                                       IEEE80211_AUTH_NONE,
                                       IEEE80211_AUTH_OPEN, and
                                       IEEE80211_AUTH_SHARED.

     IEEE80211_IOC_STATIONNAME         Returns the station name via i_data and
                                       its length via i_len.  While all known
                                       devices seem to support this in some
                                       way or another, they all do it
                                       differently and it appears to not have
                                       anything to do with the actual IEEE
                                       802.11 standard so making up an answer
                                       may be necessary for future devices.

     IEEE80211_IOC_CHANNEL             Returns the current direct sequence
                                       spread spectrum channel in use.

     IEEE80211_IOC_POWERSAVE           Returns the current powersaving mode.
                                       Valid values are
                                       IEEE80211_POWERSAVE_NOSUP,
                                       IEEE80211_POWERSAVE_OFF,
                                       IEEE80211_POWERSAVE_ON,
                                       IEEE80211_POWERSAVE_CAM,
                                       IEEE80211_POWERSAVE_PSP, and
                                       IEEE80211_POWERSAVE_PSP_CAM.
                                       Currently, IEEE80211_POWERSAVE_ON is
                                       defined to be equal to
                                       IEEE80211_POWERSAVE_CAM, but this may
                                       be incorrect.

     IEEE80211_IOC_POWERSAVESLEEP      Returns the powersave sleep time in
                                       msec in i_val.

     For SIOCS80211 the following values of i_type are valid:

     IEEE80211_IOC_SSID                Set the desired SSID for infrastructure
                                       and ad-hoc modes to value given by
                                       i_data and i_len.  The length should be
                                       no longer than 32 characters.

     IEEE80211_IOC_WEP                 Set the current WEP mode to the value
                                       given in i_val.  Valid values are the
                                       same as those for this value above.
                                       Devices which do not support all modes
                                       may choose to either return EINVAL or
                                       choose a reasonable alternate
                                       (supported) setting.

     IEEE80211_IOC_WEPKEY              Set the WEP key indicated by i_val to
                                       the value given by i_data and i_len.
                                       Generally, valid values of i_len are 0,
                                       5, and 13 though not all devices with
                                       WEP support have support for 13-byte
                                       keys.

     IEEE80211_IOC_WEPTXKEY            Set the WEP key used for transmission
                                       to the value in i_val.  Not all values
                                       which are valid for setting keys may be
                                       valid for setting transmit keys due to
                                       strange device interfaces.

     IEEE80211_IOC_AUTHMODE            Set the current authorization mode to
                                       the value given in i_val.  Valid values
                                       are given above.  Not all devices
                                       support this.

     IEEE80211_IOC_STATIONNAME         Set the station name to the value given
                                       by i_data and i_len.  The standard does
                                       not appear to deal with this feature so
                                       the range of valid values may vary from
                                       device to device.

     IEEE80211_IOC_CHANNEL             Set the desired ad-hoc channel to the
                                       value given by i_val.  On some devices
                                       this has an impact on infrastructure
                                       mode as well.  Valid values are 1-14,
                                       but 0 should be allowed and should
                                       return the device to the default value.
                                       May devices support this directly by
                                       converting any invalid value to the
                                       default value.

     IEEE80211_IOC_POWERSAVE           Set the current powersaving mode to the
                                       value given in i_val.  Valid values are
                                       the same as those for this value above.
                                       Devices which do not support all modes
                                       may choose to either return EINVAL or
                                       choose a reasonable alternate
                                       (supported) setting.  Most devices only
                                       support CAM mode.

     IEEE80211_IOC_POWERSAVESLEEP      Set the powersave sleep time in msec to
                                       the value in i_val.

SEE ALSO
     ioctl(2), an(4), ray(4), wi(4), ancontrol(8), ifconfig(8), raycontrol(8),
     wicontrol(8)

HISTORY
     The ieee80211 manual appeared in FreeBSD 4.3.

FreeBSD 11.0-PRERELEASE        February 23, 2001       FreeBSD 11.0-PRERELEASE

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ieee80211&sektion=4&manpath=FreeBSD+5.3-RELEASE+and+Ports>

home | help