diff options
Diffstat (limited to 'package/network')
-rw-r--r-- | package/network/utils/iw/Makefile | 4 | ||||
-rw-r--r-- | package/network/utils/iw/patches/001-nl80211_h_sync.patch | 473 | ||||
-rw-r--r-- | package/network/utils/iw/patches/200-reduce_size.patch | 30 |
3 files changed, 462 insertions, 45 deletions
diff --git a/package/network/utils/iw/Makefile b/package/network/utils/iw/Makefile index da2b556416..eb3a9ba091 100644 --- a/package/network/utils/iw/Makefile +++ b/package/network/utils/iw/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iw -PKG_VERSION:=5.16 +PKG_VERSION:=5.19 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/iw -PKG_HASH:=4c44e42762f903f9094ba5a598998c800a97a62afd6fd31ec1e0a799e308659c +PKG_HASH:=f167bbe947dd53bb9ebc0c1dcef5db6ad73ac1d6084f2c6f9376c5c360cc4d4e PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/iw/patches/001-nl80211_h_sync.patch b/package/network/utils/iw/patches/001-nl80211_h_sync.patch index 3fb5ca255c..49d08d9b01 100644 --- a/package/network/utils/iw/patches/001-nl80211_h_sync.patch +++ b/package/network/utils/iw/patches/001-nl80211_h_sync.patch @@ -1,5 +1,14 @@ --- a/nl80211.h +++ b/nl80211.h +@@ -11,7 +11,7 @@ + * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> + * Copyright 2008 Colin McCabe <colin@cozybit.com> + * Copyright 2015-2017 Intel Deutschland GmbH +- * Copyright (C) 2018-2022 Intel Corporation ++ * Copyright (C) 2018-2021 Intel Corporation + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above @@ -301,29 +301,6 @@ */ @@ -30,7 +39,7 @@ * enum nl80211_commands - supported nl80211 commands * * @NL80211_CMD_UNSPEC: unspecified command to catch errors -@@ -1226,12 +1203,6 @@ +@@ -1226,17 +1203,6 @@ * @NL80211_CMD_COLOR_CHANGE_COMPLETED: Notify userland that the color change * has completed * @@ -40,38 +49,254 @@ - * &NL80211_ATTR_FILS_NONCES - for FILS Nonces - * (STA Nonce 16 bytes followed by AP Nonce 16 bytes) - * +- * @NL80211_CMD_ASSOC_COMEBACK: notification about an association +- * temporal rejection with comeback. The event includes %NL80211_ATTR_MAC +- * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to +- * specify the timeout value. +- * * @NL80211_CMD_MAX: highest used command number * @__NL80211_CMD_AFTER_LAST: internal use */ -@@ -1472,8 +1443,6 @@ enum nl80211_commands { +@@ -1477,10 +1443,6 @@ enum nl80211_commands { NL80211_CMD_COLOR_CHANGE_ABORTED, NL80211_CMD_COLOR_CHANGE_COMPLETED, - NL80211_CMD_SET_FILS_AAD, - +- NL80211_CMD_ASSOC_COMEBACK, +- /* add new commands above here */ /* used to define NL80211_CMD_MAX below */ -@@ -2639,6 +2608,9 @@ enum nl80211_commands { - * Mandatory parameter for the transmitting interface to enable MBSSID. - * Optional for the non-transmitting interfaces. +@@ -2477,9 +2439,7 @@ enum nl80211_commands { + * space supports external authentication. This attribute shall be used + * with %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP request. The driver + * may offload authentication processing to user space if this capability +- * is indicated in the respective requests from the user space. (This flag +- * attribute deprecated for %NL80211_CMD_START_AP, use +- * %NL80211_ATTR_AP_SETTINGS_FLAGS) ++ * is indicated in the respective requests from the user space. + * + * @NL80211_ATTR_NSS: Station's New/updated RX_NSS value notified using this + * u8 attribute. This is used with %NL80211_CMD_STA_OPMODE_CHANGED. +@@ -2655,13 +2615,8 @@ enum nl80211_commands { + * switching on a different channel during CAC detection on the selected + * radar channel. * +- * @NL80211_ATTR_AP_SETTINGS_FLAGS: u32 attribute contains ap settings flags, +- * enumerated in &enum nl80211_ap_settings_flags. This attribute shall be +- * used with %NL80211_CMD_START_AP request. +- * +- * @NL80211_ATTR_EHT_CAPABILITY: EHT Capability information element (from +- * association request when used with NL80211_CMD_NEW_STATION). Can be set +- * only if %NL80211_STA_FLAG_WME is set. + * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce + * transmit power to stay within regulatory limits. u32, dBi. -+ * + * * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined - * @__NL80211_ATTR_AFTER_LAST: internal use -@@ -3145,6 +3117,8 @@ enum nl80211_attrs { - NL80211_ATTR_MBSSID_CONFIG, - NL80211_ATTR_MBSSID_ELEMS, +@@ -3171,11 +3126,7 @@ enum nl80211_attrs { + NL80211_ATTR_RADAR_BACKGROUND, + +- NL80211_ATTR_AP_SETTINGS_FLAGS, +- +- NL80211_ATTR_EHT_CAPABILITY, +- +- NL80211_ATTR_DISABLE_EHT, + NL80211_ATTR_WIPHY_ANTENNA_GAIN, -+ + /* add attributes here, update the policy in nl80211.c */ - __NL80211_ATTR_AFTER_LAST, -@@ -4978,7 +4952,6 @@ enum nl80211_txrate_gi { +@@ -3232,8 +3183,6 @@ enum nl80211_attrs { + #define NL80211_HE_MAX_CAPABILITY_LEN 54 + #define NL80211_MAX_NR_CIPHER_SUITES 5 + #define NL80211_MAX_NR_AKM_SUITES 2 +-#define NL80211_EHT_MIN_CAPABILITY_LEN 13 +-#define NL80211_EHT_MAX_CAPABILITY_LEN 51 + + #define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10 + +@@ -3261,7 +3210,7 @@ enum nl80211_attrs { + * and therefore can't be created in the normal ways, use the + * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE + * commands to create and destroy one +- * @NL80211_IFTYPE_OCB: Outside Context of a BSS ++ * @NL80211_IF_TYPE_OCB: Outside Context of a BSS + * This mode corresponds to the MIB variable dot11OCBActivated=true + * @NL80211_IFTYPE_NAN: NAN device interface type (not a netdev) + * @NL80211_IFTYPE_MAX: highest interface type number currently defined +@@ -3403,56 +3352,6 @@ enum nl80211_he_ru_alloc { + }; + + /** +- * enum nl80211_eht_gi - EHT guard interval +- * @NL80211_RATE_INFO_EHT_GI_0_8: 0.8 usec +- * @NL80211_RATE_INFO_EHT_GI_1_6: 1.6 usec +- * @NL80211_RATE_INFO_EHT_GI_3_2: 3.2 usec +- */ +-enum nl80211_eht_gi { +- NL80211_RATE_INFO_EHT_GI_0_8, +- NL80211_RATE_INFO_EHT_GI_1_6, +- NL80211_RATE_INFO_EHT_GI_3_2, +-}; +- +-/** +- * enum nl80211_eht_ru_alloc - EHT RU allocation values +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52: 52-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_52P26: 52+26-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106: 106-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_106P26: 106+26 tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_242: 242-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484: 484-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_484P242: 484+242 tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996: 996-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484: 996+484 tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242: 996+484+242 tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996: 2x996-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484: 2x996+484 tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996: 3x996-tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484: 3x996+484 tone RU allocation +- * @NL80211_RATE_INFO_EHT_RU_ALLOC_4x996: 4x996-tone RU allocation +- */ +-enum nl80211_eht_ru_alloc { +- NL80211_RATE_INFO_EHT_RU_ALLOC_26, +- NL80211_RATE_INFO_EHT_RU_ALLOC_52, +- NL80211_RATE_INFO_EHT_RU_ALLOC_52P26, +- NL80211_RATE_INFO_EHT_RU_ALLOC_106, +- NL80211_RATE_INFO_EHT_RU_ALLOC_106P26, +- NL80211_RATE_INFO_EHT_RU_ALLOC_242, +- NL80211_RATE_INFO_EHT_RU_ALLOC_484, +- NL80211_RATE_INFO_EHT_RU_ALLOC_484P242, +- NL80211_RATE_INFO_EHT_RU_ALLOC_996, +- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484, +- NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242, +- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996, +- NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484, +- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996, +- NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484, +- NL80211_RATE_INFO_EHT_RU_ALLOC_4x996, +-}; +- +-/** + * enum nl80211_rate_info - bitrate information + * + * These attribute types are used with %NL80211_STA_INFO_TXRATE +@@ -3491,13 +3390,6 @@ enum nl80211_eht_ru_alloc { + * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1) + * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then + * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc) +- * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate +- * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15) +- * @NL80211_RATE_INFO_EHT_NSS: EHT NSS value (u8, 1-8) +- * @NL80211_RATE_INFO_EHT_GI: EHT guard interval identifier +- * (u8, see &enum nl80211_eht_gi) +- * @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then +- * non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc) + * @__NL80211_RATE_INFO_AFTER_LAST: internal use + */ + enum nl80211_rate_info { +@@ -3519,11 +3411,6 @@ enum nl80211_rate_info { + NL80211_RATE_INFO_HE_GI, + NL80211_RATE_INFO_HE_DCM, + NL80211_RATE_INFO_HE_RU_ALLOC, +- NL80211_RATE_INFO_320_MHZ_WIDTH, +- NL80211_RATE_INFO_EHT_MCS, +- NL80211_RATE_INFO_EHT_NSS, +- NL80211_RATE_INFO_EHT_GI, +- NL80211_RATE_INFO_EHT_RU_ALLOC, + + /* keep last */ + __NL80211_RATE_INFO_AFTER_LAST, +@@ -3834,20 +3721,13 @@ enum nl80211_mpath_info { + * capabilities IE + * @NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE: HE PPE thresholds information as + * defined in HE capabilities IE ++ * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band HE capability attribute currently ++ * defined + * @NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA: HE 6GHz band capabilities (__le16), + * given for all 6 GHz band channels + * @NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS: vendor element capabilities that are + * advertised on this band/for this iftype (binary) +- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC: EHT MAC capabilities as in EHT +- * capabilities element +- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY: EHT PHY capabilities as in EHT +- * capabilities element +- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET: EHT supported NSS/MCS as in EHT +- * capabilities element +- * @NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE: EHT PPE thresholds information as +- * defined in EHT capabilities element + * @__NL80211_BAND_IFTYPE_ATTR_AFTER_LAST: internal use +- * @NL80211_BAND_IFTYPE_ATTR_MAX: highest band attribute currently defined + */ + enum nl80211_band_iftype_attr { + __NL80211_BAND_IFTYPE_ATTR_INVALID, +@@ -3859,10 +3739,6 @@ enum nl80211_band_iftype_attr { + NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, + NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, + NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS, +- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC, +- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY, +- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET, +- NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE, + + /* keep last */ + __NL80211_BAND_IFTYPE_ATTR_AFTER_LAST, +@@ -4007,10 +3883,6 @@ enum nl80211_wmm_rule { + * on this channel in current regulatory domain. + * @NL80211_FREQUENCY_ATTR_16MHZ: 16 MHz operation is allowed + * on this channel in current regulatory domain. +- * @NL80211_FREQUENCY_ATTR_NO_320MHZ: any 320 MHz channel using this channel +- * as the primary or any of the secondary channels isn't possible +- * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel +- * in current regulatory domain. + * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number + * currently defined + * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use +@@ -4047,8 +3919,6 @@ enum nl80211_frequency_attr { + NL80211_FREQUENCY_ATTR_4MHZ, + NL80211_FREQUENCY_ATTR_8MHZ, + NL80211_FREQUENCY_ATTR_16MHZ, +- NL80211_FREQUENCY_ATTR_NO_320MHZ, +- NL80211_FREQUENCY_ATTR_NO_EHT, + + /* keep last */ + __NL80211_FREQUENCY_ATTR_AFTER_LAST, +@@ -4247,7 +4117,6 @@ enum nl80211_sched_scan_match_attr { + * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed + * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed + * @NL80211_RRF_NO_HE: HE operation not allowed +- * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed + */ + enum nl80211_reg_rule_flags { + NL80211_RRF_NO_OFDM = 1<<0, +@@ -4266,7 +4135,6 @@ enum nl80211_reg_rule_flags { + NL80211_RRF_NO_80MHZ = 1<<15, + NL80211_RRF_NO_160MHZ = 1<<16, + NL80211_RRF_NO_HE = 1<<17, +- NL80211_RRF_NO_320MHZ = 1<<18, + }; + + #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR +@@ -4764,8 +4632,6 @@ enum nl80211_key_mode { + * @NL80211_CHAN_WIDTH_4: 4 MHz OFDM channel + * @NL80211_CHAN_WIDTH_8: 8 MHz OFDM channel + * @NL80211_CHAN_WIDTH_16: 16 MHz OFDM channel +- * @NL80211_CHAN_WIDTH_320: 320 MHz channel, the %NL80211_ATTR_CENTER_FREQ1 +- * attribute must be provided as well + */ + enum nl80211_chan_width { + NL80211_CHAN_WIDTH_20_NOHT, +@@ -4781,7 +4647,6 @@ enum nl80211_chan_width { + NL80211_CHAN_WIDTH_4, + NL80211_CHAN_WIDTH_8, + NL80211_CHAN_WIDTH_16, +- NL80211_CHAN_WIDTH_320, + }; + + /** +@@ -5096,7 +4961,6 @@ enum nl80211_txrate_gi { * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz) * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz) * @NL80211_BAND_S1GHZ: around 900MHz, supported by S1G PHYs @@ -79,7 +304,7 @@ * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace * since newer kernel versions may support more bands */ -@@ -4988,7 +4961,6 @@ enum nl80211_band { +@@ -5106,7 +4970,6 @@ enum nl80211_band { NL80211_BAND_60GHZ, NL80211_BAND_6GHZ, NL80211_BAND_S1GHZ, @@ -87,7 +312,45 @@ NUM_NL80211_BANDS, }; -@@ -6046,11 +6018,6 @@ enum nl80211_feature_flags { +@@ -5673,7 +5536,7 @@ enum nl80211_iface_limit_attrs { + * => allows 8 of AP/GO that can have BI gcd >= min gcd + * + * numbers = [ #{STA} <= 2 ], channels = 2, max = 2 +- * => allows two STAs on the same or on different channels ++ * => allows two STAs on different channels + * + * numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4 + * => allows a STA plus three P2P interfaces +@@ -5718,7 +5581,7 @@ enum nl80211_if_combination_attrs { + * @NL80211_PLINK_ESTAB: mesh peer link is established + * @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled + * @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh +- * plink are discarded, except for authentication frames ++ * plink are discarded + * @NUM_NL80211_PLINK_STATES: number of peer link states + * @MAX_NL80211_PLINK_STATES: highest numerical value of plink states + */ +@@ -5855,15 +5718,13 @@ enum nl80211_tdls_operation { + NL80211_TDLS_DISABLE_LINK, + }; + +-/** ++/* + * enum nl80211_ap_sme_features - device-integrated AP features +- * @NL80211_AP_SME_SA_QUERY_OFFLOAD: SA Query procedures offloaded to driver +- * when user space indicates support for SA Query procedures offload during +- * "start ap" with %NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT. +- */ ++ * Reserved for future use, no bits are defined in ++ * NL80211_ATTR_DEVICE_AP_SME yet. + enum nl80211_ap_sme_features { +- NL80211_AP_SME_SA_QUERY_OFFLOAD = 1 << 0, + }; ++ */ + + /** + * enum nl80211_feature_flags - device/driver features +@@ -6166,11 +6027,6 @@ enum nl80211_feature_flags { * @NL80211_EXT_FEATURE_BSS_COLOR: The driver supports BSS color collision * detection and change announcemnts. * @@ -96,18 +359,18 @@ - * frames. Userspace has to share FILS AAD details to the driver by using - * @NL80211_CMD_SET_FILS_AAD. - * - * @NUM_NL80211_EXT_FEATURES: number of extended features. - * @MAX_NL80211_EXT_FEATURES: highest extended feature index. - */ -@@ -6116,7 +6083,6 @@ enum nl80211_ext_feature_index { + * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC + * detection. + * +@@ -6239,7 +6095,6 @@ enum nl80211_ext_feature_index { NL80211_EXT_FEATURE_SECURE_RTT, NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE, NL80211_EXT_FEATURE_BSS_COLOR, - NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, + NL80211_EXT_FEATURE_RADAR_BACKGROUND, /* add new features before the definition below */ - NUM_NL80211_EXT_FEATURES, -@@ -7424,7 +7390,7 @@ enum nl80211_sar_specs_attrs { +@@ -7548,7 +7403,7 @@ enum nl80211_sar_specs_attrs { * @NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY: Used by the kernel * to advertise the maximum profile periodicity supported by the driver * if EMA is enabled. Driver should indicate EMA support to the userspace @@ -116,7 +379,7 @@ * a non-zero value. * * @NL80211_MBSSID_CONFIG_ATTR_INDEX: Mandatory parameter to pass the index of -@@ -7443,7 +7409,7 @@ enum nl80211_sar_specs_attrs { +@@ -7567,7 +7422,7 @@ enum nl80211_sar_specs_attrs { * * @NL80211_MBSSID_CONFIG_ATTR_EMA: Flag used to enable EMA AP feature. * Setting this flag is permitted only if the driver advertises EMA support @@ -125,13 +388,167 @@ * * @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal * @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute +@@ -7586,20 +7441,4 @@ enum nl80211_mbssid_config_attributes { + NL80211_MBSSID_CONFIG_ATTR_MAX = __NL80211_MBSSID_CONFIG_ATTR_LAST - 1, + }; + +-/** +- * enum nl80211_ap_settings_flags - AP settings flags +- * +- * @NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT: AP supports external +- * authentication. +- * @NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT: Userspace supports SA Query +- * procedures offload to driver. If driver advertises +- * %NL80211_AP_SME_SA_QUERY_OFFLOAD in AP SME features, userspace shall +- * ignore SA Query procedures and validations when this flag is set by +- * userspace. +- */ +-enum nl80211_ap_settings_flags { +- NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0, +- NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1, +-}; +- + #endif /* __LINUX_NL80211_H */ +--- a/event.c ++++ b/event.c +@@ -1292,9 +1292,6 @@ static int print_event(struct nl_msg *ms + case NL80211_CMD_CH_SWITCH_NOTIFY: + parse_ch_switch_notify(tb, gnlh->cmd); + break; +- case NL80211_CMD_ASSOC_COMEBACK: /* 147 */ +- parse_assoc_comeback(tb, gnlh->cmd); +- break; + default: + printf("unknown event %d (%s)\n", + gnlh->cmd, command_name(gnlh->cmd)); --- a/info.c +++ b/info.c -@@ -701,7 +701,6 @@ broken_combination: - ext_feat_print(tb, OPERATING_CHANNEL_VALIDATION, "Operating Channel Validation (OCV) support"); - ext_feat_print(tb, 4WAY_HANDSHAKE_AP_PSK, "AP mode PSK offload support"); - ext_feat_print(tb, BSS_COLOR, "BSS coloring support"); -- ext_feat_print(tb, FILS_CRYPTO_OFFLOAD, "FILS crypto offload"); +@@ -164,7 +164,6 @@ static void ext_feat_print(enum nl80211_ + ext_feat_case(PROT_RANGE_NEGO_AND_MEASURE, + "support for MFP in range measurement negotiation/procedure"); + ext_feat_case(BSS_COLOR, "BSS coloring support"); +- ext_feat_case(FILS_CRYPTO_OFFLOAD, "FILS crypto offload"); + ext_feat_case(RADAR_BACKGROUND, "Radar background support"); } + } +--- a/interface.c ++++ b/interface.c +@@ -362,8 +362,6 @@ char *channel_width_name(enum nl80211_ch + return "5 MHz"; + case NL80211_CHAN_WIDTH_10: + return "10 MHz"; +- case NL80211_CHAN_WIDTH_320: +- return "320 MHz"; + default: + return "unknown"; + } +--- a/util.c ++++ b/util.c +@@ -508,7 +508,6 @@ static int parse_freqs(struct chandef *c + case NL80211_CHAN_WIDTH_40: + case NL80211_CHAN_WIDTH_80: + case NL80211_CHAN_WIDTH_160: +- case NL80211_CHAN_WIDTH_320: + need_cf1 = true; + break; + case NL80211_CHAN_WIDTH_1: +@@ -626,10 +625,6 @@ int parse_freqchan(struct chandef *chand + .width = NL80211_CHAN_WIDTH_160, + .freq1_diff = 0, + .chantype = -1 }, +- { .name = "320MHz", +- .width = NL80211_CHAN_WIDTH_320, +- .freq1_diff = 0, +- .chantype = -1 }, + }; + const struct chanmode *chanmode_selected = NULL; + unsigned int freq; +@@ -1599,48 +1594,6 @@ void print_eht_info(struct nlattr *nl_if + print_iftype_line(tb[NL80211_BAND_IFTYPE_ATTR_IFTYPES]); + printf("\n"); + +- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]) { +- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]); +- if (len > sizeof(mac_cap)) +- len = sizeof(mac_cap); +- memcpy(mac_cap, +- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC]), +- len); +- } +- +- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]) { +- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]); +- +- if (len > sizeof(phy_cap)) +- len = sizeof(phy_cap); +- +- memcpy(phy_cap, +- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY]), +- len); +- } +- +- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]) { +- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]); +- if (len > sizeof(mcs_set)) +- len = sizeof(mcs_set); +- memcpy(mcs_set, +- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET]), +- len); +- +- // Assume that all parts of the MCS set are present +- mcs_len = sizeof(mcs_set); +- } +- +- if (tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]) { +- len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]); +- if (len > sizeof(ppet)) +- len = sizeof(ppet); +- memcpy(ppet, +- nla_data(tb[NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE]), +- len); +- ppet_len = len; +- } +- + if (tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]) { + len = nla_len(tb[NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY]); + +--- a/reg.c ++++ b/reg.c +@@ -210,7 +210,6 @@ static int print_reg_handler(struct nl_m + PARSE_FLAG(NL80211_RRF_NO_80MHZ, "NO-80MHZ"); + PARSE_FLAG(NL80211_RRF_NO_160MHZ, "NO-160MHZ"); + PARSE_FLAG(NL80211_RRF_NO_HE, "NO-HE"); +- PARSE_FLAG(NL80211_RRF_NO_320MHZ, "NO-320MHZ"); + + /* Kernels that support NO_IR always turn on both flags */ + if ((flags & NL80211_RRF_NO_IR) && (flags & __NL80211_RRF_NO_IBSS)) { +--- a/station.c ++++ b/station.c +@@ -239,8 +239,6 @@ void parse_bitrate(struct nlattr *bitrat + pos += snprintf(pos, buflen - (pos - buf), " 80P80MHz"); + if (rinfo[NL80211_RATE_INFO_160_MHZ_WIDTH]) + pos += snprintf(pos, buflen - (pos - buf), " 160MHz"); +- if (rinfo[NL80211_RATE_INFO_320_MHZ_WIDTH]) +- pos += snprintf(pos, buflen - (pos - buf), " 320MHz"); + if (rinfo[NL80211_RATE_INFO_SHORT_GI]) + pos += snprintf(pos, buflen - (pos - buf), " short GI"); + if (rinfo[NL80211_RATE_INFO_VHT_NSS]) +@@ -261,18 +259,6 @@ void parse_bitrate(struct nlattr *bitrat + if (rinfo[NL80211_RATE_INFO_HE_RU_ALLOC]) + pos += snprintf(pos, buflen - (pos - buf), + " HE-RU-ALLOC %d", nla_get_u8(rinfo[NL80211_RATE_INFO_HE_RU_ALLOC])); +- if (rinfo[NL80211_RATE_INFO_EHT_MCS]) +- pos += snprintf(pos, buflen - (pos - buf), +- " EHT-MCS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_MCS])); +- if (rinfo[NL80211_RATE_INFO_EHT_NSS]) +- pos += snprintf(pos, buflen - (pos - buf), +- " EHT-NSS %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_NSS])); +- if (rinfo[NL80211_RATE_INFO_EHT_GI]) +- pos += snprintf(pos, buflen - (pos - buf), +- " EHT-GI %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_GI])); +- if (rinfo[NL80211_RATE_INFO_EHT_RU_ALLOC]) +- pos += snprintf(pos, buflen - (pos - buf), +- " EHT-RU-ALLOC %d", nla_get_u8(rinfo[NL80211_RATE_INFO_EHT_RU_ALLOC])); + } - if (tb_msg[NL80211_ATTR_COALESCE_RULE]) { + static char *get_chain_signal(struct nlattr *attr_list) diff --git a/package/network/utils/iw/patches/200-reduce_size.patch b/package/network/utils/iw/patches/200-reduce_size.patch index d0e837c695..88df56b385 100644 --- a/package/network/utils/iw/patches/200-reduce_size.patch +++ b/package/network/utils/iw/patches/200-reduce_size.patch @@ -1,6 +1,6 @@ --- a/event.c +++ b/event.c -@@ -956,6 +956,7 @@ static int print_event(struct nl_msg *ms +@@ -971,6 +971,7 @@ static int print_event(struct nl_msg *ms } switch (gnlh->cmd) { @@ -8,7 +8,7 @@ case NL80211_CMD_NEW_WIPHY: printf("renamed to %s\n", nla_get_string(tb[NL80211_ATTR_WIPHY_NAME])); break; -@@ -991,6 +992,7 @@ static int print_event(struct nl_msg *ms +@@ -1006,6 +1007,7 @@ static int print_event(struct nl_msg *ms case NL80211_CMD_SCHED_SCAN_RESULTS: printf("got scheduled scan results\n"); break; @@ -16,7 +16,7 @@ case NL80211_CMD_WIPHY_REG_CHANGE: case NL80211_CMD_REG_CHANGE: if (gnlh->cmd == NL80211_CMD_WIPHY_REG_CHANGE) -@@ -1073,6 +1075,7 @@ static int print_event(struct nl_msg *ms +@@ -1088,6 +1090,7 @@ static int print_event(struct nl_msg *ms mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC])); printf("del station %s\n", macbuf); break; @@ -24,7 +24,7 @@ case NL80211_CMD_JOIN_IBSS: mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC])); printf("IBSS %s joined\n", macbuf); -@@ -1271,9 +1274,9 @@ static int print_event(struct nl_msg *ms +@@ -1292,9 +1295,9 @@ static int print_event(struct nl_msg *ms case NL80211_CMD_CH_SWITCH_NOTIFY: parse_ch_switch_notify(tb, gnlh->cmd); break; @@ -38,7 +38,7 @@ --- a/info.c +++ b/info.c -@@ -215,6 +215,7 @@ next: +@@ -308,6 +308,7 @@ next: } } @@ -46,7 +46,7 @@ if (tb_band[NL80211_BAND_ATTR_RATES]) { printf("\t\tBitrates (non-HT):\n"); nla_for_each_nested(nl_rate, tb_band[NL80211_BAND_ATTR_RATES], rem_rate) { -@@ -231,6 +232,7 @@ next: +@@ -324,6 +325,7 @@ next: printf("\n"); } } @@ -54,7 +54,7 @@ } } -@@ -296,6 +298,7 @@ next: +@@ -389,6 +391,7 @@ next: printf("\tCoverage class: %d (up to %dm)\n", coverage, 450 * coverage); } @@ -62,7 +62,7 @@ if (tb_msg[NL80211_ATTR_CIPHER_SUITES]) { int num = nla_len(tb_msg[NL80211_ATTR_CIPHER_SUITES]) / sizeof(__u32); int i; -@@ -307,6 +310,7 @@ next: +@@ -400,6 +403,7 @@ next: cipher_name(ciphers[i])); } } @@ -70,7 +70,7 @@ if (tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX] && tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX]) -@@ -324,9 +328,11 @@ next: +@@ -417,9 +421,11 @@ next: print_iftype_list("\tSupported interface modes", "\t\t", tb_msg[NL80211_ATTR_SUPPORTED_IFTYPES]); @@ -82,7 +82,7 @@ if (tb_msg[NL80211_ATTR_INTERFACE_COMBINATIONS]) { struct nlattr *nl_combi; -@@ -416,6 +422,7 @@ broken_combination: +@@ -509,6 +515,7 @@ broken_combination: printf("\tinterface combinations are not supported\n"); } @@ -90,7 +90,7 @@ if (tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS]) { printf("\tSupported commands:\n"); nla_for_each_nested(nl_cmd, tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS], rem_cmd) -@@ -513,6 +520,7 @@ broken_combination: +@@ -606,6 +613,7 @@ broken_combination: printf("\t\t * wake up on TCP connection\n"); } } @@ -98,7 +98,7 @@ if (tb_msg[NL80211_ATTR_ROAM_SUPPORT]) printf("\tDevice supports roaming.\n"); -@@ -551,6 +559,7 @@ broken_combination: +@@ -644,6 +652,7 @@ broken_combination: } } @@ -106,7 +106,7 @@ if (tb_msg[NL80211_ATTR_FEATURE_FLAGS]) { unsigned int features = nla_get_u32(tb_msg[NL80211_ATTR_FEATURE_FLAGS]); -@@ -615,6 +624,7 @@ broken_combination: +@@ -708,6 +717,7 @@ broken_combination: if (features & NL80211_FEATURE_ND_RANDOM_MAC_ADDR) printf("\tDevice supports randomizing MAC-addr in net-detect scans.\n"); } @@ -114,7 +114,7 @@ if (tb_msg[NL80211_ATTR_TDLS_SUPPORT]) printf("\tDevice supports T-DLS.\n"); -@@ -751,6 +761,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP +@@ -773,6 +783,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP "List all wireless devices and their capabilities."); TOPLEVEL(phy, NULL, NL80211_CMD_GET_WIPHY, NLM_F_DUMP, CIB_NONE, handle_info, NULL); @@ -122,7 +122,7 @@ static int handle_commands(struct nl80211_state *state, struct nl_msg *msg, int argc, char **argv, enum id_input id) { -@@ -762,6 +773,7 @@ static int handle_commands(struct nl8021 +@@ -784,6 +795,7 @@ static int handle_commands(struct nl8021 } TOPLEVEL(commands, NULL, NL80211_CMD_GET_WIPHY, 0, CIB_NONE, handle_commands, "list all known commands and their decimal & hex value"); |