Changeset 36569


Ignore:
Timestamp:
2013-05-07T00:35:50+02:00 (5 years ago)
Author:
nbd
Message:

iw: update to 3.10, sync with nl80211.h changes in compat-wireless

Signed-off-by: Felix Fietkau <nbd@…>

Location:
trunk/package/network/utils/iw
Files:
1 deleted
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/network/utils/iw/Makefile

    r34968 r36569  
    99 
    1010PKG_NAME:=iw 
    11 PKG_VERSION:=3.6 
     11PKG_VERSION:=3.10 
    1212PKG_RELEASE:=1 
    1313 
    1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 
    15 PKG_SOURCE_URL:=http://wireless.kernel.org/download/iw/ 
    16 PKG_MD5SUM:=1c18bfbbc8773629e5e8ac733a39540c 
     15PKG_SOURCE_URL:=https://www.kernel.org/pub/software/network/iw 
     16PKG_MD5SUM:=0dc736963455937278b10fe8a2157e47 
    1717 
    1818PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org> 
  • trunk/package/network/utils/iw/patches/001-nl80211_h_sync.patch

    r34593 r36569  
    11--- a/nl80211.h 
    22+++ b/nl80211.h 
    3 @@ -118,8 +118,9 @@ 
    4   *     to get a list of all present wiphys. 
    5   * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or 
    6   *     %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME, 
    7 - *     %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ, 
    8 - *     %NL80211_ATTR_WIPHY_CHANNEL_TYPE, %NL80211_ATTR_WIPHY_RETRY_SHORT, 
    9 + *     %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the 
    10 + *     attributes determining the channel width; this is used for setting 
    11 + *     monitor mode channel),  %NL80211_ATTR_WIPHY_RETRY_SHORT, 
    12   *     %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, 
    13   *     and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. 
    14   *     However, for setting the channel, see %NL80211_CMD_SET_CHANNEL 
    15 @@ -171,7 +172,7 @@ 
    16   *     %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY, 
    17   *     %NL80211_ATTR_AUTH_TYPE and %NL80211_ATTR_INACTIVITY_TIMEOUT. 
    18   *     The channel to use can be set on the interface or be given using the 
    19 - *     %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_WIPHY_CHANNEL_TYPE attrs. 
    20 + *     %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width. 
    21   * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP 
    22   * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface 
    23   * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP 
    24 @@ -401,8 +402,7 @@ 
    25   *     a response while being associated to an AP on another channel. 
    26   *     %NL80211_ATTR_IFINDEX is used to specify which interface (and thus 
    27   *     radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the 
    28 - *     frequency for the operation and %NL80211_ATTR_WIPHY_CHANNEL_TYPE may be 
    29 - *     optionally used to specify additional channel parameters. 
    30 + *     frequency for the operation. 
    31   *     %NL80211_ATTR_DURATION is used to specify the duration in milliseconds 
    32   *     to remain on the channel. This command is also used as an event to 
    33   *     notify when the requested duration starts (it may take a while for the 
    34 @@ -440,12 +440,11 @@ 
    35   *     as an event indicating reception of a frame that was not processed in 
    36   *     kernel code, but is for us (i.e., which may need to be processed in a 
    37   *     user space application). %NL80211_ATTR_FRAME is used to specify the 
    38 - *     frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and 
    39 - *     optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on 
    40 - *     which channel the frame is to be transmitted or was received. If this 
    41 - *     channel is not the current channel (remain-on-channel or the 
    42 - *     operational channel) the device will switch to the given channel and 
    43 - *     transmit the frame, optionally waiting for a response for the time 
    44 + *     frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used 
    45 + *     to indicate on which channel the frame is to be transmitted or was 
    46 + *     received. If this channel is not the current channel (remain-on-channel 
    47 + *     or the operational channel) the device will switch to the given channel 
    48 + *     and transmit the frame, optionally waiting for a response for the time 
    49   *     specified using %NL80211_ATTR_DURATION. When called, this operation 
    50   *     returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the 
    51   *     TX status event pertaining to the TX request. 
    52 @@ -473,8 +472,8 @@ 
    53   *     command is used as an event to indicate the that a trigger level was 
    54   *     reached. 
    55   * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ 
    56 - *     and %NL80211_ATTR_WIPHY_CHANNEL_TYPE) the given interface (identifed 
    57 - *     by %NL80211_ATTR_IFINDEX) shall operate on. 
    58 + *     and the attributes determining channel width) the given interface 
    59 + *     (identifed by %NL80211_ATTR_IFINDEX) shall operate on. 
    60   *     In case multiple channels are supported by the device, the mechanism 
    61   *     with which it switches channels is implementation-defined. 
    62   *     When a monitor interface is given, it can only switch channel while 
    63 @@ -526,6 +525,12 @@ 
    64   *     of PMKSA caching dandidates. 
    65   * 
    66   * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup). 
    67 + *     In addition, this can be used as an event to request userspace to take 
    68 + *     actions on TDLS links (set up a new link or tear down an existing one). 
    69 + *     In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested 
    70 + *     operation, %NL80211_ATTR_MAC contains the peer MAC address, and 
    71 + *     %NL80211_ATTR_REASON_CODE the reason code to be used (only with 
    72 + *     %NL80211_TDLS_TEARDOWN). 
    73   * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. 
    74   * 
    75   * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP 
    76 @@ -562,8 +567,24 @@ 
    77   * 
    78   * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels 
    79   *     independently of the userspace SME, send this event indicating 
    80 - *     %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ with 
    81 - *     %NL80211_ATTR_WIPHY_CHANNEL_TYPE. 
    82 + *     %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the 
    83 + *     attributes determining channel width. 
    84 + * 
    85 + * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by 
    86 + *     its %NL80211_ATTR_WDEV identifier. It must have been created with 
    87 + *     %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the 
    88 + *     P2P Device can be used for P2P operations, e.g. remain-on-channel and 
    89 + *     public action frame TX. 
    90 + * @NL80211_CMD_STOP_P2P_DEVICE: Stop the given P2P Device, identified by 
    91 + *     its %NL80211_ATTR_WDEV identifier. 
    92 + * 
    93 + * @NL80211_CMD_CONN_FAILED: connection request to an AP failed; used to 
    94 + *     notify userspace that AP has rejected the connection request from a 
    95 + *     station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON 
    96 + *     is used for this. 
    97 + * 
    98 + * @NL80211_CMD_SET_MCAST_RATE: Change the rate used to send multicast frames 
    99 + *     for IBSS or MESH vif. 
    100   * 
    101   * @NL80211_CMD_MAX: highest used command number 
    102   * @__NL80211_CMD_AFTER_LAST: internal use 
    103 @@ -708,6 +729,13 @@ enum nl80211_commands { 
     3@@ -1724,8 +1724,7 @@ enum nl80211_attrs { 
     4        NL80211_ATTR_MDID, 
     5        NL80211_ATTR_IE_RIC, 
    1046  
    105         NL80211_CMD_CH_SWITCH_NOTIFY, 
     7-       NL80211_ATTR_CRIT_PROT_ID, 
     8-       NL80211_ATTR_MAX_CRIT_PROT_DURATION, 
     9+       NL80211_ATTR_WIPHY_ANTENNA_GAIN, 
    10610  
    107 +       NL80211_CMD_START_P2P_DEVICE, 
    108 +       NL80211_CMD_STOP_P2P_DEVICE, 
    109 + 
    110 +       NL80211_CMD_CONN_FAILED, 
    111 + 
    112 +       NL80211_CMD_SET_MCAST_RATE, 
    113 + 
    114         /* add new commands above here */ 
    115   
    116         /* used to define NL80211_CMD_MAX below */ 
    117 @@ -744,14 +772,26 @@ enum nl80211_commands { 
    118   *     /sys/class/ieee80211/<phyname>/index 
    119   * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming) 
    120   * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters 
    121 - * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz 
    122 + * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz, 
    123 + *     defines the channel together with the (deprecated) 
    124 + *     %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes 
    125 + *     %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1 
    126 + *     and %NL80211_ATTR_CENTER_FREQ2 
    127 + * @NL80211_ATTR_CHANNEL_WIDTH: u32 attribute containing one of the values 
    128 + *     of &enum nl80211_chan_width, describing the channel width. See the 
    129 + *     documentation of the enum for more information. 
    130 + * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the 
    131 + *     channel, used for anything but 20 MHz bandwidth 
    132 + * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the 
    133 + *     channel, used only for 80+80 MHz bandwidth 
    134   * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ 
    135 - *     if HT20 or HT40 are allowed (i.e., 802.11n disabled if not included): 
    136 + *     if HT20 or HT40 are to be used (i.e., HT disabled if not included): 
    137   *     NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including 
    138   *             this attribute) 
    139   *     NL80211_CHAN_HT20 = HT20 only 
    140   *     NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel 
    141   *     NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel 
    142 + *     This attribute is now deprecated. 
    143   * @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is 
    144   *     less than or equal to the RTS threshold; allowed range: 1..255; 
    145   *     dot11ShortRetryLimit; u8 
    146 @@ -1251,6 +1291,25 @@ enum nl80211_commands { 
    147   *     was used to provide the hint. For the different types of 
    148   *     allowed user regulatory hints see nl80211_user_reg_hint_type. 
    149   * 
    150 + * @NL80211_ATTR_CONN_FAILED_REASON: The reason for which AP has rejected 
    151 + *     the connection request from a station. nl80211_connect_failed_reason 
    152 + *     enum has different reasons of connection failure. 
    153 + * 
    154 + * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts 
    155 + *     with the Authentication transaction sequence number field. 
    156 + * 
    157 + * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from 
    158 + *     association request when used with NL80211_CMD_NEW_STATION) 
    159 + * 
    160 + * @NL80211_ATTR_SCAN_FLAGS: scan request control flags (u32) 
    161 + * 
    162 + * @NL80211_ATTR_P2P_CTWINDOW: P2P GO Client Traffic Window (u8), used with 
    163 + *     the START_AP and SET_BSS commands 
    164 + * @NL80211_ATTR_P2P_OPPPS: P2P GO opportunistic PS (u8), used with the 
    165 + *     START_AP and SET_BSS commands. This can have the values 0 or 1; 
    166 + *     if not given in START_AP 0 is assumed, if not given in SET_BSS 
    167 + *     no change is made. 
    168 + * 
    169   * @NL80211_ATTR_MAX: highest attribute number currently defined 
    170   * @__NL80211_ATTR_AFTER_LAST: internal use 
    171   */ 
    172 @@ -1506,6 +1565,23 @@ enum nl80211_attrs { 
    173   
    174         NL80211_ATTR_USER_REG_HINT_TYPE, 
    175   
    176 +       NL80211_ATTR_CONN_FAILED_REASON, 
    177 + 
    178 +       NL80211_ATTR_SAE_DATA, 
    179 + 
    180 +       NL80211_ATTR_VHT_CAPABILITY, 
    181 + 
    182 +       NL80211_ATTR_SCAN_FLAGS, 
    183 + 
    184 +       NL80211_ATTR_CHANNEL_WIDTH, 
    185 +       NL80211_ATTR_CENTER_FREQ1, 
    186 +       NL80211_ATTR_CENTER_FREQ2, 
    187 + 
    188 +       NL80211_ATTR_P2P_CTWINDOW, 
    189 +       NL80211_ATTR_P2P_OPPPS, 
    190 + 
    191 +       NL80211_ATTR_WIPHY_ANTENNA_GAIN, 
    192 + 
    19311        /* add attributes here, update the policy in nl80211.c */ 
    19412  
    195         __NL80211_ATTR_AFTER_LAST, 
    196 @@ -1549,6 +1625,7 @@ enum nl80211_attrs { 
    197  #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY    16 
    198  #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY    24 
    199  #define NL80211_HT_CAPABILITY_LEN              26 
    200 +#define NL80211_VHT_CAPABILITY_LEN             12 
    201   
    202  #define NL80211_MAX_NR_CIPHER_SUITES           5 
    203  #define NL80211_MAX_NR_AKM_SUITES              2 
    204 @@ -1575,6 +1652,10 @@ enum nl80211_attrs { 
    205   * @NL80211_IFTYPE_MESH_POINT: mesh point 
    206   * @NL80211_IFTYPE_P2P_CLIENT: P2P client 
    207   * @NL80211_IFTYPE_P2P_GO: P2P group owner 
    208 + * @NL80211_IFTYPE_P2P_DEVICE: P2P device interface type, this is not a netdev 
    209 + *     and therefore can't be created in the normal ways, use the 
    210 + *     %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE 
    211 + *     commands to create and destroy one 
    212   * @NL80211_IFTYPE_MAX: highest interface type number currently defined 
    213   * @NUM_NL80211_IFTYPES: number of defined interface types 
    214   * 
    215 @@ -1593,6 +1674,7 @@ enum nl80211_iftype { 
    216         NL80211_IFTYPE_MESH_POINT, 
    217         NL80211_IFTYPE_P2P_CLIENT, 
    218         NL80211_IFTYPE_P2P_GO, 
    219 +       NL80211_IFTYPE_P2P_DEVICE, 
    220   
    221         /* keep last */ 
    222         NUM_NL80211_IFTYPES, 
    223 @@ -1664,10 +1746,15 @@ struct nl80211_sta_flag_update { 
    224   * @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved 
    225   * @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s) 
    226   * @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8) 
    227 - * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 Mhz dualchannel bitrate 
    228 + * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 MHz dualchannel bitrate 
    229   * @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval 
    230   * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s) 
    231   * @NL80211_RATE_INFO_MAX: highest rate_info number currently defined 
    232 + * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8) 
    233 + * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8) 
    234 + * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate 
    235 + * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate 
    236 + * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate 
    237   * @__NL80211_RATE_INFO_AFTER_LAST: internal use 
    238   */ 
    239  enum nl80211_rate_info { 
    240 @@ -1677,6 +1764,11 @@ enum nl80211_rate_info { 
    241         NL80211_RATE_INFO_40_MHZ_WIDTH, 
    242         NL80211_RATE_INFO_SHORT_GI, 
    243         NL80211_RATE_INFO_BITRATE32, 
    244 +       NL80211_RATE_INFO_VHT_MCS, 
    245 +       NL80211_RATE_INFO_VHT_NSS, 
    246 +       NL80211_RATE_INFO_80_MHZ_WIDTH, 
    247 +       NL80211_RATE_INFO_80P80_MHZ_WIDTH, 
    248 +       NL80211_RATE_INFO_160_MHZ_WIDTH, 
    249   
    250         /* keep last */ 
    251         __NL80211_RATE_INFO_AFTER_LAST, 
    252 @@ -1744,6 +1836,8 @@ enum nl80211_sta_bss_param { 
    253   * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update. 
    254   * @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32) 
    255   * @NL80211_STA_INFO_T_OFFSET: timing offset with respect to this STA (s64) 
     13@@ -1991,6 +1990,10 @@ enum nl80211_sta_bss_param { 
     14  * @NL80211_STA_INFO_PEER_PM: peer mesh STA link-specific power mode 
     15  * @NL80211_STA_INFO_NONPEER_PM: neighbor mesh STA power save mode towards 
     16  *     non-peer STA 
    25617+ * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU 
     18+ *     Contains a nested array of signal strength attributes (u8, dBm) 
    25719+ * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average 
     20+ *     Same format as NL80211_STA_INFO_CHAIN_SIGNAL. 
    25821  * @__NL80211_STA_INFO_AFTER_LAST: internal 
    25922  * @NL80211_STA_INFO_MAX: highest possible station info attribute 
    26023  */ 
    261 @@ -1768,6 +1862,8 @@ enum nl80211_sta_info { 
    262         NL80211_STA_INFO_STA_FLAGS, 
    263         NL80211_STA_INFO_BEACON_LOSS, 
    264         NL80211_STA_INFO_T_OFFSET, 
     24@@ -2020,6 +2023,8 @@ enum nl80211_sta_info { 
     25        NL80211_STA_INFO_NONPEER_PM, 
     26        NL80211_STA_INFO_RX_BYTES64, 
     27        NL80211_STA_INFO_TX_BYTES64, 
    26528+       NL80211_STA_INFO_CHAIN_SIGNAL, 
    26629+       NL80211_STA_INFO_CHAIN_SIGNAL_AVG, 
     
    26831        /* keep last */ 
    26932        __NL80211_STA_INFO_AFTER_LAST, 
    270 @@ -2385,6 +2481,15 @@ enum nl80211_ac { 
    271  #define NL80211_TXQ_Q_BE       NL80211_AC_BE 
    272  #define NL80211_TXQ_Q_BK       NL80211_AC_BK 
    273   
    274 +/** 
    275 + * enum nl80211_channel_type - channel type 
    276 + * @NL80211_CHAN_NO_HT: 20 MHz, non-HT channel 
    277 + * @NL80211_CHAN_HT20: 20 MHz HT channel 
    278 + * @NL80211_CHAN_HT40MINUS: HT40 channel, secondary channel 
    279 + *     below the control channel 
    280 + * @NL80211_CHAN_HT40PLUS: HT40 channel, secondary channel 
    281 + *     above the control channel 
    282 + */ 
    283  enum nl80211_channel_type { 
    284         NL80211_CHAN_NO_HT, 
    285         NL80211_CHAN_HT20, 
    286 @@ -2393,6 +2498,32 @@ enum nl80211_channel_type { 
    287  }; 
    288   
    289  /** 
    290 + * enum nl80211_chan_width - channel width definitions 
    291 + * 
    292 + * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH 
    293 + * attribute. 
    294 + * 
    295 + * @NL80211_CHAN_WIDTH_20_NOHT: 20 MHz, non-HT channel 
    296 + * @NL80211_CHAN_WIDTH_20: 20 MHz HT channel 
    297 + * @NL80211_CHAN_WIDTH_40: 40 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 
    298 + *     attribute must be provided as well 
    299 + * @NL80211_CHAN_WIDTH_80: 80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 
    300 + *     attribute must be provided as well 
    301 + * @NL80211_CHAN_WIDTH_80P80: 80+80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 
    302 + *     and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well 
    303 + * @NL80211_CHAN_WIDTH_160: 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 
    304 + *     attribute must be provided as well 
    305 + */ 
    306 +enum nl80211_chan_width { 
    307 +       NL80211_CHAN_WIDTH_20_NOHT, 
    308 +       NL80211_CHAN_WIDTH_20, 
    309 +       NL80211_CHAN_WIDTH_40, 
    310 +       NL80211_CHAN_WIDTH_80, 
    311 +       NL80211_CHAN_WIDTH_80P80, 
    312 +       NL80211_CHAN_WIDTH_160, 
    313 +}; 
    314 + 
    315 +/** 
    316   * enum nl80211_bss - netlink attributes for a BSS 
    317   * 
    318   * @__NL80211_BSS_INVALID: invalid 
    319 @@ -2460,6 +2591,7 @@ enum nl80211_bss_status { 
    320   * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only) 
    321   * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) 
    322   * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) 
    323 + * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals 
    324   * @__NL80211_AUTHTYPE_NUM: internal 
    325   * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm 
    326   * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by 
    327 @@ -2471,6 +2603,7 @@ enum nl80211_auth_type { 
    328         NL80211_AUTHTYPE_SHARED_KEY, 
    329         NL80211_AUTHTYPE_FT, 
    330         NL80211_AUTHTYPE_NETWORK_EAP, 
    331 +       NL80211_AUTHTYPE_SAE, 
    332   
    333         /* keep last */ 
    334         __NL80211_AUTHTYPE_NUM, 
    335 @@ -2994,12 +3127,40 @@ enum nl80211_ap_sme_features { 
    336   * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested 
    337   *     to work properly to suppport receiving regulatory hints from 
    338   *     cellular base stations. 
    339 + * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: If this is set, an active 
    340 + *     P2P Device (%NL80211_IFTYPE_P2P_DEVICE) requires its own channel 
    341 + *     in the interface combinations, even when it's only used for scan 
    342 + *     and remain-on-channel. This could be due to, for example, the 
    343 + *     remain-on-channel implementation requiring a channel context. 
    344 + * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of 
    345 + *     equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station 
    346 + *     mode 
    347 + * @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan 
    348 + * @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported 
    349 + * @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif 
    350 + * @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting 
    351 + * @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform 
    352 + *     OBSS scans and generate 20/40 BSS coex reports. This flag is used only 
    353 + *     for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied. 
    354 + * @NL80211_FEATURE_P2P_GO_CTWIN: P2P GO implementation supports CT Window 
    355 + *     setting 
    356 + * @NL80211_FEATURE_P2P_GO_OPPPS: P2P GO implementation supports opportunistic 
    357 + *     powersave 
    358   */ 
    359  enum nl80211_feature_flags { 
    360 -       NL80211_FEATURE_SK_TX_STATUS    = 1 << 0, 
    361 -       NL80211_FEATURE_HT_IBSS         = 1 << 1, 
    362 -       NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, 
    363 -       NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, 
    364 +       NL80211_FEATURE_SK_TX_STATUS                    = 1 << 0, 
    365 +       NL80211_FEATURE_HT_IBSS                         = 1 << 1, 
    366 +       NL80211_FEATURE_INACTIVITY_TIMER                = 1 << 2, 
    367 +       NL80211_FEATURE_CELL_BASE_REG_HINTS             = 1 << 3, 
    368 +       NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL        = 1 << 4, 
    369 +       NL80211_FEATURE_SAE                             = 1 << 5, 
    370 +       NL80211_FEATURE_LOW_PRIORITY_SCAN               = 1 << 6, 
    371 +       NL80211_FEATURE_SCAN_FLUSH                      = 1 << 7, 
    372 +       NL80211_FEATURE_AP_SCAN                         = 1 << 8, 
    373 +       NL80211_FEATURE_VIF_TXPOWER                     = 1 << 9, 
    374 +       NL80211_FEATURE_NEED_OBSS_SCAN                  = 1 << 10, 
    375 +       NL80211_FEATURE_P2P_GO_CTWIN                    = 1 << 11, 
    376 +       NL80211_FEATURE_P2P_GO_OPPPS                    = 1 << 12, 
    377  }; 
    378   
    379  /** 
    380 @@ -3023,4 +3184,36 @@ enum nl80211_probe_resp_offload_support_ 
    381         NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U =     1<<3, 
    382  }; 
    383   
    384 +/** 
    385 + * enum nl80211_connect_failed_reason - connection request failed reasons 
    386 + * @NL80211_CONN_FAIL_MAX_CLIENTS: Maximum number of clients that can be 
    387 + *     handled by the AP is reached. 
    388 + * @NL80211_CONN_FAIL_BLOCKED_CLIENT: Client's MAC is in the AP's blocklist. 
    389 + */ 
    390 +enum nl80211_connect_failed_reason { 
    391 +       NL80211_CONN_FAIL_MAX_CLIENTS, 
    392 +       NL80211_CONN_FAIL_BLOCKED_CLIENT, 
    393 +}; 
    394 + 
    395 +/** 
    396 + * enum nl80211_scan_flags -  scan request control flags 
    397 + * 
    398 + * Scan request control flags are used to control the handling 
    399 + * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN 
    400 + * requests. 
    401 + * 
    402 + * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority 
    403 + * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning 
    404 + * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured 
    405 + *     as AP and the beaconing has already been configured. This attribute is 
    406 + *     dangerous because will destroy stations performance as a lot of frames 
    407 + *     will be lost while scanning off-channel, therefore it must be used only 
    408 + *     when really needed 
    409 + */ 
    410 +enum nl80211_scan_flags { 
    411 +       NL80211_SCAN_FLAG_LOW_PRIORITY                  = 1<<0, 
    412 +       NL80211_SCAN_FLAG_FLUSH                         = 1<<1, 
    413 +       NL80211_SCAN_FLAG_AP                            = 1<<2, 
    414 +}; 
    415 + 
    416  #endif /* __LINUX_NL80211_H */ 
  • trunk/package/network/utils/iw/patches/100-rx_rate.patch

    r33586 r36569  
    11--- a/station.c 
    22+++ b/station.c 
    3 @@ -29,13 +29,47 @@ enum plink_actions { 
    4         PLINK_ACTION_BLOCK, 
    5  }; 
     3@@ -43,7 +43,7 @@ static void print_power_mode(struct nlat 
     4        } 
     5 } 
    66  
    7 +static void print_sta_bitrate(struct nlattr *nla, const char *name) 
    8 +{ 
    9 +       struct nlattr *rinfo[NL80211_RATE_INFO_MAX + 1]; 
    10 + 
    11 +       static struct nla_policy rate_policy[NL80211_RATE_INFO_MAX + 1] = { 
    12 +               [NL80211_RATE_INFO_BITRATE] = { .type = NLA_U16 }, 
    13 +               [NL80211_RATE_INFO_BITRATE32] = { .type = NLA_U32 }, 
    14 +               [NL80211_RATE_INFO_MCS] = { .type = NLA_U8 }, 
    15 +               [NL80211_RATE_INFO_40_MHZ_WIDTH] = { .type = NLA_FLAG }, 
    16 +               [NL80211_RATE_INFO_SHORT_GI] = { .type = NLA_FLAG }, 
    17 +       }; 
    18 + 
    19 +       if (!nla) 
    20 +               return; 
    21 + 
    22 +       if (nla_parse_nested(rinfo, NL80211_RATE_INFO_MAX, nla, rate_policy)) { 
    23 +               fprintf(stderr, "failed to parse nested rate attributes!\n"); 
    24 +       } else { 
    25 +               int rate = 0; 
    26 +               printf("\n\t%s:\t", name); 
    27 +               if (rinfo[NL80211_RATE_INFO_BITRATE32]) 
    28 +                       rate = nla_get_u32(rinfo[NL80211_RATE_INFO_BITRATE32]); 
    29 +               else if (rinfo[NL80211_RATE_INFO_BITRATE]) 
    30 +                       rate = nla_get_u16(rinfo[NL80211_RATE_INFO_BITRATE]); 
    31 +               if (rate > 0) 
    32 +                       printf("%d.%d MBit/s", rate / 10, rate % 10); 
    33 + 
    34 +               if (rinfo[NL80211_RATE_INFO_MCS]) 
    35 +                       printf(" MCS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_MCS])); 
    36 +               if (rinfo[NL80211_RATE_INFO_40_MHZ_WIDTH]) 
    37 +                       printf(" 40Mhz"); 
    38 +               if (rinfo[NL80211_RATE_INFO_SHORT_GI]) 
    39 +                       printf(" short GI"); 
    40 +       } 
    41 +} 
    42   
    43  static int print_sta_handler(struct nl_msg *msg, void *arg) 
     7-void parse_tx_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen) 
     8+void parse_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen) 
    449 { 
    45         struct nlattr *tb[NL80211_ATTR_MAX + 1]; 
    46         struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg)); 
    47         struct nlattr *sinfo[NL80211_STA_INFO_MAX + 1]; 
    48 -       struct nlattr *rinfo[NL80211_RATE_INFO_MAX + 1]; 
    49         char mac_addr[20], state_name[10], dev[20]; 
    50         struct nl80211_sta_flag_update *sta_flags; 
    51         static struct nla_policy stats_policy[NL80211_STA_INFO_MAX + 1] = { 
    52 @@ -47,6 +81,7 @@ static int print_sta_handler(struct nl_m 
     10        int rate = 0; 
     11        char *pos = buf; 
     12@@ -107,6 +107,7 @@ static int print_sta_handler(struct nl_m 
    5313                [NL80211_STA_INFO_SIGNAL] = { .type = NLA_U8 }, 
    5414                [NL80211_STA_INFO_T_OFFSET] = { .type = NLA_U64 }, 
     
    5818                [NL80211_STA_INFO_PLID] = { .type = NLA_U16 }, 
    5919                [NL80211_STA_INFO_PLINK_STATE] = { .type = NLA_U8 }, 
    60 @@ -56,14 +91,6 @@ static int print_sta_handler(struct nl_m 
    61                         { .minlen = sizeof(struct nl80211_sta_flag_update) }, 
    62         }; 
     20@@ -177,10 +178,17 @@ static int print_sta_handler(struct nl_m 
     21        if (sinfo[NL80211_STA_INFO_TX_BITRATE]) { 
     22                char buf[100]; 
    6323  
    64 -       static struct nla_policy rate_policy[NL80211_RATE_INFO_MAX + 1] = { 
    65 -               [NL80211_RATE_INFO_BITRATE] = { .type = NLA_U16 }, 
    66 -               [NL80211_RATE_INFO_BITRATE32] = { .type = NLA_U32 }, 
    67 -               [NL80211_RATE_INFO_MCS] = { .type = NLA_U8 }, 
    68 -               [NL80211_RATE_INFO_40_MHZ_WIDTH] = { .type = NLA_FLAG }, 
    69 -               [NL80211_RATE_INFO_SHORT_GI] = { .type = NLA_FLAG }, 
    70 -       }; 
    71 - 
    72         nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0), 
    73                   genlmsg_attrlen(gnlh, 0), NULL); 
     24-               parse_tx_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf)); 
     25+               parse_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf)); 
     26                printf("\n\ttx bitrate:\t%s", buf); 
     27        } 
    7428  
    75 @@ -119,28 +146,8 @@ static int print_sta_handler(struct nl_m 
    76                 printf("\n\tToffset:\t%lld us", 
    77                         (unsigned long long)nla_get_u64(sinfo[NL80211_STA_INFO_T_OFFSET])); 
    78   
    79 -       if (sinfo[NL80211_STA_INFO_TX_BITRATE]) { 
    80 -               if (nla_parse_nested(rinfo, NL80211_RATE_INFO_MAX, 
    81 -                                    sinfo[NL80211_STA_INFO_TX_BITRATE], rate_policy)) { 
    82 -                       fprintf(stderr, "failed to parse nested rate attributes!\n"); 
    83 -               } else { 
    84 -                       int rate = 0; 
    85 -                       printf("\n\ttx bitrate:\t"); 
    86 -                       if (rinfo[NL80211_RATE_INFO_BITRATE32]) 
    87 -                               rate = nla_get_u32(rinfo[NL80211_RATE_INFO_BITRATE32]); 
    88 -                       else if (rinfo[NL80211_RATE_INFO_BITRATE]) 
    89 -                               rate = nla_get_u16(rinfo[NL80211_RATE_INFO_BITRATE]); 
    90 -                       if (rate > 0) 
    91 -                               printf("%d.%d MBit/s", rate / 10, rate % 10); 
    92 - 
    93 -                       if (rinfo[NL80211_RATE_INFO_MCS]) 
    94 -                               printf(" MCS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_MCS])); 
    95 -                       if (rinfo[NL80211_RATE_INFO_40_MHZ_WIDTH]) 
    96 -                               printf(" 40Mhz"); 
    97 -                       if (rinfo[NL80211_RATE_INFO_SHORT_GI]) 
    98 -                               printf(" short GI"); 
    99 -               } 
    100 -       } 
    101 +       print_sta_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], "tx bitrate"); 
    102 +       print_sta_bitrate(sinfo[NL80211_STA_INFO_RX_BITRATE], "rx bitrate"); 
    103   
     29+       if (sinfo[NL80211_STA_INFO_RX_BITRATE]) { 
     30+               char buf[100]; 
     31+ 
     32+               parse_bitrate(sinfo[NL80211_STA_INFO_RX_BITRATE], buf, sizeof(buf)); 
     33+               printf("\n\trx bitrate:\t%s", buf); 
     34+       } 
     35+ 
    10436        if (sinfo[NL80211_STA_INFO_LLID]) 
    10537                printf("\n\tmesh llid:\t%d", 
     38                        nla_get_u16(sinfo[NL80211_STA_INFO_LLID])); 
     39--- a/iw.h 
     40+++ b/iw.h 
     41@@ -170,7 +170,7 @@ enum print_ie_type { 
     42 void print_ies(unsigned char *ie, int ielen, bool unknown, 
     43               enum print_ie_type ptype); 
     44  
     45-void parse_tx_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen); 
     46+void parse_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen); 
     47  
     48 DECLARE_SECTION(set); 
     49 DECLARE_SECTION(get); 
     50--- a/link.c 
     51+++ b/link.c 
     52@@ -165,7 +165,7 @@ static int print_link_sta(struct nl_msg  
     53        if (sinfo[NL80211_STA_INFO_TX_BITRATE]) { 
     54                char buf[100]; 
     55  
     56-               parse_tx_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf)); 
     57+               parse_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf)); 
     58                printf("\ttx bitrate: %s\n", buf); 
     59        } 
     60  
  • trunk/package/network/utils/iw/patches/110-per_chain_signal_strength.patch

    r33586 r36569  
    11--- a/station.c 
    22+++ b/station.c 
    3 @@ -65,6 +65,33 @@ static void print_sta_bitrate(struct nla 
    4         } 
     3@@ -91,6 +91,33 @@ void parse_bitrate(struct nlattr *bitrat 
     4                                " VHT-NSS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_VHT_NSS])); 
    55 } 
    66  
     
    3535 { 
    3636        struct nlattr *tb[NL80211_ATTR_MAX + 1]; 
    37 @@ -89,7 +116,10 @@ static int print_sta_handler(struct nl_m 
    38                 [NL80211_STA_INFO_TX_FAILED] = { .type = NLA_U32 }, 
    39                 [NL80211_STA_INFO_STA_FLAGS] = 
    40                         { .minlen = sizeof(struct nl80211_sta_flag_update) }, 
     37@@ -118,7 +145,10 @@ static int print_sta_handler(struct nl_m 
     38                [NL80211_STA_INFO_LOCAL_PM] = { .type = NLA_U32}, 
     39                [NL80211_STA_INFO_PEER_PM] = { .type = NLA_U32}, 
     40                [NL80211_STA_INFO_NONPEER_PM] = { .type = NLA_U32}, 
    4141+               [NL80211_STA_INFO_CHAIN_SIGNAL] = { .type = NLA_NESTED }, 
    4242+               [NL80211_STA_INFO_CHAIN_SIGNAL_AVG] = { .type = NLA_NESTED }, 
     
    4646        nla_parse(tb, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0), 
    4747                  genlmsg_attrlen(gnlh, 0), NULL); 
    48 @@ -136,12 +166,19 @@ static int print_sta_handler(struct nl_m 
     48@@ -165,12 +195,19 @@ static int print_sta_handler(struct nl_m 
    4949        if (sinfo[NL80211_STA_INFO_TX_FAILED]) 
    5050                printf("\n\ttx failed:\t%u", 
  • trunk/package/network/utils/iw/patches/120-antenna_gain.patch

    r36568 r36569  
    11--- a/phy.c 
    22+++ b/phy.c 
    3 @@ -359,3 +359,31 @@ COMMAND(set, antenna, "<bitmap> | all |  
     3@@ -421,3 +421,31 @@ COMMAND(set, antenna, "<bitmap> | all |  
    44        NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna, 
    55        "Set a bitmap of allowed antennas to use for TX and RX.\n" 
Note: See TracChangeset for help on using the changeset viewer.