Home | History | Annotate | Line # | Download | only in hostapd
hostapd.conf revision 1.1.1.2
      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.1.2  christos # Static 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.1.2  christos # access point. The AP PIN can also be set at runtime with hostapd_cli
    919  1.1.1.2  christos # wps_ap_pin command. Use of temporary (enabled by user action) and random
    920  1.1.1.2  christos # AP PIN is much more secure than configuring a static AP PIN here. As such,
    921  1.1.1.2  christos # use of the ap_pin parameter is not recommended if the AP device has means for
    922  1.1.1.2  christos # displaying a random PIN.
    923      1.1  christos #ap_pin=12345670
    924      1.1  christos 
    925      1.1  christos # Skip building of automatic WPS credential
    926      1.1  christos # This can be used to allow the automatically generated Credential attribute to
    927      1.1  christos # be replaced with pre-configured Credential(s).
    928      1.1  christos #skip_cred_build=1
    929      1.1  christos 
    930      1.1  christos # Additional Credential attribute(s)
    931      1.1  christos # This option can be used to add pre-configured Credential attributes into M8
    932      1.1  christos # message when acting as a Registrar. If skip_cred_build=1, this data will also
    933      1.1  christos # be able to override the Credential attribute that would have otherwise been
    934      1.1  christos # automatically generated based on network configuration. This configuration
    935      1.1  christos # option points to an external file that much contain the WPS Credential
    936      1.1  christos # attribute(s) as binary data.
    937      1.1  christos #extra_cred=hostapd.cred
    938      1.1  christos 
    939      1.1  christos # Credential processing
    940      1.1  christos #   0 = process received credentials internally (default)
    941      1.1  christos #   1 = do not process received credentials; just pass them over ctrl_iface to
    942      1.1  christos #	external program(s)
    943      1.1  christos #   2 = process received credentials internally and pass them over ctrl_iface
    944      1.1  christos #	to external program(s)
    945      1.1  christos # Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and
    946      1.1  christos # extra_cred be used to provide the Credential data for Enrollees.
    947      1.1  christos #
    948      1.1  christos # wps_cred_processing=1 will disabled automatic updates of hostapd.conf file
    949      1.1  christos # both for Credential processing and for marking AP Setup Locked based on
    950      1.1  christos # validation failures of AP PIN. An external program is responsible on updating
    951      1.1  christos # the configuration appropriately in this case.
    952      1.1  christos #wps_cred_processing=0
    953      1.1  christos 
    954      1.1  christos # AP Settings Attributes for M7
    955      1.1  christos # By default, hostapd generates the AP Settings Attributes for M7 based on the
    956      1.1  christos # current configuration. It is possible to override this by providing a file
    957      1.1  christos # with pre-configured attributes. This is similar to extra_cred file format,
    958      1.1  christos # but the AP Settings attributes are not encapsulated in a Credential
    959      1.1  christos # attribute.
    960      1.1  christos #ap_settings=hostapd.ap_settings
    961      1.1  christos 
    962      1.1  christos # WPS UPnP interface
    963      1.1  christos # If set, support for external Registrars is enabled.
    964      1.1  christos #upnp_iface=br0
    965      1.1  christos 
    966      1.1  christos # Friendly Name (required for UPnP)
    967      1.1  christos # Short description for end use. Should be less than 64 characters.
    968      1.1  christos #friendly_name=WPS Access Point
    969      1.1  christos 
    970      1.1  christos # Manufacturer URL (optional for UPnP)
    971      1.1  christos #manufacturer_url=http://www.example.com/
    972      1.1  christos 
    973      1.1  christos # Model Description (recommended for UPnP)
    974      1.1  christos # Long description for end user. Should be less than 128 characters.
    975      1.1  christos #model_description=Wireless Access Point
    976      1.1  christos 
    977      1.1  christos # Model URL (optional for UPnP)
    978      1.1  christos #model_url=http://www.example.com/model/
    979      1.1  christos 
    980      1.1  christos # Universal Product Code (optional for UPnP)
    981      1.1  christos # 12-digit, all-numeric code that identifies the consumer package.
    982      1.1  christos #upc=123456789012
    983      1.1  christos 
    984      1.1  christos ##### Multiple BSSID support ##################################################
    985      1.1  christos #
    986      1.1  christos # Above configuration is using the default interface (wlan#, or multi-SSID VLAN
    987      1.1  christos # interfaces). Other BSSIDs can be added by using separator 'bss' with
    988      1.1  christos # default interface name to be allocated for the data packets of the new BSS.
    989      1.1  christos #
    990      1.1  christos # hostapd will generate BSSID mask based on the BSSIDs that are
    991      1.1  christos # configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is
    992      1.1  christos # not the case, the MAC address of the radio must be changed before starting
    993      1.1  christos # hostapd (ifconfig wlan0 hw ether <MAC addr>). If a BSSID is configured for
    994      1.1  christos # every secondary BSS, this limitation is not applied at hostapd and other
    995      1.1  christos # masks may be used if the driver supports them (e.g., swap the locally
    996      1.1  christos # administered bit)
    997      1.1  christos #
    998      1.1  christos # BSSIDs are assigned in order to each BSS, unless an explicit BSSID is
    999      1.1  christos # specified using the 'bssid' parameter.
   1000      1.1  christos # If an explicit BSSID is specified, it must be chosen such that it:
   1001      1.1  christos # - results in a valid MASK that covers it and the dev_addr
   1002      1.1  christos # - is not the same as the MAC address of the radio
   1003      1.1  christos # - is not the same as any other explicitly specified BSSID
   1004      1.1  christos #
   1005      1.1  christos # Please note that hostapd uses some of the values configured for the first BSS
   1006      1.1  christos # as the defaults for the following BSSes. However, it is recommended that all
   1007      1.1  christos # BSSes include explicit configuration of all relevant configuration items.
   1008      1.1  christos #
   1009      1.1  christos #bss=wlan0_0
   1010      1.1  christos #ssid=test2
   1011      1.1  christos # most of the above items can be used here (apart from radio interface specific
   1012      1.1  christos # items, like channel)
   1013      1.1  christos 
   1014      1.1  christos #bss=wlan0_1
   1015      1.1  christos #bssid=00:13:10:95:fe:0b
   1016      1.1  christos # ...
   1017