Company Products/Technology Services News/Events Support Spacer Contact Partners Customers
English    日本語
Products Photo

Product Documentation for
Devicescape Universal Wireless Platform

Documentation Home for Devicescape Universal Wireless Platform | Package Guide

Package GuidePreviousNextIndex

 


hostapd package

Information on this package is covered here.

Package
Description
License
hostapd
Access Point daemon.

Summary

The Host Access Point daemon (hostapd) manages user-space 802.11 functions such as authentication, encryption, initializing network interface, beacon intervals, extended authorization protocol (EAP) keys, etc. These are mainly the non-time critical functions required of a wireless Access Point. It also provides an interface into the DataPath driver for the management, transmission, and reception of wireless data packets.

Usage

Starting/Stopping the hostapd Service

Keep in mind that hostapd will not start at all unless the ACCESS_POINT variable in /etc/default/wireless is set to "yes". The access point profile package (ds-wireless-ap) provides a version of this file with access point behavior enabled. (See the Developer Guide topic on Creating Root File System Images for Reference Designs for information on building a reference AP using this profile package.)

Use the following commmands to control the hostapd service on the target device.

Action
Command
Start
/etc/init.d/hostapd start
Stop
/etc/init.d/hostapd stop
Restart
/etc/init.d/hostapd restart
Reload
Reload the configuration file(s).

Configuration parameters should be set in the /etc/default/hostapd file. Available parameters are:

Parameter
Description
CONFIG_FILES
Specify the configuration file(s) that should be passed to the hostapd daemon when it is started. Multiple files can be specified using a quoted, space separated list.
DEBUG_LEVEL
Set level of debug output.(See Debugging for details.)

Runtime Configuration (hostapd.conf)

Configuration of the Access Point is handled by the APconfd daemon. hostapd maintains an internal configuration file based on these settings. It passes control information and management frames to the DataPath driver.

The Host Access Point Daemon (hostapd) uses configuration files to set up values for all 802.11 related options. These files configure both the hostapd process and the kernel drivers for the related wireless LAN (WLAN) devices.

Notes
  • The interfaces described in this section, including all API's, file structures, data structures and scripting techniques (the interfaces), are subject to change in future versions of the Devicescape™ Universal Wireless Platform. Should Devicescape change any of these interfaces, Devicescape does not guarantee nor warranty forward and/or backward compatibility between the new interfaces and those described herein.
  • Some options may not be supported in all drivers. For example, Broadcom driver (broadcom-wl-drv package) requires that you configure some options with the broadcom-wl tools (broadcom-wl package). See Options that Must be Configured in the Broadcom Driverand the driver-specific packages for options that require configuration external to hostapd.

Each WLAN interface/radio has its own configuration file. A single hostapd process can be used to control more than one radio. During start-up, all configuration files must be listed on the command line. For example, following command line could be used to start hostapd as a daemon that forks to background (-B) and controls two WLAN devices (wlan0 and wlan1):

./hostapd -B /etc/hostapd.conf-wlan0 /etc/hostapd.conf-wlan1

The default configuration file is hostapd.conf. It is a text file. Empty lines are ignored. All lines starting with "#" are also ignored-use them to comment the file. An example configuration file is provided which includes comments about the available configuration items.

Most items have a sensible default values, but the interface, SSID, hardware mode, and channel and channel policy items at least should be explicitly configured as "basic settings". The basic settings are described first, followed by sections on how to configure the rest of the available options.

Note that "hostapd.conf" file is meant to serve as an example configuration file for the hostapd package. In practice, you might rename this file. When you create the root file system for an access point per the AP reference design (see Devicescape Developer Guide), example files are generated for /etc/hostapd (with a symbolic link to /config/etc/hostapd) directory. You can use these as reference configuration files. In most cases, the <hostapd>.conf file must be edited before bringing up the access point and you must specify which .conf file should be loaded when hostapd starts. That is, hostapd looks at this particular configuration file so that it knows which "<hostapd>.conf" to use.

# cat /etc/default/hostapd
# Settings for the hostapd init script
# Specify all the config files, one per radio that
# will be running in access point mode
CONFIG_FILES="/etc/hostapd/atheros_a.conf"
# Set the level of debug output desired
DEBUG_LEVEL=1

