iw: update to 5.4
Update iw to 5.4 This increases the ipk size of iw-tiny/full by about 400 bytes Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
This commit is contained in:
		 DENG Qingfang
					DENG Qingfang
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							499ebb791f
						
					
				
				
					commit
					b9d29b78c8
				
			| @@ -8,12 +8,12 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=iw | ||||
| PKG_VERSION:=5.3 | ||||
| PKG_RELEASE:=2 | ||||
| PKG_VERSION:=5.4 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||||
| PKG_SOURCE_URL:=@KERNEL/software/network/iw | ||||
| PKG_HASH:=04afe857bc8dea67e461946de30ae1b012954b6965839c5c3fda7d0ed15505d5 | ||||
| PKG_HASH:=a2469f677088d7b1070a7fbb28f3c747041697e8f6ec70783339cb1bc27a395f | ||||
|  | ||||
| PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> | ||||
| PKG_LICENSE:=GPL-2.0 | ||||
|   | ||||
| @@ -1,116 +1,41 @@ | ||||
| --- a/nl80211.h | ||||
| +++ b/nl80211.h | ||||
| @@ -52,6 +52,11 @@ | ||||
|  #define NL80211_MULTICAST_GROUP_NAN		"nan" | ||||
|  #define NL80211_MULTICAST_GROUP_TESTMODE	"testmode" | ||||
|   | ||||
| +#define NL80211_EDMG_BW_CONFIG_MIN	4 | ||||
| +#define NL80211_EDMG_BW_CONFIG_MAX	15 | ||||
| +#define NL80211_EDMG_CHANNELS_MIN	1 | ||||
| +#define NL80211_EDMG_CHANNELS_MAX	0x3c /* 0b00111100 */ | ||||
| + | ||||
|  /** | ||||
|   * DOC: Station handling | ||||
| @@ -2373,6 +2373,9 @@ enum nl80211_commands { | ||||
|   *	the allowed channel bandwidth configurations. (u8 attribute) | ||||
|   *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. | ||||
|   * | ||||
| @@ -2361,6 +2366,16 @@ enum nl80211_commands { | ||||
|   * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection | ||||
|   *	functionality. | ||||
|   * | ||||
| + * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz | ||||
| + *	channel(s) that are allowed to be used for EDMG transmissions. | ||||
| + *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute) | ||||
| + * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes | ||||
| + *	the allowed channel bandwidth configurations. (u8 attribute) | ||||
| + *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. | ||||
| + * | ||||
| + * @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 | ||||
| @@ -2820,6 +2835,11 @@ enum nl80211_attrs { | ||||
| @@ -2835,6 +2838,8 @@ enum nl80211_attrs { | ||||
|  	NL80211_ATTR_WIPHY_EDMG_CHANNELS, | ||||
|  	NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, | ||||
|   | ||||
|  	NL80211_ATTR_HE_OBSS_PD, | ||||
|   | ||||
| +	NL80211_ATTR_WIPHY_EDMG_CHANNELS, | ||||
| +	NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, | ||||
| + | ||||
| +	NL80211_ATTR_WIPHY_ANTENNA_GAIN, | ||||
| + | ||||
|  	/* add attributes here, update the policy in nl80211.c */ | ||||
|   | ||||
|  	__NL80211_ATTR_AFTER_LAST, | ||||
| @@ -3201,6 +3221,8 @@ enum nl80211_sta_bss_param { | ||||
|   *	sent to the station (u64, usec) | ||||
|   * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16) | ||||
|   * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station | ||||
| + * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds) | ||||
| + *	of STA's association | ||||
|   * @__NL80211_STA_INFO_AFTER_LAST: internal | ||||
|   * @NL80211_STA_INFO_MAX: highest possible station info attribute | ||||
| @@ -5484,6 +5489,10 @@ enum nl80211_feature_flags { | ||||
|   * @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in | ||||
|   *	station mode (SAE password is passed as part of the connect command). | ||||
|   * | ||||
| + * @NL80211_EXT_FEATURE_AQL: The driver supports the Airtime Queue Limit (AQL) | ||||
| + *	feature, which prevents bufferbloat by using the expected transmission | ||||
| + *	time to limit the amount of data buffered in the hardware. | ||||
| + * | ||||
|   * @NUM_NL80211_EXT_FEATURES: number of extended features. | ||||
|   * @MAX_NL80211_EXT_FEATURES: highest extended feature index. | ||||
|   */ | ||||
| @@ -3247,6 +3269,7 @@ enum nl80211_sta_info { | ||||
|  	NL80211_STA_INFO_TX_DURATION, | ||||
|  	NL80211_STA_INFO_AIRTIME_WEIGHT, | ||||
|  	NL80211_STA_INFO_AIRTIME_LINK_METRIC, | ||||
| +	NL80211_STA_INFO_ASSOC_AT_BOOTTIME, | ||||
| @@ -5529,6 +5538,8 @@ enum nl80211_ext_feature_index { | ||||
|  	NL80211_EXT_FEATURE_EXT_KEY_ID, | ||||
|  	NL80211_EXT_FEATURE_STA_TX_PWR, | ||||
|  	NL80211_EXT_FEATURE_SAE_OFFLOAD, | ||||
| +	NL80211_EXT_FEATURE_VLAN_OFFLOAD, | ||||
| +	NL80211_EXT_FEATURE_AQL, | ||||
|   | ||||
|  	/* keep last */ | ||||
|  	__NL80211_STA_INFO_AFTER_LAST, | ||||
| @@ -3428,6 +3451,12 @@ enum nl80211_band_iftype_attr { | ||||
|   * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE | ||||
|   * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using | ||||
|   *	attributes from &enum nl80211_band_iftype_attr | ||||
| + * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz | ||||
| + *	channel(s) that are allowed to be used for EDMG transmissions. | ||||
| + *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. | ||||
| + * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes | ||||
| + *	the allowed channel bandwidth configurations. | ||||
| + *	Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. | ||||
|   * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined | ||||
|   * @__NL80211_BAND_ATTR_AFTER_LAST: internal use | ||||
|   */ | ||||
| @@ -3445,6 +3474,9 @@ enum nl80211_band_attr { | ||||
|  	NL80211_BAND_ATTR_VHT_CAPA, | ||||
|  	NL80211_BAND_ATTR_IFTYPE_DATA, | ||||
|   | ||||
| +	NL80211_BAND_ATTR_EDMG_CHANNELS, | ||||
| +	NL80211_BAND_ATTR_EDMG_BW_CONFIG, | ||||
| + | ||||
|  	/* keep last */ | ||||
|  	__NL80211_BAND_ATTR_AFTER_LAST, | ||||
|  	NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 | ||||
| @@ -3843,6 +3875,8 @@ enum nl80211_user_reg_hint_type { | ||||
|   * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan | ||||
|   *	(on this channel or globally) | ||||
|   * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment | ||||
| + * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent | ||||
| + *	receiving frames destined to the local BSS | ||||
|   * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number | ||||
|   *	currently defined | ||||
|   * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use | ||||
| @@ -3859,6 +3893,7 @@ enum nl80211_survey_info { | ||||
|  	NL80211_SURVEY_INFO_TIME_TX, | ||||
|  	NL80211_SURVEY_INFO_TIME_SCAN, | ||||
|  	NL80211_SURVEY_INFO_PAD, | ||||
| +	NL80211_SURVEY_INFO_TIME_BSS_RX, | ||||
|   | ||||
|  	/* keep last */ | ||||
|  	__NL80211_SURVEY_INFO_AFTER_LAST, | ||||
| @@ -4543,6 +4578,7 @@ enum nl80211_txrate_gi { | ||||
|   * @NL80211_BAND_2GHZ: 2.4 GHz ISM band | ||||
|   * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz) | ||||
|   * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz) | ||||
| + * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz) | ||||
|   * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace | ||||
|   *	since newer kernel versions may support more bands | ||||
|   */ | ||||
| @@ -4550,6 +4586,7 @@ enum nl80211_band { | ||||
|  	NL80211_BAND_2GHZ, | ||||
|  	NL80211_BAND_5GHZ, | ||||
|  	NL80211_BAND_60GHZ, | ||||
| +	NL80211_BAND_6GHZ, | ||||
|   | ||||
|  	NUM_NL80211_BANDS, | ||||
|  }; | ||||
|  	/* add new features before the definition below */ | ||||
|  	NUM_NL80211_EXT_FEATURES, | ||||
|   | ||||
| @@ -150,7 +150,7 @@ | ||||
|  { | ||||
| --- a/scan.c | ||||
| +++ b/scan.c | ||||
| @@ -1197,6 +1197,9 @@ static void print_ht_op(const uint8_t ty | ||||
| @@ -1195,6 +1195,9 @@ static void print_ht_op(const uint8_t ty | ||||
|  	printf("\t\t * secondary channel offset: %s\n", | ||||
|  		ht_secondary_offset[data[1] & 0x3]); | ||||
|  	printf("\t\t * STA channel width: %s\n", sta_chan_width[(data[1] & 0x4)>>2]); | ||||
| @@ -160,7 +160,7 @@ | ||||
|  	printf("\t\t * RIFS: %d\n", (data[1] & 0x8)>>3); | ||||
|  	printf("\t\t * HT protection: %s\n", protection[data[2] & 0x3]); | ||||
|  	printf("\t\t * non-GF present: %d\n", (data[2] & 0x4) >> 2); | ||||
| @@ -1524,6 +1527,14 @@ static void print_ie(const struct ie_pri | ||||
| @@ -1522,6 +1525,14 @@ static void print_ie(const struct ie_pri | ||||
|   | ||||
|  static const struct ie_print ieprinters[] = { | ||||
|  	[0] = { "SSID", print_ssid, 0, 32, BIT(PRINT_SCAN) | BIT(PRINT_LINK), }, | ||||
| @@ -175,7 +175,7 @@ | ||||
|  	[1] = { "Supported rates", print_supprates, 0, 255, BIT(PRINT_SCAN), }, | ||||
|  	[3] = { "DS Parameter set", print_ds, 1, 1, BIT(PRINT_SCAN), }, | ||||
|  	[5] = { "TIM", print_tim, 4, 255, BIT(PRINT_SCAN), }, | ||||
| @@ -1533,21 +1544,15 @@ static const struct ie_print ieprinters[ | ||||
| @@ -1531,21 +1542,15 @@ static const struct ie_print ieprinters[ | ||||
|  	[32] = { "Power constraint", print_powerconstraint, 1, 1, BIT(PRINT_SCAN), }, | ||||
|  	[35] = { "TPC report", print_tpcreport, 2, 2, BIT(PRINT_SCAN), }, | ||||
|  	[42] = { "ERP", print_erp, 1, 255, BIT(PRINT_SCAN), }, | ||||
| @@ -198,7 +198,7 @@ | ||||
|  }; | ||||
|   | ||||
|  static void print_wifi_wpa(const uint8_t type, uint8_t len, const uint8_t *data, | ||||
| @@ -2026,6 +2031,7 @@ void print_ies(unsigned char *ie, int ie | ||||
| @@ -2024,6 +2029,7 @@ void print_ies(unsigned char *ie, int ie | ||||
|  		    ieprinters[ie[0]].flags & BIT(ptype)) { | ||||
|  			print_ie(&ieprinters[ie[0]], | ||||
|  				 ie[0], ie[1], ie + 2, &ie_buffer); | ||||
| @@ -206,7 +206,7 @@ | ||||
|  		} else if (ie[0] == 221 /* vendor */) { | ||||
|  			print_vendor(ie[1], ie + 2, unknown, ptype); | ||||
|  		} else if (unknown) { | ||||
| @@ -2035,6 +2041,7 @@ void print_ies(unsigned char *ie, int ie | ||||
| @@ -2033,6 +2039,7 @@ void print_ies(unsigned char *ie, int ie | ||||
|  			for (i=0; i<ie[1]; i++) | ||||
|  				printf(" %.2x", ie[2+i]); | ||||
|  			printf("\n"); | ||||
| @@ -214,7 +214,7 @@ | ||||
|  		} | ||||
|  		ielen -= ie[1] + 2; | ||||
|  		ie += ie[1] + 2; | ||||
| @@ -2075,6 +2082,7 @@ static void print_capa_non_dmg(__u16 cap | ||||
| @@ -2073,6 +2080,7 @@ static void print_capa_non_dmg(__u16 cap | ||||
|  		printf(" ESS"); | ||||
|  	if (capa & WLAN_CAPABILITY_IBSS) | ||||
|  		printf(" IBSS"); | ||||
| @@ -222,7 +222,7 @@ | ||||
|  	if (capa & WLAN_CAPABILITY_CF_POLLABLE) | ||||
|  		printf(" CfPollable"); | ||||
|  	if (capa & WLAN_CAPABILITY_CF_POLL_REQUEST) | ||||
| @@ -2103,6 +2111,7 @@ static void print_capa_non_dmg(__u16 cap | ||||
| @@ -2101,6 +2109,7 @@ static void print_capa_non_dmg(__u16 cap | ||||
|  		printf(" DelayedBACK"); | ||||
|  	if (capa & WLAN_CAPABILITY_IMM_BACK) | ||||
|  		printf(" ImmediateBACK"); | ||||
| @@ -230,7 +230,7 @@ | ||||
|  } | ||||
|   | ||||
|  static int print_bss_handler(struct nl_msg *msg, void *arg) | ||||
| @@ -2187,8 +2196,10 @@ static int print_bss_handler(struct nl_m | ||||
| @@ -2185,8 +2194,10 @@ static int print_bss_handler(struct nl_m | ||||
|  	if (bss[NL80211_BSS_FREQUENCY]) { | ||||
|  		int freq = nla_get_u32(bss[NL80211_BSS_FREQUENCY]); | ||||
|  		printf("\tfreq: %d\n", freq); | ||||
| @@ -241,7 +241,7 @@ | ||||
|  	} | ||||
|  	if (bss[NL80211_BSS_BEACON_INTERVAL]) | ||||
|  		printf("\tbeacon interval: %d TUs\n", | ||||
| @@ -2382,6 +2393,7 @@ static int handle_stop_sched_scan(struct | ||||
| @@ -2380,6 +2391,7 @@ static int handle_stop_sched_scan(struct | ||||
|  	return 0; | ||||
|  } | ||||
|   | ||||
| @@ -249,14 +249,14 @@ | ||||
|  COMMAND(scan, sched_start, | ||||
|  	SCHED_SCAN_OPTIONS, | ||||
|  	NL80211_CMD_START_SCHED_SCAN, 0, CIB_NETDEV, handle_start_sched_scan, | ||||
| @@ -2392,3 +2404,4 @@ COMMAND(scan, sched_start, | ||||
| @@ -2390,3 +2402,4 @@ COMMAND(scan, sched_start, | ||||
|  COMMAND(scan, sched_stop, "", | ||||
|  	NL80211_CMD_STOP_SCHED_SCAN, 0, CIB_NETDEV, handle_stop_sched_scan, | ||||
|  	"Stop an ongoing scheduled scan."); | ||||
| +#endif | ||||
| --- a/util.c | ||||
| +++ b/util.c | ||||
| @@ -291,6 +291,7 @@ static const char *commands[NL80211_CMD_ | ||||
| @@ -153,6 +153,7 @@ static const char *commands[NL80211_CMD_ | ||||
|   | ||||
|  static char cmdbuf[100]; | ||||
|   | ||||
| @@ -264,7 +264,7 @@ | ||||
|  const char *command_name(enum nl80211_commands cmd) | ||||
|  { | ||||
|  	if (cmd <= NL80211_CMD_MAX && commands[cmd]) | ||||
| @@ -298,6 +299,7 @@ const char *command_name(enum nl80211_co | ||||
| @@ -160,6 +161,7 @@ const char *command_name(enum nl80211_co | ||||
|  	sprintf(cmdbuf, "Unknown command (%d)", cmd); | ||||
|  	return cmdbuf; | ||||
|  } | ||||
| @@ -272,7 +272,7 @@ | ||||
|   | ||||
|  int ieee80211_channel_to_frequency(int chan, enum nl80211_band band) | ||||
|  { | ||||
| @@ -436,6 +438,9 @@ int parse_keys(struct nl_msg *msg, char | ||||
| @@ -298,6 +300,9 @@ int parse_keys(struct nl_msg *msg, char | ||||
|  	char keybuf[13]; | ||||
|  	int pos = 0; | ||||
|   | ||||
| @@ -299,7 +299,7 @@ | ||||
|  ifeq ($(NO_PKG_CONFIG),) | ||||
| --- a/station.c | ||||
| +++ b/station.c | ||||
| @@ -736,10 +736,12 @@ static int handle_station_set_plink(stru | ||||
| @@ -759,10 +759,12 @@ static int handle_station_set_plink(stru | ||||
|   nla_put_failure: | ||||
|  	return -ENOBUFS; | ||||
|  } | ||||
| @@ -312,7 +312,7 @@ | ||||
|   | ||||
|  static int handle_station_set_vlan(struct nl80211_state *state, | ||||
|  				   struct nl_msg *msg, | ||||
| @@ -834,11 +836,13 @@ static int handle_station_set_mesh_power | ||||
| @@ -857,11 +859,13 @@ static int handle_station_set_mesh_power | ||||
|  nla_put_failure: | ||||
|  	return -ENOBUFS; | ||||
|  } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user