'\" t .\" Title: enum ieee80211_hw_flags .\" Author: .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: May 2018 .\" Manual: The basic mac80211 driver interface .\" Source: Kernel Hackers Manual 3.16.56 .\" Language: English .\" .TH "ENUM IEEE80211_HW_FL" "9" "May 2018" "Kernel Hackers Manual 3\&.16\&" "The basic mac80211 driver inte" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" enum_ieee80211_hw_flags \- hardware flags .SH "SYNOPSIS" .sp .nf 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, IEEE80211_HW_CHANCTX_STA_CSA, IEEE80211_HW_CHANGE_RUNNING_CHANCTX }; .fi .SH "CONSTANTS" .PP IEEE80211_HW_HAS_RATE_CONTROL .RS 4 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 \fIset_rts_threshold\fR callback and must look at the BSS config \fIuse_cts_prot\fR for G/N protection, \fIuse_short_slot\fR for slot timing in 2\&.4 GHz and \fIuse_short_preamble\fR for preambles for CCK frames\&. .RE .PP IEEE80211_HW_RX_INCLUDES_FCS .RS 4 Indicates that received frames passed to the stack include the FCS at the end\&. .RE .PP IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING .RS 4 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 \fBieee80211_get_buffered_bc\fR\&. .RE .PP IEEE80211_HW_2GHZ_SHORT_SLOT_INCAPABLE .RS 4 Hardware is not capable of short slot operation on the 2\&.4 GHz band\&. .RE .PP IEEE80211_HW_2GHZ_SHORT_PREAMBLE_INCAPABLE .RS 4 Hardware is not capable of receiving frames with short preamble on the 2\&.4 GHz band\&. .RE .PP IEEE80211_HW_SIGNAL_UNSPEC .RS 4 Hardware can provide signal values but we don\*(Aqt know its units\&. We expect values between 0 and \fImax_signal\fR\&. If possible please provide dB or dBm instead\&. .RE .PP IEEE80211_HW_SIGNAL_DBM .RS 4 Hardware gives signal values in dBm, decibel difference from one milliwatt\&. This is the preferred method since it is standardized between different devices\&. \fImax_signal\fR does not need to be set\&. .RE .PP IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC .RS 4 This device needs to get data from beacon before association (i\&.e\&. dtim_period)\&. .RE .PP IEEE80211_HW_SPECTRUM_MGMT .RS 4 Hardware supports spectrum management defined in 802\&.11h Measurement, Channel Switch, Quieting, TPC .RE .PP IEEE80211_HW_AMPDU_AGGREGATION .RS 4 Hardware supports 11n A\-MPDU aggregation\&. .RE .PP IEEE80211_HW_SUPPORTS_PS .RS 4 Hardware has power save support (i\&.e\&. can go to sleep)\&. .RE .PP IEEE80211_HW_PS_NULLFUNC_STACK .RS 4 Hardware requires nullfunc frame handling in stack, implies stack support for dynamic PS\&. .RE .PP IEEE80211_HW_SUPPORTS_DYNAMIC_PS .RS 4 Hardware has support for dynamic PS\&. .RE .PP IEEE80211_HW_MFP_CAPABLE .RS 4 Hardware supports management frame protection (MFP, IEEE 802\&.11w)\&. .RE .PP IEEE80211_HW_WANT_MONITOR_VIF .RS 4 The driver would like to be informed of a virtual monitor interface when monitor interfaces are the only active interfaces\&. .RE .PP IEEE80211_HW_SUPPORTS_STATIC_SMPS .RS 4 Hardware supports static spatial multiplexing powersave, ie\&. can turn off all but one chain even on HT connections that should be using more chains\&. .RE .PP IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS .RS 4 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\&. .RE .PP IEEE80211_HW_SUPPORTS_UAPSD .RS 4 Hardware supports Unscheduled Automatic Power Save Delivery (U\-APSD) in managed mode\&. The mode is configured with \fBconf_tx\fR operation\&. .RE .PP IEEE80211_HW_REPORTS_TX_ACK_STATUS .RS 4 Hardware can provide ack status reports of Tx frames to the stack\&. .RE .PP IEEE80211_HW_CONNECTION_MONITOR .RS 4 The hardware performs its own connection monitoring, including periodic keep\-alives to the AP and probing the AP on beacon loss\&. .RE .PP IEEE80211_HW_QUEUE_CONTROL .RS 4 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\&. .RE .PP IEEE80211_HW_SUPPORTS_PER_STA_GTK .RS 4 The device\*(Aqs crypto engine supports per\-station GTKs as used by IBSS RSN or during fast transition\&. If the device doesn\*(Aqt 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\&. .RE .PP IEEE80211_HW_AP_LINK_PS .RS 4 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 \fBieee80211_start_ps\fR/\fBieee8021_end_ps\fR to manually configure the PS mode of connected stations\&. .RE .PP IEEE80211_HW_TX_AMPDU_SETUP_IN_HW .RS 4 The device handles TX A\-MPDU session setup strictly in HW\&. mac80211 should not attempt to do this in software\&. .RE .PP IEEE80211_HW_SUPPORTS_RC_TABLE .RS 4 The driver supports using a rate selection table provided by the rate control algorithm\&. .RE .PP IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF .RS 4 Use the P2P Device address for any P2P Interface\&. This will be honoured even if more than one interface is supported\&. .RE .PP IEEE80211_HW_TIMING_BEACON_ONLY .RS 4 Use sync timing from beacon frames only, to allow getting TBTT of a DTIM beacon\&. .RE .PP IEEE80211_HW_SUPPORTS_HT_CCK_RATES .RS 4 Hardware supports mixing HT/CCK rates and can cope with CCK rates in an aggregation session (e\&.g\&. by not using aggregation for such frames\&.) .RE .PP IEEE80211_HW_CHANCTX_STA_CSA .RS 4 Support 802\&.11h based channel\-switch (CSA) for a single active channel while using channel contexts\&. When support is not enabled the default action is to disconnect when getting the CSA frame\&. .RE .PP IEEE80211_HW_CHANGE_RUNNING_CHANCTX .RS 4 The hardware can change a channel context on\-the\-fly\&. This is needed for channel switch on single\-channel hardware\&. It can also be used as an optimization in certain channel switch cases with multi\-channel\&. .RE .SH "DESCRIPTION" .PP .PP 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\*(Aqt need setting any particular flags\&. There are some exceptions to this rule, however, so you are advised to review these flags carefully\&. .SH "AUTHOR" .PP \fBJohannes Berg\fR <\&johannes@sipsolutions.net\&> .RS 4 Author. .RE .SH "COPYRIGHT" .br