For multi-radio support, you can have two or more .conf files, separated by a space:

CONFIG_FILES="/etc/hostapd/atheros_a.conf /etc/hostapd/broadcom_g.conf"

Modifying a Running Configuration

A running configuration can be changed by modifying the configuration files and signaling the hostapd process with a SIGHUP signal hangup. This will cause the daemon to reload the configuration files and enable the new settings-assuming there are no syntax errors in the configuration files.

Note
A better option than using SIGHUP is to use the API call RELOAD because it provides feedback to the caller about the completion of the reconfiguration. SIGHUP does not provide this feedback, and can easily cause race conditions with the AP configuration system in some cases (for example, when a SIGHUP command is followed by an interface configuration for a new WDS link).

Quick Reference to Configuration Options in hostapd.conf

Following is a summary of all configuration options in the hostapd.conf file for quick reference. (Note that some options may not be supported in all drivers. See driver-specific packages for options that require configuration external to hostapd.)

Option
Examples and Notes
Where to Get More Info
accept_mac_file
For MAC Filtering, define path to MAC accept file:
accept_mac_file=/etc/hostapd.accept
adm_status
Turns radio interface on and off.
adm_status=up
acct_server_addr
acct_server_port
acct_server_shared_secret
Define the RADIUS accounting server address, port (normally 1813), and shared secret.
acct_server_addr=127.0.0.1
acct_server_port=1813
acct_server_shared_secret=secret
aifs
This is a QoS parameter.
allow_non_wpa
In WPA security mode, allow non-WPA stations:
allow_non_wpa=1
Setting allow_non_wpa=0 means do not allow non-WPA stations to use this Access Point.
(See also wpa.)
antenna_mode
antenna_sel
Set antenna mode to static (and set requisite default antenna):
antenna_mode=static
antenna_sel=1
Automatically select the best antenna to receive/transmit and switch in case of transmit failure (this is the default):
antenna_mode=omni_ap
ap_max_inactivity
Set station inactivity limit:
ap_max_inactivity=300
The setting shown is the default: 300 seconds (which is 5 minutes)
ap_table_max_size
ap_table_expiration_time
These are options related to passive scanning.
assoc_min_rate
Set a minimum rate (in 100 kbps) needed for association:
assoc_min_rate=120
(If the minimum rate is set to 12 Mbps for a 802.11g Access Point, all 802.11b stations will be rejected.)
atheros_super_ag
Enable all Super AG features:
atheros_super_ag=7
(As a prerequisite, to using Atheros Super AG, hw_mode must be set to "g": hw_mode=g)
auth_algs
Sets the authenticaton algorithm for both Open and Shared Key authentication:
auth_algs=3
(This is a WEP security setting.)
auth_server_addr
auth_server_port
auth_server_shared_secret
Configure information about the RADIUS server:
auth_server_addr=127.0.0.1
auth_server_port=1813
auth_server_shared_secret=secret
basic_rates
Set basic and supported rates for a mix of 802.11g and 802.11b stations:
supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
basic_rates=10 20 55 110
beacon_int
Send a Beacon frame every 100 milliseconds (10 per second):
beacon_int=100
bridge_packets
Disable the internal bridge thereby enabling "station isolation":
bridge_packets=0
Enable the internal bridge thereby disabling "station isolation" (this is the default):
bridge_packets=1
bss
hostapd enables multiple BSSIDs by the addition of a bss configuration item. The bss item requires a default interface name to be allocated for the data packets of the new BSS:
bss=wlan0_0
burst
This is a QoS parameter.
channel policy
channel
Disable channel management (default) and set channel:
channel_policy=0
channel=60
Automatically select best channel and allow it to change:
channel_policy=3
country_code
country_code=US
cts_protection_type
Set CTS protection for a mix of 802.11g and 802.11b stations:
cts_protection_type=0
(This is the default.)
cwmin
This is a QoS parameter.
cwmax
This is a QoS parameter.
deny_mac_file
For MAC Filtering, define path to MAC deny file:
deny_mac_file=/etc/hostapd.deny
dtim_period
Include DTIM message in every other Beacon:
dtim_period=2
eapol_key_index_workaround
Microsoft Windows XP supplicant workaround when broadcast keys only are used:
eapol_key_index_workaround=0
This is not needed if individual unicast keys are used (when wep_key_len_unicast is set to 5, 13, or 16):
eapol_reauth_period
An example of the default setting for how often IEEE 802.1X reauthentication is required (once an hour):
eapol_reauth_period=3600
Setting eapol_reauth_period=0 disables reauthentication for IEEE 802.1X security.
force_unicast_rate
Set transmission rate (in 100 kbps) for all unicast frames:
force_unicast_rate=240
(Stations that do not support this rate cannot associate.)
fragm_threshold
Disable fragmentation threshold:
fragm_threshold=2346
(The range is 0 to 2346 where 2346 is "disabled")
framed_mtu
Define value for Framed-MTU attribute in RADIUS messages:
framed_mtu=1400
Limits size EAP messages (by fragmenting them) to fit MTU of the wireless interface
See Framed MTU.
hwmode
hw_mode=g
iapp_interface
Prerequisite setting for layer2_update.
ieee80211d
Enable sending country code in Beacons:
ieee80211d=1
ieee8021x
Enable IEEE 802.1x security:
ieee8021x=1
ignore_broadcast_ssid
Set Access Point to not send SSID in its Beacons. (Require client stations to know the SSID):
ignore_broadcast_ssid=1
inactivity_policy
Example of default station inactivity policy configuration:
inactivity_policy=0
interface
interface=wlan0
See Interface.
layer2_update
hostapd provides support for Layer 2 Update frames to update bridge learn tables when a station associates.
See also iapp_interface which is prerequisite setting for layer2_update.
load_balance_threshold
load_balance_threshold_st
load_balance_assoc_limit
Load balancing is disabled by default (load_balance_threshold=0)
See Load Balancing for details on setting these options.
logger_syslog
logger_syslog_level
logger_stdout
logger_stdout_level
Include all modules and set minimum priority level to "2"; only information messages, notifications and warnings get logged.
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
key_tx_rx_threshold
For dynamically generated encryption keys (in IEEE 802.1X or WPA security), change a key after its been used a specified number of times:
key_tx_rx_threshold=1000000
To disable rekeying threshold:
key_tx_rx_threshold=0
(See also wep_rekey_period.)
macaddr_acl
For MAC Filtering, deny station unless it is listed in access control list (ACL):
macaddr_acl=1
(If set to "0" stations are accepted unless in ACL; if set to "2" RADIUS server is consulted after local ACL is searched.)
max_num_sta
Restrict number of associations to this Access Point to 255:
max_num_sta=255
max_ratectrl_rate
Set a maximum transmission rate:
max_ratectrl_rate=360
multi_ssid
Define multiple SSIDs:
multi_ssid=GuestAccess
minimal_eap
Example of default setting for internal EAP authentication server, "0" is disabled:
minimal_eap=0
To enable the internal authentication server:
minimal_eap=1.
own_ip_addr
RADIUS server setting to define IP Address of the access point running hostapd:
own_ip_addr=127.0.0.1
passive_scan_mode
passive_scan_interval
passive_scan_listen
hostapd uses passive scanning to locate other Access Points. This feature is provided as part of rogue detection, but can also be used for WDS and clustering.
See Rogue Detection for details on these options.
preamble
Set short preamble (to improve efficiency of network throughput for 2, 5.5, 11 Mbps):
preamble=1
radius_failover_limit
When multiple RADIUS servers are configured, set number of attempts to retry failed transmissions before fail-over to second RADIUS server:
radius_failover_limit=4
reg_domain_filename
reg_domain_filename=/etc/reg_domains.conf
rsn_preauth
rsn_preauth_interfaces
Enable IEEE 802.11i/RSN/WPA2 pre-authentication to speed up roaming:
rsn_preauth=1
By default, this option is disabled (rsn_preauth=0).
Define space separated list of interfaces from which pre-authentication frames are (for example, 'eth0' or 'eth0 wlan0wds0':
rsn_preauth_interfaces=eth0
rts_threshold
Disable RTS/CTS threshold:
rts_threshold=2347
(The range is 0 to 2347 where 2347 is "disabled".)
security_policy
Set the security mode for the secondary SSID in a multi-SSID configuration.
This requires additional configuration depending on which security policy you set.
ssid
ssid=test
See SSID.
supported_rates
Set basic and supported rates for a mix of 802.11g and 802.11b stations:
supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
basic_rates=10 20 55 110
tx_fail_percentage_limit
tx_fail_interval
Set maximum acceptable failure percentage of TX packets and deauthenticate stations that miss the cut-off:
tx_fail_percentage_limit=20
tx_fail_interval=10
(If either option is set to 0, this limitation on failure percentages is disabled; which is the default.)
tx_power_adjustment
Depracated. Use tx_power_reduction.
 
tx_power_reduction
Disable tx_power_reduction:
tx_power_reduction=0
(The default is disabled. When set to something other than 0, tx_power_reduction reduces the power output of a radio per the algorithm described in the Transmission Power.)
tx_queue_*
tx_queue_* options are QoS parameters for AP-to-station traffic.
vlan
Set VLANs, which are bou:
vlan=wlan0_wep
wds
wds_ap
wds_assoc
wds_remote_addr
wds_security_policy
wds_wep_key

Configure WDS link between two APs:
wds=wlan0wds0
wds_remote_addr=00:11:11:11:11:11
wds_ssid=wds-ssid
wds_security_policy=3
wds_wpa_psk_ascii=12345678
wds_ap=1
wds_assoc=1
wds=wlan0wds4
wds_remote_addr=00:44:44:44:44:44
wds_ssid=wds-ssid
wds_security_policy=1
wds_wep_key="abcde"
wds_ap=1
wds_assoc=1
wds=wlan0wds1
wds_remote_addr=00:22:22:22:22:22
wds_wep_key="abcde"
wds=wlan0wds2
wds_remote_addr=00:33:33:33:33:33
wep_keyNumber
wep_default_key
Set WEP keys in hexadecimal or ASCII (double-quoted) strings. Examples and notation:
wep_key0=1A2B3C4D5E (40-bit, hexadecimal)
wep_key1="vwxyz" (40-bit, ASCII)
wep_key2=0102030405060708090A0B0C0D (104-bit, hexadecimal)
wep_key3=".2.4.6.8.0.23" (104-bit, ASCII)
Set the active key:
wep_default_key=0
wep_key_len_broadcast
wep_key_len_unicast
For dynamic WEP keys, define length of generated keys in bytes (5 for 40-bit, 13 for 104-bit, or 16 for 128-bit WEP secret key):
wep_key_len_broadcast=13
wep_key_len_unicast=13
(Above example sets dynamic WEP keys at 104-bit length.)
wep_rekey_period
Define WEP rekeying interval (in seconds) and send to stations using EAPOL-Key frames:
wep_rekey_period=300
If this is set to 0, WEP keys are only generated once.
(See also key_tx_rx_threshold.)
wme_ac_*
These are QoS parameters for clients.
wpa
Enable WPA security mode:
wpa=1
wpa*
For details on wpa_use_psk, wpa_psk_hex, wpa_poll_interval, and other wpa* options, see Wi-Fi Protected Access.

Options that Must be Configured in the Broadcom Driver

For the Broadcom driver, the following options currently must be configured in that driver using the Broadcom wl tools:

  • Wireless Distribution Subsystem (WDS)
  • MAC Filtering
  • The following IEEE 80211 Radio Settings:
    • IEEE 802.11b Preamble
    • Clear-to-Send Frames
    • Rate Configuration
    • Forced Transmission Rate
    • Transmission Power

For information on how to configure these features in the Broadcom driver, see hostapd.conf Options Requiring External Configuration with Broadcom wl in broadcom-wl-drv package and broadcom-wl package.

Notes
Also, please note:
  • For a Broadcom bridge interface you must add the following line in the hostapd.conf file:
    bridge=<BridgeName> (for example, bridge=br0). Whereas in the Atheros driver, creating the bridge (in an interfaces file or via command ine) is enough.
  • When using the Broadcom driver, you must add a the following line in the hostapd.conf file:
    driver=broadcom.
  • Before starting hostapd, the Broadcom driver must be configured to access point mode with:
    wl -i eth1 ap 1

Basic Settings

At a minimum, configure these optons explicitly:

Interface

Define the Linux network interface assigned for the WLAN device.

Note
When the access point is transmitting or receiving management frames, it uses the defined interface with an "ap" postfix, for example, wlan0ap.

interface=wlan0

(See also Options that Must be Configured in the Broadcom Driver for information about setting up a bridge interface when using the Brodcom driver.)

SSID

The SSID to be used in 802.11 management frames:

ssid=test

This is the default SSID for the Access Point.

Hardware Mode

Select an operation mode. The configuration items are:

a
Sets the hardware mode to IEEE 802.11a
b
Sets the hardware mode to IEEE 802.11b
g
Sets the hardware mode to IEEE 802.11g or IEEE 802.11 Atheros Super AG. (For Atheros Super AG, see also IEEE 802.11 ATHEROS SUPER AG Low-Level Hardware Setting.)
turbog
Sets the hardware mode to Atheros 2.4 GHz Turbo
turbo
Sets the hardware mode to Atheros 5 GHz Turbo

An example of the hardware mode setting:

hw_mode=g
IEEE 802.11 ATHEROS SUPER AG Low-Level Hardware Setting

In order for the hardware mode "g" to leverage the full capacity of IEEE 802.11 Atheros Super AG, an additional setting must be specified on the driver.

The atheros_super_ag configuration item uses these bit fields:

Flag Bit
Decimal
Value
Description
Bit 0
1
Enable fast frame support
Bit 1
2
Enable compression
Bit 2
4
Enable TurboPrime

Atheros SuperA/G is disabled by default: atheros_super_ag=0)

