ENUM IEEE80211_HW_FL(9) The basic mac80211 driver inte ENUM IEEE80211_HW_FL(9)NAMEenum_ieee80211_hw_flags - hardware flags
SYNOPSIS
enum ieee80211_hw_flags {
IEEE80211_HW_HAS_RATE_CONTROL,
IEEE80211_HW_RX_INCLUDES_FCS,
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING,
IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE,
IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE,
IEEE80211_HW_SIGNAL_UNSPEC,
IEEE80211_HW_SIGNAL_DBM,
IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC,
IEEE80211_HW_SPECTRUM_MGMT,
IEEE80211_HW_AMPDU_AGGREGATION,
IEEE80211_HW_SUPPORTS_PS,
IEEE80211_HW_PS_NULLFUNC_STACK,
IEEE80211_HW_SUPPORTS_DYNAMIC_PS,
IEEE80211_HW_MFP_CAPABLE,
IEEE80211_HW_WANT_MONITOR_VIF,
IEEE80211_HW_SUPPORTS_STATIC_SMPS,
IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS,
IEEE80211_HW_SUPPORTS_UAPSD,
IEEE80211_HW_REPORTS_TX_ACK_STATUS,
IEEE80211_HW_CONNECTION_MONITOR,
IEEE80211_HW_QUEUE_CONTROL,
IEEE80211_HW_SUPPORTS_PER_STA_GTK,
IEEE80211_HW_AP_LINK_PS,
IEEE80211_HW_TX_AMPDU_SETUP_IN_HW,
IEEE80211_HW_SUPPORTS_RC_TABLE,
IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF,
IEEE80211_HW_TIMING_BEACON_ONLY,
IEEE80211_HW_SUPPORTS_HT_CCK_RATES
};
CONSTANTS
IEEE80211_HW_HAS_RATE_CONTROL
The hardware or firmware includes rate control, and cannot be
controlled by the stack. As such, no rate control algorithm should
be instantiated, and the TX rate reported to userspace will be
taken from the TX status instead of the rate control algorithm.
Note that this requires that the driver implement a number of
callbacks so it has the correct information, it needs to have the
set_rts_threshold callback and must look at the BSS config
use_cts_prot for G/N protection, use_short_slot for slot timing in
2.4 GHz and use_short_preamble for preambles for CCK frames.
IEEE80211_HW_RX_INCLUDES_FCS
Indicates that received frames passed to the stack include the FCS
at the end.
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING
Some wireless LAN chipsets buffer broadcast/multicast frames for
power saving stations in the hardware/firmware and others rely on
the host system for such buffering. This option is used to
configure the IEEE 802.11 upper layer to buffer broadcast and
multicast frames when there are power saving stations so that the
driver can fetch them with ieee80211_get_buffered_bc.
IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE
Hardware is not capable of short slot operation on the 2.4 GHz
band.
IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE
Hardware is not capable of receiving frames with short preamble on
the 2.4 GHz band.
IEEE80211_HW_SIGNAL_UNSPEC
Hardware can provide signal values but we don´t know its units. We
expect values between 0 and max_signal. If possible please provide
dB or dBm instead.
IEEE80211_HW_SIGNAL_DBM
Hardware gives signal values in dBm, decibel difference from one
milliwatt. This is the preferred method since it is standardized
between different devices. max_signal does not need to be set.
IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC
This device needs to get data from beacon before association (i.e.
dtim_period).
IEEE80211_HW_SPECTRUM_MGMT
Hardware supports spectrum management defined in 802.11h
Measurement, Channel Switch, Quieting, TPC
IEEE80211_HW_AMPDU_AGGREGATION
Hardware supports 11n A-MPDU aggregation.
IEEE80211_HW_SUPPORTS_PS
Hardware has power save support (i.e. can go to sleep).
IEEE80211_HW_PS_NULLFUNC_STACK
Hardware requires nullfunc frame handling in stack, implies stack
support for dynamic PS.
IEEE80211_HW_SUPPORTS_DYNAMIC_PS
Hardware has support for dynamic PS.
IEEE80211_HW_MFP_CAPABLE
Hardware supports management frame protection (MFP, IEEE 802.11w).
IEEE80211_HW_WANT_MONITOR_VIF
The driver would like to be informed of a virtual monitor interface
when monitor interfaces are the only active interfaces.
IEEE80211_HW_SUPPORTS_STATIC_SMPS
Hardware supports static spatial multiplexing powersave, ie. can
turn off all but one chain even on HT connections that should be
using more chains.
IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS
Hardware supports dynamic spatial multiplexing powersave, ie. can
turn off all but one chain and then wake the rest up as required
after, for example, rts/cts handshake.
IEEE80211_HW_SUPPORTS_UAPSD
Hardware supports Unscheduled Automatic Power Save Delivery
(U-APSD) in managed mode. The mode is configured with conf_tx
operation.
IEEE80211_HW_REPORTS_TX_ACK_STATUS
Hardware can provide ack status reports of Tx frames to the stack.
IEEE80211_HW_CONNECTION_MONITOR
The hardware performs its own connection monitoring, including
periodic keep-alives to the AP and probing the AP on beacon loss.
When this flag is set, signaling beacon-loss will cause an
immediate change to disassociated state.
IEEE80211_HW_QUEUE_CONTROL
The driver wants to control per-interface queue mapping in order to
use different queues (not just one per AC) for different virtual
interfaces. See the doc section on HW queue control for more
details.
IEEE80211_HW_SUPPORTS_PER_STA_GTK
The device´s crypto engine supports per-station GTKs as used by
IBSS RSN or during fast transition. If the device doesn´t support
per-station GTKs, but can be asked not to decrypt group addressed
frames, then IBSS RSN support is still possible but software crypto
will be used. Advertise the wiphy flag only in that case.
IEEE80211_HW_AP_LINK_PS
When operating in AP mode the device autonomously manages the PS
status of connected stations. When this flag is set mac80211 will
not trigger PS mode for connected stations based on the PM bit of
incoming frames. Use ieee80211_start_ps/ieee8021_end_ps to manually
configure the PS mode of connected stations.
IEEE80211_HW_TX_AMPDU_SETUP_IN_HW
The device handles TX A-MPDU session setup strictly in HW. mac80211
should not attempt to do this in software.
IEEE80211_HW_SUPPORTS_RC_TABLE
The driver supports using a rate selection table provided by the
rate control algorithm.
IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF
Use the P2P Device address for any P2P Interface. This will be
honoured even if more than one interface is supported.
IEEE80211_HW_TIMING_BEACON_ONLY
Use sync timing from beacon frames only, to allow getting TBTT of a
DTIM beacon.
IEEE80211_HW_SUPPORTS_HT_CCK_RATES
-- undescribed --
DESCRIPTION
These flags are used to indicate hardware capabilities to the stack.
Generally, flags here should have their meaning done in a way that the
simplest hardware doesn´t need setting any particular flags. There are
some exceptions to this rule, however, so you are advised to review
these flags carefully.
AUTHOR
Johannes Berg <johannes@sipsolutions.net>
Author.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 ENUM IEEE80211_HW_FL(9)