Home | History | Annotate | Line # | Download | only in hostapd
hostapd.conf revision 1.1
      1  1.1  christos ##### hostapd configuration file ##############################################
      2  1.1  christos # Empty lines and lines starting with # are ignored
      3  1.1  christos 
      4  1.1  christos # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
      5  1.1  christos # management frames); ath0 for madwifi
      6  1.1  christos interface=wlan0
      7  1.1  christos 
      8  1.1  christos # In case of madwifi, atheros, and nl80211 driver interfaces, an additional
      9  1.1  christos # configuration parameter, bridge, may be used to notify hostapd if the
     10  1.1  christos # interface is included in a bridge. This parameter is not used with Host AP
     11  1.1  christos # driver. If the bridge parameter is not set, the drivers will automatically
     12  1.1  christos # figure out the bridge interface (assuming sysfs is enabled and mounted to
     13  1.1  christos # /sys) and this parameter may not be needed.
     14  1.1  christos #
     15  1.1  christos # For nl80211, this parameter can be used to request the AP interface to be
     16  1.1  christos # added to the bridge automatically (brctl may refuse to do this before hostapd
     17  1.1  christos # has been started to change the interface mode). If needed, the bridge
     18  1.1  christos # interface is also created.
     19  1.1  christos #bridge=br0
     20  1.1  christos 
     21  1.1  christos # Driver interface type (hostap/wired/madwifi/test/none/nl80211/bsd);
     22  1.1  christos # default: hostap). nl80211 is used with all Linux mac80211 drivers.
     23  1.1  christos # Use driver=none if building hostapd as a standalone RADIUS server that does
     24  1.1  christos # not control any wireless/wired driver.
     25  1.1  christos # driver=hostap
     26  1.1  christos 
     27  1.1  christos # hostapd event logger configuration
     28  1.1  christos #
     29  1.1  christos # Two output method: syslog and stdout (only usable if not forking to
     30  1.1  christos # background).
     31  1.1  christos #
     32  1.1  christos # Module bitfield (ORed bitfield of modules that will be logged; -1 = all
     33  1.1  christos # modules):
     34  1.1  christos # bit 0 (1) = IEEE 802.11
     35  1.1  christos # bit 1 (2) = IEEE 802.1X
     36  1.1  christos # bit 2 (4) = RADIUS
     37  1.1  christos # bit 3 (8) = WPA
     38  1.1  christos # bit 4 (16) = driver interface
     39  1.1  christos # bit 5 (32) = IAPP
     40  1.1  christos # bit 6 (64) = MLME
     41  1.1  christos #
     42  1.1  christos # Levels (minimum value for logged events):
     43  1.1  christos #  0 = verbose debugging
     44  1.1  christos #  1 = debugging
     45  1.1  christos #  2 = informational messages
     46  1.1  christos #  3 = notification
     47  1.1  christos #  4 = warning
     48  1.1  christos #
     49  1.1  christos logger_syslog=-1
     50  1.1  christos logger_syslog_level=2
     51  1.1  christos logger_stdout=-1
     52  1.1  christos logger_stdout_level=2
     53  1.1  christos 
     54  1.1  christos # Dump file for state information (on SIGUSR1)
     55  1.1  christos dump_file=/tmp/hostapd.dump
     56  1.1  christos 
     57  1.1  christos # Interface for separate control program. If this is specified, hostapd
     58  1.1  christos # will create this directory and a UNIX domain socket for listening to requests
     59  1.1  christos # from external programs (CLI/GUI, etc.) for status information and
     60  1.1  christos # configuration. The socket file will be named based on the interface name, so
     61  1.1  christos # multiple hostapd processes/interfaces can be run at the same time if more
     62  1.1  christos # than one interface is used.
     63  1.1  christos # /var/run/hostapd is the recommended directory for sockets and by default,
     64  1.1  christos # hostapd_cli will use it when trying to connect with hostapd.
     65  1.1  christos ctrl_interface=/var/run/hostapd
     66  1.1  christos 
     67  1.1  christos # Access control for the control interface can be configured by setting the
     68  1.1  christos # directory to allow only members of a group to use sockets. This way, it is
     69  1.1  christos # possible to run hostapd as root (since it needs to change network
     70  1.1  christos # configuration and open raw sockets) and still allow GUI/CLI components to be
     71  1.1  christos # run as non-root users. However, since the control interface can be used to
     72  1.1  christos # change the network configuration, this access needs to be protected in many
     73  1.1  christos # cases. By default, hostapd is configured to use gid 0 (root). If you
     74  1.1  christos # want to allow non-root users to use the contron interface, add a new group
     75  1.1  christos # and change this value to match with that group. Add users that should have
     76  1.1  christos # control interface access to this group.
     77  1.1  christos #
     78  1.1  christos # This variable can be a group name or gid.
     79  1.1  christos #ctrl_interface_group=wheel
     80  1.1  christos ctrl_interface_group=0
     81  1.1  christos 
     82  1.1  christos 
     83  1.1  christos ##### IEEE 802.11 related configuration #######################################
     84  1.1  christos 
     85  1.1  christos # SSID to be used in IEEE 802.11 management frames
     86  1.1  christos ssid=test
     87  1.1  christos 
     88  1.1  christos # Country code (ISO/IEC 3166-1). Used to set regulatory domain.
     89  1.1  christos # Set as needed to indicate country in which device is operating.
     90  1.1  christos # This can limit available channels and transmit power.
     91  1.1  christos #country_code=US
     92  1.1  christos 
     93  1.1  christos # Enable IEEE 802.11d. This advertises the country_code and the set of allowed
     94  1.1  christos # channels and transmit power levels based on the regulatory limits. The
     95  1.1  christos # country_code setting must be configured with the correct country for
     96  1.1  christos # IEEE 802.11d functions.
     97  1.1  christos # (default: 0 = disabled)
     98  1.1  christos #ieee80211d=1
     99  1.1  christos 
    100  1.1  christos # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
    101  1.1  christos # Default: IEEE 802.11b
    102  1.1  christos hw_mode=a
    103  1.1  christos 
    104  1.1  christos # Channel number (IEEE 802.11)
    105  1.1  christos # (default: 0, i.e., not set)
    106  1.1  christos # Please note that some drivers (e.g., madwifi) do not use this value from
    107  1.1  christos # hostapd and the channel will need to be configuration separately with
    108  1.1  christos # iwconfig.
    109  1.1  christos channel=60
    110  1.1  christos 
    111  1.1  christos # Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
    112  1.1  christos beacon_int=100
    113  1.1  christos 
    114  1.1  christos # DTIM (delivery trafic information message) period (range 1..255):
    115  1.1  christos # number of beacons between DTIMs (1 = every beacon includes DTIM element)
    116  1.1  christos # (default: 2)
    117  1.1  christos dtim_period=2
    118  1.1  christos 
    119  1.1  christos # Maximum number of stations allowed in station table. New stations will be
    120  1.1  christos # rejected after the station table is full. IEEE 802.11 has a limit of 2007
    121  1.1  christos # different association IDs, so this number should not be larger than that.
    122  1.1  christos # (default: 2007)
    123  1.1  christos max_num_sta=255
    124  1.1  christos 
    125  1.1  christos # RTS/CTS threshold; 2347 = disabled (default); range 0..2347
    126  1.1  christos # If this field is not included in hostapd.conf, hostapd will not control
    127  1.1  christos # RTS threshold and 'iwconfig wlan# rts <val>' can be used to set it.
    128  1.1  christos rts_threshold=2347
    129  1.1  christos 
    130  1.1  christos # Fragmentation threshold; 2346 = disabled (default); range 256..2346
    131  1.1  christos # If this field is not included in hostapd.conf, hostapd will not control
    132  1.1  christos # fragmentation threshold and 'iwconfig wlan# frag <val>' can be used to set
    133  1.1  christos # it.
    134  1.1  christos fragm_threshold=2346
    135  1.1  christos 
    136  1.1  christos # Rate configuration
    137  1.1  christos # Default is to enable all rates supported by the hardware. This configuration
    138  1.1  christos # item allows this list be filtered so that only the listed rates will be left
    139  1.1  christos # in the list. If the list is empty, all rates are used. This list can have
    140  1.1  christos # entries that are not in the list of rates the hardware supports (such entries
    141  1.1  christos # are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110.
    142  1.1  christos # If this item is present, at least one rate have to be matching with the rates
    143  1.1  christos # hardware supports.
    144  1.1  christos # default: use the most common supported rate setting for the selected
    145  1.1  christos # hw_mode (i.e., this line can be removed from configuration file in most
    146  1.1  christos # cases)
    147  1.1  christos #supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
    148  1.1  christos 
    149  1.1  christos # Basic rate set configuration
    150  1.1  christos # List of rates (in 100 kbps) that are included in the basic rate set.
    151  1.1  christos # If this item is not included, usually reasonable default set is used.
    152  1.1  christos #basic_rates=10 20
    153  1.1  christos #basic_rates=10 20 55 110
    154  1.1  christos #basic_rates=60 120 240
    155  1.1  christos 
    156  1.1  christos # Short Preamble
    157  1.1  christos # This parameter can be used to enable optional use of short preamble for
    158  1.1  christos # frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network performance.
    159  1.1  christos # This applies only to IEEE 802.11b-compatible networks and this should only be
    160  1.1  christos # enabled if the local hardware supports use of short preamble. If any of the
    161  1.1  christos # associated STAs do not support short preamble, use of short preamble will be
    162  1.1  christos # disabled (and enabled when such STAs disassociate) dynamically.
    163  1.1  christos # 0 = do not allow use of short preamble (default)
    164  1.1  christos # 1 = allow use of short preamble
    165  1.1  christos #preamble=1
    166  1.1  christos 
    167  1.1  christos # Station MAC address -based authentication
    168  1.1  christos # Please note that this kind of access control requires a driver that uses
    169  1.1  christos # hostapd to take care of management frame processing and as such, this can be
    170  1.1  christos # used with driver=hostap or driver=nl80211, but not with driver=madwifi.
    171  1.1  christos # 0 = accept unless in deny list
    172  1.1  christos # 1 = deny unless in accept list
    173  1.1  christos # 2 = use external RADIUS server (accept/deny lists are searched first)
    174  1.1  christos macaddr_acl=0
    175  1.1  christos 
    176  1.1  christos # Accept/deny lists are read from separate files (containing list of
    177  1.1  christos # MAC addresses, one per line). Use absolute path name to make sure that the
    178  1.1  christos # files can be read on SIGHUP configuration reloads.
    179  1.1  christos #accept_mac_file=/etc/hostapd.accept
    180  1.1  christos #deny_mac_file=/etc/hostapd.deny
    181  1.1  christos 
    182  1.1  christos # IEEE 802.11 specifies two authentication algorithms. hostapd can be
    183  1.1  christos # configured to allow both of these or only one. Open system authentication
    184  1.1  christos # should be used with IEEE 802.1X.
    185  1.1  christos # Bit fields of allowed authentication algorithms:
    186  1.1  christos # bit 0 = Open System Authentication
    187  1.1  christos # bit 1 = Shared Key Authentication (requires WEP)
    188  1.1  christos auth_algs=3
    189  1.1  christos 
    190  1.1  christos # Send empty SSID in beacons and ignore probe request frames that do not
    191  1.1  christos # specify full SSID, i.e., require stations to know SSID.
    192  1.1  christos # default: disabled (0)
    193  1.1  christos # 1 = send empty (length=0) SSID in beacon and ignore probe request for
    194  1.1  christos #     broadcast SSID
    195  1.1  christos # 2 = clear SSID (ASCII 0), but keep the original length (this may be required
    196  1.1  christos #     with some clients that do not support empty SSID) and ignore probe
    197  1.1  christos #     requests for broadcast SSID
    198  1.1  christos ignore_broadcast_ssid=0
    199  1.1  christos 
    200  1.1  christos # TX queue parameters (EDCF / bursting)
    201  1.1  christos # default for all these fields: not set, use hardware defaults
    202  1.1  christos # tx_queue_<queue name>_<param>
    203  1.1  christos # queues: data0, data1, data2, data3, after_beacon, beacon
    204  1.1  christos #		(data0 is the highest priority queue)
    205  1.1  christos # parameters:
    206  1.1  christos #   aifs: AIFS (default 2)
    207  1.1  christos #   cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023)
    208  1.1  christos #   cwmax: cwMax (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023); cwMax >= cwMin
    209  1.1  christos #   burst: maximum length (in milliseconds with precision of up to 0.1 ms) for
    210  1.1  christos #          bursting
    211  1.1  christos #
    212  1.1  christos # Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
    213  1.1  christos # These parameters are used by the access point when transmitting frames
    214  1.1  christos # to the clients.
    215  1.1  christos #
    216  1.1  christos # Low priority / AC_BK = background
    217  1.1  christos #tx_queue_data3_aifs=7
    218  1.1  christos #tx_queue_data3_cwmin=15
    219  1.1  christos #tx_queue_data3_cwmax=1023
    220  1.1  christos #tx_queue_data3_burst=0
    221  1.1  christos # Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0
    222  1.1  christos #
    223  1.1  christos # Normal priority / AC_BE = best effort
    224  1.1  christos #tx_queue_data2_aifs=3
    225  1.1  christos #tx_queue_data2_cwmin=15
    226  1.1  christos #tx_queue_data2_cwmax=63
    227  1.1  christos #tx_queue_data2_burst=0
    228  1.1  christos # Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0
    229  1.1  christos #
    230  1.1  christos # High priority / AC_VI = video
    231  1.1  christos #tx_queue_data1_aifs=1
    232  1.1  christos #tx_queue_data1_cwmin=7
    233  1.1  christos #tx_queue_data1_cwmax=15
    234  1.1  christos #tx_queue_data1_burst=3.0
    235  1.1  christos # Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0
    236  1.1  christos #
    237  1.1  christos # Highest priority / AC_VO = voice
    238  1.1  christos #tx_queue_data0_aifs=1
    239  1.1  christos #tx_queue_data0_cwmin=3
    240  1.1  christos #tx_queue_data0_cwmax=7
    241  1.1  christos #tx_queue_data0_burst=1.5
    242  1.1  christos # Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3
    243  1.1  christos #
    244  1.1  christos # Special queues; normally not user configurable
    245  1.1  christos #
    246  1.1  christos #tx_queue_after_beacon_aifs=2
    247  1.1  christos #tx_queue_after_beacon_cwmin=15
    248  1.1  christos #tx_queue_after_beacon_cwmax=1023
    249  1.1  christos #tx_queue_after_beacon_burst=0
    250  1.1  christos #
    251  1.1  christos #tx_queue_beacon_aifs=2
    252  1.1  christos #tx_queue_beacon_cwmin=3
    253  1.1  christos #tx_queue_beacon_cwmax=7
    254  1.1  christos #tx_queue_beacon_burst=1.5
    255  1.1  christos 
    256  1.1  christos # 802.1D Tag (= UP) to AC mappings
    257  1.1  christos # WMM specifies following mapping of data frames to different ACs. This mapping
    258  1.1  christos # can be configured using Linux QoS/tc and sch_pktpri.o module.
    259  1.1  christos # 802.1D Tag	802.1D Designation	Access Category	WMM Designation
    260  1.1  christos # 1		BK			AC_BK		Background
    261  1.1  christos # 2		-			AC_BK		Background
    262  1.1  christos # 0		BE			AC_BE		Best Effort
    263  1.1  christos # 3		EE			AC_BE		Best Effort
    264  1.1  christos # 4		CL			AC_VI		Video
    265  1.1  christos # 5		VI			AC_VI		Video
    266  1.1  christos # 6		VO			AC_VO		Voice
    267  1.1  christos # 7		NC			AC_VO		Voice
    268  1.1  christos # Data frames with no priority information: AC_BE
    269  1.1  christos # Management frames: AC_VO
    270  1.1  christos # PS-Poll frames: AC_BE
    271  1.1  christos 
    272  1.1  christos # Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
    273  1.1  christos # for 802.11a or 802.11g networks
    274  1.1  christos # These parameters are sent to WMM clients when they associate.
    275  1.1  christos # The parameters will be used by WMM clients for frames transmitted to the
    276  1.1  christos # access point.
    277  1.1  christos #
    278  1.1  christos # note - txop_limit is in units of 32microseconds
    279  1.1  christos # note - acm is admission control mandatory flag. 0 = admission control not
    280  1.1  christos # required, 1 = mandatory
    281  1.1  christos # note - here cwMin and cmMax are in exponent form. the actual cw value used
    282  1.1  christos # will be (2^n)-1 where n is the value given here
    283  1.1  christos #
    284  1.1  christos wmm_enabled=1
    285  1.1  christos #
    286  1.1  christos # WMM-PS Unscheduled Automatic Power Save Delivery [U-APSD]
    287  1.1  christos # Enable this flag if U-APSD supported outside hostapd (eg., Firmware/driver)
    288  1.1  christos #uapsd_advertisement_enabled=1
    289  1.1  christos #
    290  1.1  christos # Low priority / AC_BK = background
    291  1.1  christos wmm_ac_bk_cwmin=4
    292  1.1  christos wmm_ac_bk_cwmax=10
    293  1.1  christos wmm_ac_bk_aifs=7
    294  1.1  christos wmm_ac_bk_txop_limit=0
    295  1.1  christos wmm_ac_bk_acm=0
    296  1.1  christos # Note: for IEEE 802.11b mode: cWmin=5 cWmax=10
    297  1.1  christos #
    298  1.1  christos # Normal priority / AC_BE = best effort
    299  1.1  christos wmm_ac_be_aifs=3
    300  1.1  christos wmm_ac_be_cwmin=4
    301  1.1  christos wmm_ac_be_cwmax=10
    302  1.1  christos wmm_ac_be_txop_limit=0
    303  1.1  christos wmm_ac_be_acm=0
    304  1.1  christos # Note: for IEEE 802.11b mode: cWmin=5 cWmax=7
    305  1.1  christos #
    306  1.1  christos # High priority / AC_VI = video
    307  1.1  christos wmm_ac_vi_aifs=2
    308  1.1  christos wmm_ac_vi_cwmin=3
    309  1.1  christos wmm_ac_vi_cwmax=4
    310  1.1  christos wmm_ac_vi_txop_limit=94
    311  1.1  christos wmm_ac_vi_acm=0
    312  1.1  christos # Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188
    313  1.1  christos #
    314  1.1  christos # Highest priority / AC_VO = voice
    315  1.1  christos wmm_ac_vo_aifs=2
    316  1.1  christos wmm_ac_vo_cwmin=2
    317  1.1  christos wmm_ac_vo_cwmax=3
    318  1.1  christos wmm_ac_vo_txop_limit=47
    319  1.1  christos wmm_ac_vo_acm=0
    320  1.1  christos # Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102
    321  1.1  christos 
    322  1.1  christos # Static WEP key configuration
    323  1.1  christos #
    324  1.1  christos # The key number to use when transmitting.
    325  1.1  christos # It must be between 0 and 3, and the corresponding key must be set.
    326  1.1  christos # default: not set
    327  1.1  christos #wep_default_key=0
    328  1.1  christos # The WEP keys to use.
    329  1.1  christos # A key may be a quoted string or unquoted hexadecimal digits.
    330  1.1  christos # The key length should be 5, 13, or 16 characters, or 10, 26, or 32
    331  1.1  christos # digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or
    332  1.1  christos # 128-bit (152-bit) WEP is used.
    333  1.1  christos # Only the default key must be supplied; the others are optional.
    334  1.1  christos # default: not set
    335  1.1  christos #wep_key0=123456789a
    336  1.1  christos #wep_key1="vwxyz"
    337  1.1  christos #wep_key2=0102030405060708090a0b0c0d
    338  1.1  christos #wep_key3=".2.4.6.8.0.23"
    339  1.1  christos 
    340  1.1  christos # Station inactivity limit
    341  1.1  christos #
    342  1.1  christos # If a station does not send anything in ap_max_inactivity seconds, an
    343  1.1  christos # empty data frame is sent to it in order to verify whether it is
    344  1.1  christos # still in range. If this frame is not ACKed, the station will be
    345  1.1  christos # disassociated and then deauthenticated. This feature is used to
    346  1.1  christos # clear station table of old entries when the STAs move out of the
    347  1.1  christos # range.
    348  1.1  christos #
    349  1.1  christos # The station can associate again with the AP if it is still in range;
    350  1.1  christos # this inactivity poll is just used as a nicer way of verifying
    351  1.1  christos # inactivity; i.e., client will not report broken connection because
    352  1.1  christos # disassociation frame is not sent immediately without first polling
    353  1.1  christos # the STA with a data frame.
    354  1.1  christos # default: 300 (i.e., 5 minutes)
    355  1.1  christos #ap_max_inactivity=300
    356  1.1  christos 
    357  1.1  christos # Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to
    358  1.1  christos # remain asleep). Default: 65535 (no limit apart from field size)
    359  1.1  christos #max_listen_interval=100
    360  1.1  christos 
    361  1.1  christos # WDS (4-address frame) mode with per-station virtual interfaces
    362  1.1  christos # (only supported with driver=nl80211)
    363  1.1  christos # This mode allows associated stations to use 4-address frames to allow layer 2
    364  1.1  christos # bridging to be used.
    365  1.1  christos #wds_sta=1
    366  1.1  christos 
    367  1.1  christos ##### IEEE 802.11n related configuration ######################################
    368  1.1  christos 
    369  1.1  christos # ieee80211n: Whether IEEE 802.11n (HT) is enabled
    370  1.1  christos # 0 = disabled (default)
    371  1.1  christos # 1 = enabled
    372  1.1  christos # Note: You will also need to enable WMM for full HT functionality.
    373  1.1  christos #ieee80211n=1
    374  1.1  christos 
    375  1.1  christos # ht_capab: HT capabilities (list of flags)
    376  1.1  christos # LDPC coding capability: [LDPC] = supported
    377  1.1  christos # Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary
    378  1.1  christos #	channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz
    379  1.1  christos #	with secondary channel below the primary channel
    380  1.1  christos #	(20 MHz only if neither is set)
    381  1.1  christos #	Note: There are limits on which channels can be used with HT40- and
    382  1.1  christos #	HT40+. Following table shows the channels that may be available for
    383  1.1  christos #	HT40- and HT40+ use per IEEE 802.11n Annex J:
    384  1.1  christos #	freq		HT40-		HT40+
    385  1.1  christos #	2.4 GHz		5-13		1-7 (1-9 in Europe/Japan)
    386  1.1  christos #	5 GHz		40,48,56,64	36,44,52,60
    387  1.1  christos #	(depending on the location, not all of these channels may be available
    388  1.1  christos #	for use)
    389  1.1  christos #	Please note that 40 MHz channels may switch their primary and secondary
    390  1.1  christos #	channels if needed or creation of 40 MHz channel maybe rejected based
    391  1.1  christos #	on overlapping BSSes. These changes are done automatically when hostapd
    392  1.1  christos #	is setting up the 40 MHz channel.
    393  1.1  christos # Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC]
    394  1.1  christos #	(SMPS disabled if neither is set)
    395  1.1  christos # HT-greenfield: [GF] (disabled if not set)
    396  1.1  christos # Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set)
    397  1.1  christos # Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set)
    398  1.1  christos # Tx STBC: [TX-STBC] (disabled if not set)
    399  1.1  christos # Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial
    400  1.1  christos #	streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC
    401  1.1  christos #	disabled if none of these set
    402  1.1  christos # HT-delayed Block Ack: [DELAYED-BA] (disabled if not set)
    403  1.1  christos # Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not
    404  1.1  christos #	set)
    405  1.1  christos # DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set)
    406  1.1  christos # PSMP support: [PSMP] (disabled if not set)
    407  1.1  christos # L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set)
    408  1.1  christos #ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
    409  1.1  christos 
    410  1.1  christos ##### IEEE 802.1X-2004 related configuration ##################################
    411  1.1  christos 
    412  1.1  christos # Require IEEE 802.1X authorization
    413  1.1  christos #ieee8021x=1
    414  1.1  christos 
    415  1.1  christos # IEEE 802.1X/EAPOL version
    416  1.1  christos # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
    417  1.1  christos # version 2. However, there are many client implementations that do not handle
    418  1.1  christos # the new version number correctly (they seem to drop the frames completely).
    419  1.1  christos # In order to make hostapd interoperate with these clients, the version number
    420  1.1  christos # can be set to the older version (1) with this configuration value.
    421  1.1  christos #eapol_version=2
    422  1.1  christos 
    423  1.1  christos # Optional displayable message sent with EAP Request-Identity. The first \0
    424  1.1  christos # in this string will be converted to ASCII-0 (nul). This can be used to
    425  1.1  christos # separate network info (comma separated list of attribute=value pairs); see,
    426  1.1  christos # e.g., RFC 4284.
    427  1.1  christos #eap_message=hello
    428  1.1  christos #eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com
    429  1.1  christos 
    430  1.1  christos # WEP rekeying (disabled if key lengths are not set or are set to 0)
    431  1.1  christos # Key lengths for default/broadcast and individual/unicast keys:
    432  1.1  christos # 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits)
    433  1.1  christos # 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits)
    434  1.1  christos #wep_key_len_broadcast=5
    435  1.1  christos #wep_key_len_unicast=5
    436  1.1  christos # Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once)
    437  1.1  christos #wep_rekey_period=300
    438  1.1  christos 
    439  1.1  christos # EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if
    440  1.1  christos # only broadcast keys are used)
    441  1.1  christos eapol_key_index_workaround=0
    442  1.1  christos 
    443  1.1  christos # EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable
    444  1.1  christos # reauthentication).
    445  1.1  christos #eap_reauth_period=3600
    446  1.1  christos 
    447  1.1  christos # Use PAE group address (01:80:c2:00:00:03) instead of individual target
    448  1.1  christos # address when sending EAPOL frames with driver=wired. This is the most common
    449  1.1  christos # mechanism used in wired authentication, but it also requires that the port
    450  1.1  christos # is only used by one station.
    451  1.1  christos #use_pae_group_addr=1
    452  1.1  christos 
    453  1.1  christos ##### Integrated EAP server ###################################################
    454  1.1  christos 
    455  1.1  christos # Optionally, hostapd can be configured to use an integrated EAP server
    456  1.1  christos # to process EAP authentication locally without need for an external RADIUS
    457  1.1  christos # server. This functionality can be used both as a local authentication server
    458  1.1  christos # for IEEE 802.1X/EAPOL and as a RADIUS server for other devices.
    459  1.1  christos 
    460  1.1  christos # Use integrated EAP server instead of external RADIUS authentication
    461  1.1  christos # server. This is also needed if hostapd is configured to act as a RADIUS
    462  1.1  christos # authentication server.
    463  1.1  christos eap_server=0
    464  1.1  christos 
    465  1.1  christos # Path for EAP server user database
    466  1.1  christos #eap_user_file=/etc/hostapd.eap_user
    467  1.1  christos 
    468  1.1  christos # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
    469  1.1  christos #ca_cert=/etc/hostapd.ca.pem
    470  1.1  christos 
    471  1.1  christos # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
    472  1.1  christos #server_cert=/etc/hostapd.server.pem
    473  1.1  christos 
    474  1.1  christos # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
    475  1.1  christos # This may point to the same file as server_cert if both certificate and key
    476  1.1  christos # are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be
    477  1.1  christos # used by commenting out server_cert and specifying the PFX file as the
    478  1.1  christos # private_key.
    479  1.1  christos #private_key=/etc/hostapd.server.prv
    480  1.1  christos 
    481  1.1  christos # Passphrase for private key
    482  1.1  christos #private_key_passwd=secret passphrase
    483  1.1  christos 
    484  1.1  christos # Enable CRL verification.
    485  1.1  christos # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
    486  1.1  christos # valid CRL signed by the CA is required to be included in the ca_cert file.
    487  1.1  christos # This can be done by using PEM format for CA certificate and CRL and
    488  1.1  christos # concatenating these into one file. Whenever CRL changes, hostapd needs to be
    489  1.1  christos # restarted to take the new CRL into use.
    490  1.1  christos # 0 = do not verify CRLs (default)
    491  1.1  christos # 1 = check the CRL of the user certificate
    492  1.1  christos # 2 = check all CRLs in the certificate path
    493  1.1  christos #check_crl=1
    494  1.1  christos 
    495  1.1  christos # dh_file: File path to DH/DSA parameters file (in PEM format)
    496  1.1  christos # This is an optional configuration file for setting parameters for an
    497  1.1  christos # ephemeral DH key exchange. In most cases, the default RSA authentication does
    498  1.1  christos # not use this configuration. However, it is possible setup RSA to use
    499  1.1  christos # ephemeral DH key exchange. In addition, ciphers with DSA keys always use
    500  1.1  christos # ephemeral DH keys. This can be used to achieve forward secrecy. If the file
    501  1.1  christos # is in DSA parameters format, it will be automatically converted into DH
    502  1.1  christos # params. This parameter is required if anonymous EAP-FAST is used.
    503  1.1  christos # You can generate DH parameters file with OpenSSL, e.g.,
    504  1.1  christos # "openssl dhparam -out /etc/hostapd.dh.pem 1024"
    505  1.1  christos #dh_file=/etc/hostapd.dh.pem
    506  1.1  christos 
    507  1.1  christos # Configuration data for EAP-SIM database/authentication gateway interface.
    508  1.1  christos # This is a text string in implementation specific format. The example
    509  1.1  christos # implementation in eap_sim_db.c uses this as the UNIX domain socket name for
    510  1.1  christos # the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:"
    511  1.1  christos # prefix.
    512  1.1  christos #eap_sim_db=unix:/tmp/hlr_auc_gw.sock
    513  1.1  christos 
    514  1.1  christos # Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret,
    515  1.1  christos # random value. It is configured as a 16-octet value in hex format. It can be
    516  1.1  christos # generated, e.g., with the following command:
    517  1.1  christos # od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' '
    518  1.1  christos #pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f
    519  1.1  christos 
    520  1.1  christos # EAP-FAST authority identity (A-ID)
    521  1.1  christos # A-ID indicates the identity of the authority that issues PACs. The A-ID
    522  1.1  christos # should be unique across all issuing servers. In theory, this is a variable
    523  1.1  christos # length field, but due to some existing implementations requiring A-ID to be
    524  1.1  christos # 16 octets in length, it is strongly recommended to use that length for the
    525  1.1  christos # field to provid interoperability with deployed peer implementations. This
    526  1.1  christos # field is configured in hex format.
    527  1.1  christos #eap_fast_a_id=101112131415161718191a1b1c1d1e1f
    528  1.1  christos 
    529  1.1  christos # EAP-FAST authority identifier information (A-ID-Info)
    530  1.1  christos # This is a user-friendly name for the A-ID. For example, the enterprise name
    531  1.1  christos # and server name in a human-readable format. This field is encoded as UTF-8.
    532  1.1  christos #eap_fast_a_id_info=test server
    533  1.1  christos 
    534  1.1  christos # Enable/disable different EAP-FAST provisioning modes:
    535  1.1  christos #0 = provisioning disabled
    536  1.1  christos #1 = only anonymous provisioning allowed
    537  1.1  christos #2 = only authenticated provisioning allowed
    538  1.1  christos #3 = both provisioning modes allowed (default)
    539  1.1  christos #eap_fast_prov=3
    540  1.1  christos 
    541  1.1  christos # EAP-FAST PAC-Key lifetime in seconds (hard limit)
    542  1.1  christos #pac_key_lifetime=604800
    543  1.1  christos 
    544  1.1  christos # EAP-FAST PAC-Key refresh time in seconds (soft limit on remaining hard
    545  1.1  christos # limit). The server will generate a new PAC-Key when this number of seconds
    546  1.1  christos # (or fewer) of the lifetime remains.
    547  1.1  christos #pac_key_refresh_time=86400
    548  1.1  christos 
    549  1.1  christos # EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND
    550  1.1  christos # (default: 0 = disabled).
    551  1.1  christos #eap_sim_aka_result_ind=1
    552  1.1  christos 
    553  1.1  christos # Trusted Network Connect (TNC)
    554  1.1  christos # If enabled, TNC validation will be required before the peer is allowed to
    555  1.1  christos # connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other
    556  1.1  christos # EAP method is enabled, the peer will be allowed to connect without TNC.
    557  1.1  christos #tnc=1
    558  1.1  christos 
    559  1.1  christos 
    560  1.1  christos ##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
    561  1.1  christos 
    562  1.1  christos # Interface to be used for IAPP broadcast packets
    563  1.1  christos #iapp_interface=eth0
    564  1.1  christos 
    565  1.1  christos 
    566  1.1  christos ##### RADIUS client configuration #############################################
    567  1.1  christos # for IEEE 802.1X with external Authentication Server, IEEE 802.11
    568  1.1  christos # authentication with external ACL for MAC addresses, and accounting
    569  1.1  christos 
    570  1.1  christos # The own IP address of the access point (used as NAS-IP-Address)
    571  1.1  christos own_ip_addr=127.0.0.1
    572  1.1  christos 
    573  1.1  christos # Optional NAS-Identifier string for RADIUS messages. When used, this should be
    574  1.1  christos # a unique to the NAS within the scope of the RADIUS server. For example, a
    575  1.1  christos # fully qualified domain name can be used here.
    576  1.1  christos # When using IEEE 802.11r, nas_identifier must be set and must be between 1 and
    577  1.1  christos # 48 octets long.
    578  1.1  christos #nas_identifier=ap.example.com
    579  1.1  christos 
    580  1.1  christos # RADIUS authentication server
    581  1.1  christos #auth_server_addr=127.0.0.1
    582  1.1  christos #auth_server_port=1812
    583  1.1  christos #auth_server_shared_secret=secret
    584  1.1  christos 
    585  1.1  christos # RADIUS accounting server
    586  1.1  christos #acct_server_addr=127.0.0.1
    587  1.1  christos #acct_server_port=1813
    588  1.1  christos #acct_server_shared_secret=secret
    589  1.1  christos 
    590  1.1  christos # Secondary RADIUS servers; to be used if primary one does not reply to
    591  1.1  christos # RADIUS packets. These are optional and there can be more than one secondary
    592  1.1  christos # server listed.
    593  1.1  christos #auth_server_addr=127.0.0.2
    594  1.1  christos #auth_server_port=1812
    595  1.1  christos #auth_server_shared_secret=secret2
    596  1.1  christos #
    597  1.1  christos #acct_server_addr=127.0.0.2
    598  1.1  christos #acct_server_port=1813
    599  1.1  christos #acct_server_shared_secret=secret2
    600  1.1  christos 
    601  1.1  christos # Retry interval for trying to return to the primary RADIUS server (in
    602  1.1  christos # seconds). RADIUS client code will automatically try to use the next server
    603  1.1  christos # when the current server is not replying to requests. If this interval is set,
    604  1.1  christos # primary server will be retried after configured amount of time even if the
    605  1.1  christos # currently used secondary server is still working.
    606  1.1  christos #radius_retry_primary_interval=600
    607  1.1  christos 
    608  1.1  christos 
    609  1.1  christos # Interim accounting update interval
    610  1.1  christos # If this is set (larger than 0) and acct_server is configured, hostapd will
    611  1.1  christos # send interim accounting updates every N seconds. Note: if set, this overrides
    612  1.1  christos # possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this
    613  1.1  christos # value should not be configured in hostapd.conf, if RADIUS server is used to
    614  1.1  christos # control the interim interval.
    615  1.1  christos # This value should not be less 600 (10 minutes) and must not be less than
    616  1.1  christos # 60 (1 minute).
    617  1.1  christos #radius_acct_interim_interval=600
    618  1.1  christos 
    619  1.1  christos # Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN
    620  1.1  christos # is used for the stations. This information is parsed from following RADIUS
    621  1.1  christos # attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN),
    622  1.1  christos # Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value
    623  1.1  christos # VLANID as a string). vlan_file option below must be configured if dynamic
    624  1.1  christos # VLANs are used. Optionally, the local MAC ACL list (accept_mac_file) can be
    625  1.1  christos # used to set static client MAC address to VLAN ID mapping.
    626  1.1  christos # 0 = disabled (default)
    627  1.1  christos # 1 = option; use default interface if RADIUS server does not include VLAN ID
    628  1.1  christos # 2 = required; reject authentication if RADIUS server does not include VLAN ID
    629  1.1  christos #dynamic_vlan=0
    630  1.1  christos 
    631  1.1  christos # VLAN interface list for dynamic VLAN mode is read from a separate text file.
    632  1.1  christos # This list is used to map VLAN ID from the RADIUS server to a network
    633  1.1  christos # interface. Each station is bound to one interface in the same way as with
    634  1.1  christos # multiple BSSIDs or SSIDs. Each line in this text file is defining a new
    635  1.1  christos # interface and the line must include VLAN ID and interface name separated by
    636  1.1  christos # white space (space or tab).
    637  1.1  christos #vlan_file=/etc/hostapd.vlan
    638  1.1  christos 
    639  1.1  christos # Interface where 802.1q tagged packets should appear when a RADIUS server is
    640  1.1  christos # used to determine which VLAN a station is on.  hostapd creates a bridge for
    641  1.1  christos # each VLAN.  Then hostapd adds a VLAN interface (associated with the interface
    642  1.1  christos # indicated by 'vlan_tagged_interface') and the appropriate wireless interface
    643  1.1  christos # to the bridge.
    644  1.1  christos #vlan_tagged_interface=eth0
    645  1.1  christos 
    646  1.1  christos 
    647  1.1  christos ##### RADIUS authentication server configuration ##############################
    648  1.1  christos 
    649  1.1  christos # hostapd can be used as a RADIUS authentication server for other hosts. This
    650  1.1  christos # requires that the integrated EAP server is also enabled and both
    651  1.1  christos # authentication services are sharing the same configuration.
    652  1.1  christos 
    653  1.1  christos # File name of the RADIUS clients configuration for the RADIUS server. If this
    654  1.1  christos # commented out, RADIUS server is disabled.
    655  1.1  christos #radius_server_clients=/etc/hostapd.radius_clients
    656  1.1  christos 
    657  1.1  christos # The UDP port number for the RADIUS authentication server
    658  1.1  christos #radius_server_auth_port=1812
    659  1.1  christos 
    660  1.1  christos # Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API)
    661  1.1  christos #radius_server_ipv6=1
    662  1.1  christos 
    663  1.1  christos 
    664  1.1  christos ##### WPA/IEEE 802.11i configuration ##########################################
    665  1.1  christos 
    666  1.1  christos # Enable WPA. Setting this variable configures the AP to require WPA (either
    667  1.1  christos # WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
    668  1.1  christos # wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
    669  1.1  christos # For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
    670  1.1  christos # RADIUS authentication server must be configured, and WPA-EAP must be included
    671  1.1  christos # in wpa_key_mgmt.
    672  1.1  christos # This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
    673  1.1  christos # and/or WPA2 (full IEEE 802.11i/RSN):
    674  1.1  christos # bit0 = WPA
    675  1.1  christos # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
    676  1.1  christos #wpa=1
    677  1.1  christos 
    678  1.1  christos # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
    679  1.1  christos # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
    680  1.1  christos # (8..63 characters) that will be converted to PSK. This conversion uses SSID
    681  1.1  christos # so the PSK changes when ASCII passphrase is used and the SSID is changed.
    682  1.1  christos # wpa_psk (dot11RSNAConfigPSKValue)
    683  1.1  christos # wpa_passphrase (dot11RSNAConfigPSKPassPhrase)
    684  1.1  christos #wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
    685  1.1  christos #wpa_passphrase=secret passphrase
    686  1.1  christos 
    687  1.1  christos # Optionally, WPA PSKs can be read from a separate text file (containing list
    688  1.1  christos # of (PSK,MAC address) pairs. This allows more than one PSK to be configured.
    689  1.1  christos # Use absolute path name to make sure that the files can be read on SIGHUP
    690  1.1  christos # configuration reloads.
    691  1.1  christos #wpa_psk_file=/etc/hostapd.wpa_psk
    692  1.1  christos 
    693  1.1  christos # Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
    694  1.1  christos # entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be
    695  1.1  christos # added to enable SHA256-based stronger algorithms.
    696  1.1  christos # (dot11RSNAConfigAuthenticationSuitesTable)
    697  1.1  christos #wpa_key_mgmt=WPA-PSK WPA-EAP
    698  1.1  christos 
    699  1.1  christos # Set of accepted cipher suites (encryption algorithms) for pairwise keys
    700  1.1  christos # (unicast packets). This is a space separated list of algorithms:
    701  1.1  christos # CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
    702  1.1  christos # TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
    703  1.1  christos # Group cipher suite (encryption algorithm for broadcast and multicast frames)
    704  1.1  christos # is automatically selected based on this configuration. If only CCMP is
    705  1.1  christos # allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
    706  1.1  christos # TKIP will be used as the group cipher.
    707  1.1  christos # (dot11RSNAConfigPairwiseCiphersTable)
    708  1.1  christos # Pairwise cipher for WPA (v1) (default: TKIP)
    709  1.1  christos #wpa_pairwise=TKIP CCMP
    710  1.1  christos # Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
    711  1.1  christos #rsn_pairwise=CCMP
    712  1.1  christos 
    713  1.1  christos # Time interval for rekeying GTK (broadcast/multicast encryption keys) in
    714  1.1  christos # seconds. (dot11RSNAConfigGroupRekeyTime)
    715  1.1  christos #wpa_group_rekey=600
    716  1.1  christos 
    717  1.1  christos # Rekey GTK when any STA that possesses the current GTK is leaving the BSS.
    718  1.1  christos # (dot11RSNAConfigGroupRekeyStrict)
    719  1.1  christos #wpa_strict_rekey=1
    720  1.1  christos 
    721  1.1  christos # Time interval for rekeying GMK (master key used internally to generate GTKs
    722  1.1  christos # (in seconds).
    723  1.1  christos #wpa_gmk_rekey=86400
    724  1.1  christos 
    725  1.1  christos # Maximum lifetime for PTK in seconds. This can be used to enforce rekeying of
    726  1.1  christos # PTK to mitigate some attacks against TKIP deficiencies.
    727  1.1  christos #wpa_ptk_rekey=600
    728  1.1  christos 
    729  1.1  christos # Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up
    730  1.1  christos # roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN
    731  1.1  christos # authentication and key handshake before actually associating with a new AP.
    732  1.1  christos # (dot11RSNAPreauthenticationEnabled)
    733  1.1  christos #rsn_preauth=1
    734  1.1  christos #
    735  1.1  christos # Space separated list of interfaces from which pre-authentication frames are
    736  1.1  christos # accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all
    737  1.1  christos # interface that are used for connections to other APs. This could include
    738  1.1  christos # wired interfaces and WDS links. The normal wireless data interface towards
    739  1.1  christos # associated stations (e.g., wlan0) should not be added, since
    740  1.1  christos # pre-authentication is only used with APs other than the currently associated
    741  1.1  christos # one.
    742  1.1  christos #rsn_preauth_interfaces=eth0
    743  1.1  christos 
    744  1.1  christos # peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is
    745  1.1  christos # allowed. This is only used with RSN/WPA2.
    746  1.1  christos # 0 = disabled (default)
    747  1.1  christos # 1 = enabled
    748  1.1  christos #peerkey=1
    749  1.1  christos 
    750  1.1  christos # ieee80211w: Whether management frame protection (MFP) is enabled
    751  1.1  christos # 0 = disabled (default)
    752  1.1  christos # 1 = optional
    753  1.1  christos # 2 = required
    754  1.1  christos #ieee80211w=0
    755  1.1  christos 
    756  1.1  christos # Association SA Query maximum timeout (in TU = 1.024 ms; for MFP)
    757  1.1  christos # (maximum time to wait for a SA Query response)
    758  1.1  christos # dot11AssociationSAQueryMaximumTimeout, 1...4294967295
    759  1.1  christos #assoc_sa_query_max_timeout=1000
    760  1.1  christos 
    761  1.1  christos # Association SA Query retry timeout (in TU = 1.024 ms; for MFP)
    762  1.1  christos # (time between two subsequent SA Query requests)
    763  1.1  christos # dot11AssociationSAQueryRetryTimeout, 1...4294967295
    764  1.1  christos #assoc_sa_query_retry_timeout=201
    765  1.1  christos 
    766  1.1  christos 
    767  1.1  christos # okc: Opportunistic Key Caching (aka Proactive Key Caching)
    768  1.1  christos # Allow PMK cache to be shared opportunistically among configured interfaces
    769  1.1  christos # and BSSes (i.e., all configurations within a single hostapd process).
    770  1.1  christos # 0 = disabled (default)
    771  1.1  christos # 1 = enabled
    772  1.1  christos #okc=1
    773  1.1  christos 
    774  1.1  christos 
    775  1.1  christos ##### IEEE 802.11r configuration ##############################################
    776  1.1  christos 
    777  1.1  christos # Mobility Domain identifier (dot11FTMobilityDomainID, MDID)
    778  1.1  christos # MDID is used to indicate a group of APs (within an ESS, i.e., sharing the
    779  1.1  christos # same SSID) between which a STA can use Fast BSS Transition.
    780  1.1  christos # 2-octet identifier as a hex string.
    781  1.1  christos #mobility_domain=a1b2
    782  1.1  christos 
    783  1.1  christos # PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID)
    784  1.1  christos # 1 to 48 octet identifier.
    785  1.1  christos # This is configured with nas_identifier (see RADIUS client section above).
    786  1.1  christos 
    787  1.1  christos # Default lifetime of the PMK-RO in minutes; range 1..65535
    788  1.1  christos # (dot11FTR0KeyLifetime)
    789  1.1  christos #r0_key_lifetime=10000
    790  1.1  christos 
    791  1.1  christos # PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID)
    792  1.1  christos # 6-octet identifier as a hex string.
    793  1.1  christos #r1_key_holder=000102030405
    794  1.1  christos 
    795  1.1  christos # Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535)
    796  1.1  christos # (dot11FTReassociationDeadline)
    797  1.1  christos #reassociation_deadline=1000
    798  1.1  christos 
    799  1.1  christos # List of R0KHs in the same Mobility Domain
    800  1.1  christos # format: <MAC address> <NAS Identifier> <128-bit key as hex string>
    801  1.1  christos # This list is used to map R0KH-ID (NAS Identifier) to a destination MAC
    802  1.1  christos # address when requesting PMK-R1 key from the R0KH that the STA used during the
    803  1.1  christos # Initial Mobility Domain Association.
    804  1.1  christos #r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f
    805  1.1  christos #r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff
    806  1.1  christos # And so on.. One line per R0KH.
    807  1.1  christos 
    808  1.1  christos # List of R1KHs in the same Mobility Domain
    809  1.1  christos # format: <MAC address> <R1KH-ID> <128-bit key as hex string>
    810  1.1  christos # This list is used to map R1KH-ID to a destination MAC address when sending
    811  1.1  christos # PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD
    812  1.1  christos # that can request PMK-R1 keys.
    813  1.1  christos #r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f
    814  1.1  christos #r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff
    815  1.1  christos # And so on.. One line per R1KH.
    816  1.1  christos 
    817  1.1  christos # Whether PMK-R1 push is enabled at R0KH
    818  1.1  christos # 0 = do not push PMK-R1 to all configured R1KHs (default)
    819  1.1  christos # 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived
    820  1.1  christos #pmk_r1_push=1
    821  1.1  christos 
    822  1.1  christos ##### Neighbor table ##########################################################
    823  1.1  christos # Maximum number of entries kept in AP table (either for neigbor table or for
    824  1.1  christos # detecting Overlapping Legacy BSS Condition). The oldest entry will be
    825  1.1  christos # removed when adding a new entry that would make the list grow over this
    826  1.1  christos # limit. Note! WFA certification for IEEE 802.11g requires that OLBC is
    827  1.1  christos # enabled, so this field should not be set to 0 when using IEEE 802.11g.
    828  1.1  christos # default: 255
    829  1.1  christos #ap_table_max_size=255
    830  1.1  christos 
    831  1.1  christos # Number of seconds of no frames received after which entries may be deleted
    832  1.1  christos # from the AP table. Since passive scanning is not usually performed frequently
    833  1.1  christos # this should not be set to very small value. In addition, there is no
    834  1.1  christos # guarantee that every scan cycle will receive beacon frames from the
    835  1.1  christos # neighboring APs.
    836  1.1  christos # default: 60
    837  1.1  christos #ap_table_expiration_time=3600
    838  1.1  christos 
    839  1.1  christos 
    840  1.1  christos ##### Wi-Fi Protected Setup (WPS) #############################################
    841  1.1  christos 
    842  1.1  christos # WPS state
    843  1.1  christos # 0 = WPS disabled (default)
    844  1.1  christos # 1 = WPS enabled, not configured
    845  1.1  christos # 2 = WPS enabled, configured
    846  1.1  christos #wps_state=2
    847  1.1  christos 
    848  1.1  christos # AP can be configured into a locked state where new WPS Registrar are not
    849  1.1  christos # accepted, but previously authorized Registrars (including the internal one)
    850  1.1  christos # can continue to add new Enrollees.
    851  1.1  christos #ap_setup_locked=1
    852  1.1  christos 
    853  1.1  christos # Universally Unique IDentifier (UUID; see RFC 4122) of the device
    854  1.1  christos # This value is used as the UUID for the internal WPS Registrar. If the AP
    855  1.1  christos # is also using UPnP, this value should be set to the device's UPnP UUID.
    856  1.1  christos # If not configured, UUID will be generated based on the local MAC address.
    857  1.1  christos #uuid=12345678-9abc-def0-1234-56789abcdef0
    858  1.1  christos 
    859  1.1  christos # Note: If wpa_psk_file is set, WPS is used to generate random, per-device PSKs
    860  1.1  christos # that will be appended to the wpa_psk_file. If wpa_psk_file is not set, the
    861  1.1  christos # default PSK (wpa_psk/wpa_passphrase) will be delivered to Enrollees. Use of
    862  1.1  christos # per-device PSKs is recommended as the more secure option (i.e., make sure to
    863  1.1  christos # set wpa_psk_file when using WPS with WPA-PSK).
    864  1.1  christos 
    865  1.1  christos # When an Enrollee requests access to the network with PIN method, the Enrollee
    866  1.1  christos # PIN will need to be entered for the Registrar. PIN request notifications are
    867  1.1  christos # sent to hostapd ctrl_iface monitor. In addition, they can be written to a
    868  1.1  christos # text file that could be used, e.g., to populate the AP administration UI with
    869  1.1  christos # pending PIN requests. If the following variable is set, the PIN requests will
    870  1.1  christos # be written to the configured file.
    871  1.1  christos #wps_pin_requests=/var/run/hostapd_wps_pin_requests
    872  1.1  christos 
    873  1.1  christos # Device Name
    874  1.1  christos # User-friendly description of device; up to 32 octets encoded in UTF-8
    875  1.1  christos #device_name=Wireless AP
    876  1.1  christos 
    877  1.1  christos # Manufacturer
    878  1.1  christos # The manufacturer of the device (up to 64 ASCII characters)
    879  1.1  christos #manufacturer=Company
    880  1.1  christos 
    881  1.1  christos # Model Name
    882  1.1  christos # Model of the device (up to 32 ASCII characters)
    883  1.1  christos #model_name=WAP
    884  1.1  christos 
    885  1.1  christos # Model Number
    886  1.1  christos # Additional device description (up to 32 ASCII characters)
    887  1.1  christos #model_number=123
    888  1.1  christos 
    889  1.1  christos # Serial Number
    890  1.1  christos # Serial number of the device (up to 32 characters)
    891  1.1  christos #serial_number=12345
    892  1.1  christos 
    893  1.1  christos # Primary Device Type
    894  1.1  christos # Used format: <categ>-<OUI>-<subcateg>
    895  1.1  christos # categ = Category as an integer value
    896  1.1  christos # OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
    897  1.1  christos #       default WPS OUI
    898  1.1  christos # subcateg = OUI-specific Sub Category as an integer value
    899  1.1  christos # Examples:
    900  1.1  christos #   1-0050F204-1 (Computer / PC)
    901  1.1  christos #   1-0050F204-2 (Computer / Server)
    902  1.1  christos #   5-0050F204-1 (Storage / NAS)
    903  1.1  christos #   6-0050F204-1 (Network Infrastructure / AP)
    904  1.1  christos #device_type=6-0050F204-1
    905  1.1  christos 
    906  1.1  christos # OS Version
    907  1.1  christos # 4-octet operating system version number (hex string)
    908  1.1  christos #os_version=01020300
    909  1.1  christos 
    910  1.1  christos # Config Methods
    911  1.1  christos # List of the supported configuration methods
    912  1.1  christos # Available methods: usba ethernet label display ext_nfc_token int_nfc_token
    913  1.1  christos #	nfc_interface push_button keypad
    914  1.1  christos #config_methods=label display push_button keypad
    915  1.1  christos 
    916  1.1  christos # Access point PIN for initial configuration and adding Registrars
    917  1.1  christos # If not set, hostapd will not allow external WPS Registrars to control the
    918  1.1  christos # access point.
    919  1.1  christos #ap_pin=12345670
    920  1.1  christos 
    921  1.1  christos # Skip building of automatic WPS credential
    922  1.1  christos # This can be used to allow the automatically generated Credential attribute to
    923  1.1  christos # be replaced with pre-configured Credential(s).
    924  1.1  christos #skip_cred_build=1
    925  1.1  christos 
    926  1.1  christos # Additional Credential attribute(s)
    927  1.1  christos # This option can be used to add pre-configured Credential attributes into M8
    928  1.1  christos # message when acting as a Registrar. If skip_cred_build=1, this data will also
    929  1.1  christos # be able to override the Credential attribute that would have otherwise been
    930  1.1  christos # automatically generated based on network configuration. This configuration
    931  1.1  christos # option points to an external file that much contain the WPS Credential
    932  1.1  christos # attribute(s) as binary data.
    933  1.1  christos #extra_cred=hostapd.cred
    934  1.1  christos 
    935  1.1  christos # Credential processing
    936  1.1  christos #   0 = process received credentials internally (default)
    937  1.1  christos #   1 = do not process received credentials; just pass them over ctrl_iface to
    938  1.1  christos #	external program(s)
    939  1.1  christos #   2 = process received credentials internally and pass them over ctrl_iface
    940  1.1  christos #	to external program(s)
    941  1.1  christos # Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and
    942  1.1  christos # extra_cred be used to provide the Credential data for Enrollees.
    943  1.1  christos #
    944  1.1  christos # wps_cred_processing=1 will disabled automatic updates of hostapd.conf file
    945  1.1  christos # both for Credential processing and for marking AP Setup Locked based on
    946  1.1  christos # validation failures of AP PIN. An external program is responsible on updating
    947  1.1  christos # the configuration appropriately in this case.
    948  1.1  christos #wps_cred_processing=0
    949  1.1  christos 
    950  1.1  christos # AP Settings Attributes for M7
    951  1.1  christos # By default, hostapd generates the AP Settings Attributes for M7 based on the
    952  1.1  christos # current configuration. It is possible to override this by providing a file
    953  1.1  christos # with pre-configured attributes. This is similar to extra_cred file format,
    954  1.1  christos # but the AP Settings attributes are not encapsulated in a Credential
    955  1.1  christos # attribute.
    956  1.1  christos #ap_settings=hostapd.ap_settings
    957  1.1  christos 
    958  1.1  christos # WPS UPnP interface
    959  1.1  christos # If set, support for external Registrars is enabled.
    960  1.1  christos #upnp_iface=br0
    961  1.1  christos 
    962  1.1  christos # Friendly Name (required for UPnP)
    963  1.1  christos # Short description for end use. Should be less than 64 characters.
    964  1.1  christos #friendly_name=WPS Access Point
    965  1.1  christos 
    966  1.1  christos # Manufacturer URL (optional for UPnP)
    967  1.1  christos #manufacturer_url=http://www.example.com/
    968  1.1  christos 
    969  1.1  christos # Model Description (recommended for UPnP)
    970  1.1  christos # Long description for end user. Should be less than 128 characters.
    971  1.1  christos #model_description=Wireless Access Point
    972  1.1  christos 
    973  1.1  christos # Model URL (optional for UPnP)
    974  1.1  christos #model_url=http://www.example.com/model/
    975  1.1  christos 
    976  1.1  christos # Universal Product Code (optional for UPnP)
    977  1.1  christos # 12-digit, all-numeric code that identifies the consumer package.
    978  1.1  christos #upc=123456789012
    979  1.1  christos 
    980  1.1  christos ##### Multiple BSSID support ##################################################
    981  1.1  christos #
    982  1.1  christos # Above configuration is using the default interface (wlan#, or multi-SSID VLAN
    983  1.1  christos # interfaces). Other BSSIDs can be added by using separator 'bss' with
    984  1.1  christos # default interface name to be allocated for the data packets of the new BSS.
    985  1.1  christos #
    986  1.1  christos # hostapd will generate BSSID mask based on the BSSIDs that are
    987  1.1  christos # configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is
    988  1.1  christos # not the case, the MAC address of the radio must be changed before starting
    989  1.1  christos # hostapd (ifconfig wlan0 hw ether <MAC addr>). If a BSSID is configured for
    990  1.1  christos # every secondary BSS, this limitation is not applied at hostapd and other
    991  1.1  christos # masks may be used if the driver supports them (e.g., swap the locally
    992  1.1  christos # administered bit)
    993  1.1  christos #
    994  1.1  christos # BSSIDs are assigned in order to each BSS, unless an explicit BSSID is
    995  1.1  christos # specified using the 'bssid' parameter.
    996  1.1  christos # If an explicit BSSID is specified, it must be chosen such that it:
    997  1.1  christos # - results in a valid MASK that covers it and the dev_addr
    998  1.1  christos # - is not the same as the MAC address of the radio
    999  1.1  christos # - is not the same as any other explicitly specified BSSID
   1000  1.1  christos #
   1001  1.1  christos # Please note that hostapd uses some of the values configured for the first BSS
   1002  1.1  christos # as the defaults for the following BSSes. However, it is recommended that all
   1003  1.1  christos # BSSes include explicit configuration of all relevant configuration items.
   1004  1.1  christos #
   1005  1.1  christos #bss=wlan0_0
   1006  1.1  christos #ssid=test2
   1007  1.1  christos # most of the above items can be used here (apart from radio interface specific
   1008  1.1  christos # items, like channel)
   1009  1.1  christos 
   1010  1.1  christos #bss=wlan0_1
   1011  1.1  christos #bssid=00:13:10:95:fe:0b
   1012  1.1  christos # ...
   1013