As an example, to enable all Super AG features:

atheros_super_ag=7

Channel and Channel Policy

Either the channel is set explicitly (channel_policy=0) and channel is set to the specified channel number or automatic channel selection is configured. There are three options for automatic channel selection::

  1. Select the first available channel of the first available mode (channel_policy=1). In this case, the channel item is ignored.
  2. Automatically select the best channel (channel_policy=2). In this case, the channel item is ignored.
  3. Automatically select the best channel and allow channel to be changed (channel_policy=3).

An example of the channel policy setting:

channel_policy=0
channel=60

Check Country Code and Regulatory Domain

By default, the country code and regulatory domain is set to operate on frequencies permitted in the United States. These settings should be modified as appropriate to operate on the frequency bands permitted in your country. See Country Code and Regulatory Domain.

Country Code and Regulatory Domain

File Name for Regulatory Domain Information

Different national and transnational authorities regulate different portions of the electromagnetic spectrum available for transmission. The 802.11 family of standards transmit and receive in unlicensed frequencies, using the 2.4 GHz band for 802.11b and 802.11g, and the 5 GHz band for 802.11a. There are differences in Channel range and Transmission Power levels for the different regulators. Regulators include the Federal Communications Commission (FCC), the European Telecommunications Standards Institute (ETSI), and the Telecom Engineering Center (MKK or TELEC).

