1STRUCT IEEE80211_HW(9)  The basic mac80211 driver inte  STRUCT IEEE80211_HW(9)
2
3
4

NAME

6       struct_ieee80211_hw - hardware information and state
7

SYNOPSIS

9       struct ieee80211_hw {
10         struct ieee80211_conf conf;
11         struct wiphy * wiphy;
12         const char * rate_control_algorithm;
13         void * priv;
14         unsigned long flags[BITS_TO_LONGS(NUM_IEEE80211_HW_FLAGS)];
15         unsigned int extra_tx_headroom;
16         unsigned int extra_beacon_tailroom;
17         int vif_data_size;
18         int sta_data_size;
19         int chanctx_data_size;
20         int txq_data_size;
21         u16 queues;
22         u16 max_listen_interval;
23         s8 max_signal;
24         u8 max_rates;
25         u8 max_report_rates;
26         u8 max_rate_tries;
27         u8 max_rx_aggregation_subframes;
28         u8 max_tx_aggregation_subframes;
29         u8 max_tx_fragments;
30         u8 offchannel_tx_hw_queue;
31         u8 radiotap_mcs_details;
32         u16 radiotap_vht_details;
33         struct radiotap_timestamp;
34         netdev_features_t netdev_features;
35         u8 uapsd_queues;
36         u8 uapsd_max_sp_len;
37         u8 n_cipher_schemes;
38         const struct ieee80211_cipher_scheme * cipher_schemes;
39         u8 max_nan_de_entries;
40       };
41

MEMBERS

43       conf
44           struct ieee80211_conf, device configuration, don't use.
45
46       wiphy
47           This points to the struct wiphy allocated for this 802.11 PHY. You
48           must fill in the perm_addr and dev members of this structure using
49           SET_IEEE80211_DEV and SET_IEEE80211_PERM_ADDR. Additionally, all
50           supported bands (with channels, bitrates) are registered here.
51
52       rate_control_algorithm
53           rate control algorithm for this hardware. If unset (NULL), the
54           default algorithm will be used. Must be set before calling
55           ieee80211_register_hw.
56
57       priv
58           pointer to private area that was allocated for driver use along
59           with this structure.
60
61       flags[BITS_TO_LONGS(NUM_IEEE80211_HW_FLAGS)]
62           hardware flags, see enum ieee80211_hw_flags.
63
64       extra_tx_headroom
65           headroom to reserve in each transmit skb for use by the driver
66           (e.g. for transmit headers.)
67
68       extra_beacon_tailroom
69           tailroom to reserve in each beacon tx skb. Can be used by drivers
70           to add extra IEs.
71
72       vif_data_size
73           size (in bytes) of the drv_priv data area within struct
74           ieee80211_vif.
75
76       sta_data_size
77           size (in bytes) of the drv_priv data area within struct
78           ieee80211_sta.
79
80       chanctx_data_size
81           size (in bytes) of the drv_priv data area within struct
82           ieee80211_chanctx_conf.
83
84       txq_data_size
85           size (in bytes) of the drv_priv data area within struct
86           ieee80211_txq.
87
88       queues
89           number of available hardware transmit queues for data packets.
90           WMM/QoS requires at least four, these queues need to have
91           configurable access parameters.
92
93       max_listen_interval
94           max listen interval in units of beacon interval that HW supports
95
96       max_signal
97           Maximum value for signal (rssi) in RX information, used only when
98           IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB
99
100       max_rates
101           maximum number of alternate rate retry stages the hw can handle.
102
103       max_report_rates
104           maximum number of alternate rate retry stages the hw can report
105           back.
106
107       max_rate_tries
108           maximum number of tries for each stage
109
110       max_rx_aggregation_subframes
111           maximum buffer size (number of sub-frames) to be used for A-MPDU
112           block ack receiver aggregation. This is only relevant if the device
113           has restrictions on the number of subframes, if it relies on
114           mac80211 to do reordering it shouldn't be set.
115
116       max_tx_aggregation_subframes
117           maximum number of subframes in an aggregate an HT driver will
118           transmit. Though ADDBA will advertise a constant value of 64 as
119           some older APs can crash if the window size is smaller (an example
120           is LinkSys WRT120N with FW v1.0.07 build 002 Jun 18 2012).
121
122       max_tx_fragments
123           maximum number of tx buffers per (A)-MSDU, sum of 1 +
124           skb_shinfo(skb)->nr_frags for each skb in the frag_list.
125
126       offchannel_tx_hw_queue
127           HW queue ID to use for offchannel TX (if IEEE80211_HW_QUEUE_CONTROL
128           is set)
129
130       radiotap_mcs_details
131           lists which MCS information can the HW reports, by default it is
132           set to _MCS, _GI and _BW but doesn't include _FMT. Use
133           IEEE80211_RADIOTAP_MCS_HAVE_\* values, only adding _BW is supported
134           today.
135
136       radiotap_vht_details
137           lists which VHT MCS information the HW reports, the default is _GI
138           | _BANDWIDTH. Use the IEEE80211_RADIOTAP_VHT_KNOWN_\* values.
139
140       radiotap_timestamp
141           Information for the radiotap timestamp field; if the 'units_pos'
142           member is set to a non-negative value it must be set to a
143           combination of a IEEE80211_RADIOTAP_TIMESTAMP_UNIT_* and a
144           IEEE80211_RADIOTAP_TIMESTAMP_SPOS_* value, and then the timestamp
145           field will be added and populated from the struct
146           ieee80211_rx_status device_timestamp. If the 'accuracy' member is
147           non-negative, it's put into the accuracy radiotap field and the
148           accuracy known flag is set.
149
150       netdev_features
151           netdev features to be set in each netdev created from this HW. Note
152           that not all features are usable with mac80211, other features will
153           be rejected during HW registration.
154
155       uapsd_queues
156           This bitmap is included in (re)association frame to indicate for
157           each access category if it is uAPSD trigger-enabled and delivery-
158           enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap.
159           Each bit corresponds to different AC. Value '1' in specific bit
160           means that corresponding AC is both trigger- and delivery-enabled.
161           '0' means neither enabled.
162
163       uapsd_max_sp_len
164           maximum number of total buffered frames the WMM AP may deliver to a
165           WMM STA during any Service Period triggered by the WMM STA. Use
166           IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values.
167
168       n_cipher_schemes
169           a size of an array of cipher schemes definitions.
170
171       cipher_schemes
172           a pointer to an array of cipher scheme definitions supported by HW.
173
174       max_nan_de_entries
175           maximum number of NAN DE functions supported by the device.
176

DESCRIPTION

178       This structure contains the configuration and hardware information for
179       an 802.11 PHY.
180

AUTHOR

182       Johannes Berg <johannes@sipsolutions.net>
183           Author.
184
186Kernel Hackers Manual 3.10         June 2019            STRUCT IEEE80211_HW(9)
Impressum