An information file is provided that shows regulatory domain data; that is, the accepted frequencies associated with each country code. The reg_domain_filename configuration item is set to the default file name for regulatory domain data:

reg_domain_filename=/etc/reg_domains.conf

Country Code

The Country code (ISO/IEC 3166-1) is used to set the regulatory domain, which limits the available channels and transmit power to the values allowed by the specified regulator.

By default, the country code is set to "US", which sets it to transmit at radio frequencies permitted in the United States:

country_code=US

IEEE 80211d Setting for Sending Country Code and Accepted Frequencies in Beacon Frames

Enable IEEE 802.11d setting to transmit country code and accepted frequencies in beacon frames. (By default, this setting is disabled (ieee80211d=0).

ieee80211d=1

Event Logging

System Logs and Standard Output

hostapd supports event logging both to syslog and stdout, the latter usually used for debugging only. Events like IEEE 802.11 authentication, associations, and IEEE 802.1x authorization are sent to the event log.

Bit Fields and Selected Modules

The logger_syslog and logger_stdout items are bit fields used to select which modules are included in the event logging. -1 selects all modules. Currently used module bits:

Flag Bit
Decimal
Value
Description
Bit 0
1
IEEE 802.11 module
Bit 1
2
IEEE 802.1X module
Bit 2
4
WPA module
Bit 3
8
RADIUS module
Bit 4
16
MLME module
Bit 5
32
Driver Interface module

Setting Severity Level

The logger_syslog_level and logger_stdout_level set the minimum priority level to be logged. Specifying a level indicates to log events at the specified level or higher. The options are:

0
Verbose debugging
1
Debugging
2
Informational messages
3
Notification
4
Warning

Example Log Settings

This example configuration includes all modules and sets the minimum priority level to "2", which means only informational messages, notifications and warnings will be logged:

logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2

IEEE 802.11 Radio Settings

Administration Status

Turns radio interface on and off. Valid values are "up" and "down". If interface is down (off), no frames are transmitted or received. The default is "up".

adm_status=up

Beacon Interval

Beacon frames are transmitted by an access point at regular intervals to announce the existence of the wireless network.

Define the beacon interval in kµsec (1.024 ms). The default behavior is to send a beacon frame once every 100 milliseconds (or 10 per second):

beacon_int=100

Delivery Traffic Information Messages

The Delivery Traffic Information Map (DTIM ) message is an element included in some Beacon frames. It indicates which client stations, currently sleeping in low-power mode, have data buffered on the access point awaiting pick-up.

hostapd can vary the frequency of DTIM messages being inserted in its Beacon frames. The range is 1 to 255 where 1 indicates every Beacon includes a DTIM message:

dtim_period=2

Maximum Station Associations

The 802.11 standard specifies a limit of 2007 different association IDs. You can restrict the stations in your station table to fewer with this configuration item. Once max_num_sta have been added to the station table, new stations will be rejected.

max_num_sta=255

RTS/CTS Threshold

Set the Request-to-Send (RTS) / Clear-to-Send (CTS) threshold with the rts_threshold configuration item. The range is 0 to 2347 (disabled):

rts_threshold=2347

If the rts_threshold configuration item is not included in hostapd.conf, hostapd will not control the RTS threshold. You can use the command iwconfig wlan# rts val to set it.

Fragmentation Threshold

Set the Fragmentation threshold with the fragm_threshold configuration item. The range is 0 to 2346 (disabled):

fragm_threshold=2346

If the fragm_threshold configuration item is not included in hostapd.conf, hostapd will not control the fragmentation threshold. You can use the command iwconfig wlan# frag val to set it.

IEEE 802.11b Preamble

IEEE 802.11b supports a short or long preamble. The long preamble uses the legacy 802.11 1 and 2 Mbps DSSS header. The short preamble option was provided to improve the efficiency of a network's throughput. The preamble is used to allow stations to synchronize with the access point signal. The options are:

0
Use long preamble
1
Use short preamble for 2, 5.5, 11 Mbps

Note
This affects only 802.11b and 802.11g modes. If one or more associated stations do not support the short preamble, the access point will automatically use the long preamble regardless of this setting.

Example preamble setting:

preamble=1

Note
For the Broadcom driver, the preamble must be configured in that driver using the Broadcom wl tools. For information on how to configure these features in the Broadcom driver see hostapd.conf Options Requiring External Configuration with Broadcom wl and broadcom-wl package.

Clear-to-Send Frames (cts_protection_type)

802.11g uses Clear-to-Send (CTS) frames to stop 802.11b stations from interfering with frames sent at higher rates. This is useful in mixed mode networks consisting of both 802.11b and 802.11g stations. This behavior is automatically disabled if there are no 802.11b stations associated with the access point.

Override this behavior with the cts_protection_type configuration item. Its options are:

0
Use CTS protection when there are both 802.11g and 802.11b stations associated with this access point or when or when Overlapping Legacy BSS Condition (OLBC) is detected.
This is the default.
1
Force CTS protection even if there are no 802.11b stations associated with this access point
2
Disable CTS protection even when there are 802.11b stations associated with this access point
3
Like 0 (auto detection), but do not use OLBC detection

.

Note
OLBC is required for Wi-Fi certification of IEEE 802.11g AP and thus, only the default setting (0) can pass the certification test.
OLBC refers to the case where one of the overlapping BSSes (that is, another AP on the same channel) is either itself IEEE 802.11b-only or has IEEE 802.11b-only stations. IEEE 802.11b stations that do not support the new IEEE 802.11g rates are considered "legacy".

Example of setting CTS protection for both 802.11g and 802.11b stations:

cts_protection_type=0

It can be useful to enable CTS protection for an 802.11g-only access point where there are 802.11b stations on the same channel using another access point. Alternatively, disabling this even when 802.11b stations are present can improve performance, if most of the traffic is between 802.11g devices.

Note
For the Broadcom driver, the "clear-to-send (CTS)" setting must be configured in that driver using the Broadcom wl tools. For information on how to configure these features in the Broadcom driver see hostapd.conf Options Requiring External Configuration with Broadcom wl and broadcom-wl package.

Rate Configuration

The default is to enable all rates supported by the hardware. This configuration item allows the list to be filtered so that only the defined rates are left in the list. If the list is empty, all rates are used. The list can have entries that are not in the range of rates the hardware supports-such entries are ignored. The entries in this list are in 100 kbps, where 11 Mbps = 110.

If this item is present, at least one rate has to match the rates the hardware supports.

The basic rate set configuration is a list of rates (in 100 kbps) that are included in the basic rate set. If this item is not defined, a reasonable default set is used.

Example values:

supported_rates=60 90 120 180 240 360 480 540
basic_rates=60 120 240

802.11b:

supported_rates=10 20 55 110
basic_rates=10 20

802.11g only:

supported_rates=60 90 120 180 240 360 480 540
basic_rates=60 120 240

802.11g in mixed mode with 802.11b stations:

supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
basic_rates=10 20 55 110

Note
For the Broadcom driver, the "rate configuration" setting must be configured in that driver using the Broadcom wl tools. For information on how to configure these features in the Broadcom driver see hostapd.conf Options Requiring External Configuration with Broadcom wl and broadcom-wl package.

Forced Transmission Rate

This configuration item allows you to configure a transmission rate (in 100 kbps) that will be used for all unicast frames. Configuring this item will also prevent stations that do not support the forced rate from associating with the Access Point:

force_unicast_rate=240

The rate must be one of the supported rates (supported_rates) defined in Rate Configuration above.

Note that the force_unicast_rate is only used for rate selection of TX frames; that is, STAs (stations) can still send frames at other supported rates and the AP will accept them.

Note
For the Broadcom driver, the "forced transmission rate" setting must be configured in that driver using the Broadcom wl tools. For information on how to configure these features in the Broadcom driver see hostapd.conf Options Requiring External Configuration with Broadcom wl and broadcom-wl package.

Maximum Transmission Rate

This configuration item allows you to set a maximum limit on the transmission rate for the rate control algorithm in use. By default, this option is disabled (0) which allows any supported rate to be used.

If set, this option overrides rates in the supported rate set that are above the specified maximum transmission rate.

Example of setting a maximum transmission rate:

max_ratectrl_rate=360

Minimum Association Rate

This configuration item allows you to set a minimum rate (in 100 kbps) required for association. If a client station does not support any rates equal to or greater than this rate, association will be rejected. If the minimum rate is set to 12 Mbps for a 802.11g Access Point, all 802.11b stations will be rejected.

assoc_min_rate=120

Maximum Failure Percentage for Transmissions

This configuration item allows you to set the maximum acceptable failure percentage for transmitted packets (percentage of packets that failed even after all retry attempts). This can be used, for example, with Forced Transmission Rate to remove STAs that are not close enough to use the configured rate.

If the failure percentage is larger than tx_fail_percentage_limit, STA will be deauthenticated. This verification is done every tx_fail_interval seconds.

If either of these options is set to 0 (or not set in hostapd.conf), transmission failure limitation is disabled (this is the default).

Example of setting a maximum failure percentage of TX packets:

tx_fail_percentage_limit=20