diff --git a/package/network/utils/iw/Makefile b/package/network/utils/iw/Makefile
index 90e678291170..6db9aaf105ae 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.8
+PKG_VERSION:=5.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/network/iw
-PKG_HASH:=b59c4bacb0b6675cc09f2f30ebdceb91174cb65443d0a062fba2c09fad772db4
+PKG_HASH:=293a07109aeb7e36267cf59e3ce52857e9ffae3a6666eb8ac77894b1839fe1f2
 
 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 394acbd0e7d6..c944e02ba65b 100644
--- a/package/network/utils/iw/patches/001-nl80211_h_sync.patch
+++ b/package/network/utils/iw/patches/001-nl80211_h_sync.patch
@@ -1,363 +1,21 @@
 --- a/nl80211.h
 +++ b/nl80211.h
-@@ -252,9 +252,13 @@
-  * DOC: SAE authentication offload
+@@ -2527,6 +2527,9 @@ enum nl80211_commands {
+  *	override mask. Used with NL80211_ATTR_S1G_CAPABILITY in
+  *	NL80211_CMD_ASSOCIATE or NL80211_CMD_CONNECT.
   *
-  * By setting @NL80211_EXT_FEATURE_SAE_OFFLOAD flag drivers can indicate they
-- * support offloading SAE authentication for WPA3-Personal networks. In
-- * %NL80211_CMD_CONNECT the password for SAE should be specified using
-- * %NL80211_ATTR_SAE_PASSWORD.
-+ * support offloading SAE authentication for WPA3-Personal networks in station
-+ * mode. Similarly @NL80211_EXT_FEATURE_SAE_OFFLOAD_AP flag can be set by
-+ * drivers indicating the offload support in AP mode.
-+ *
-+ * The password for SAE should be specified using %NL80211_ATTR_SAE_PASSWORD in
-+ * %NL80211_CMD_CONNECT and %NL80211_CMD_START_AP for station and AP mode
-+ * respectively.
-  */
- 
- /**
-@@ -647,13 +651,9 @@
-  *	authentication/association or not receiving a response from the AP.
-  *	Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as
-  *	well to remain backwards compatible.
-- *	When establishing a security association, drivers that support 4 way
-- *	handshake offload should send %NL80211_CMD_PORT_AUTHORIZED event when
-- *	the 4 way handshake is completed successfully.
-  * @NL80211_CMD_ROAM: Notification indicating the card/driver roamed by itself.
-- *	When a security association was established with the new AP (e.g. if
-- *	the FT protocol was used for roaming or the driver completed the 4 way
-- *	handshake), this event should be followed by an
-+ *	When a security association was established on an 802.1X network using
-+ *	fast transition, this event should be followed by an
-  *	%NL80211_CMD_PORT_AUTHORIZED event.
-  * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
-  *	userspace that a connection was dropped by the AP or due to other
-@@ -1067,13 +1067,11 @@
-  * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously
-  *	configured PMK for the authenticator address identified by
-  *	%NL80211_ATTR_MAC.
-- * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates that the 4 way
-- *	handshake was completed successfully by the driver. The BSSID is
-- *	specified with %NL80211_ATTR_MAC. Drivers that support 4 way handshake
-- *	offload should send this event after indicating 802.11 association with
-- *	%NL80211_CMD_CONNECT or %NL80211_CMD_ROAM. If the 4 way handshake failed
-- *	%NL80211_CMD_DISCONNECT should be indicated instead.
-- *
-+ * @NL80211_CMD_PORT_AUTHORIZED: An event that indicates an 802.1X FT roam was
-+ *	completed successfully. Drivers that support 4 way handshake offload
-+ *	should send this event after indicating 802.1X FT assocation with
-+ *	%NL80211_CMD_ROAM. If the 4 way handshake failed %NL80211_CMD_DISCONNECT
-+ *	should be indicated instead.
-  * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request
-  *	and RX notification.  This command is used both as a request to transmit
-  *	a control port frame and as a notification that a control port frame
-@@ -2082,10 +2080,10 @@ enum nl80211_commands {
-  *	operation).
-  * @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information
-  *	for the time while performing a channel switch.
-- * @NL80211_ATTR_CSA_C_OFF_BEACON: An array of offsets (u16) to the channel
-- *	switch counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL).
-- * @NL80211_ATTR_CSA_C_OFF_PRESP: An array of offsets (u16) to the channel
-- *	switch counters in the probe response (%NL80211_ATTR_PROBE_RESP).
-+ * @NL80211_ATTR_CNTDWN_OFFS_BEACON: An array of offsets (u16) to the channel
-+ *	switch or color change counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL).
-+ * @NL80211_ATTR_CNTDWN_OFFS_PRESP: An array of offsets (u16) to the channel
-+ *	switch or color change counters in the probe response (%NL80211_ATTR_PROBE_RESP).
-  *
-  * @NL80211_ATTR_RXMGMT_FLAGS: flags for nl80211_send_mgmt(), u32.
-  *	As specified in the &enum nl80211_rxmgmt_flags.
-@@ -2515,6 +2513,23 @@ enum nl80211_commands {
-  * @NL80211_ATTR_HE_6GHZ_CAPABILITY: HE 6 GHz Band Capability element (from
-  *	association request when used with NL80211_CMD_NEW_STATION).
-  *
-+ * @NL80211_ATTR_FILS_DISCOVERY: Optional parameter to configure FILS
-+ *	discovery. It is a nested attribute, see
-+ *	&enum nl80211_fils_discovery_attributes.
-+ *
-+ * @NL80211_ATTR_UNSOL_BCAST_PROBE_RESP: Optional parameter to configure
-+ *	unsolicited broadcast probe response. It is a nested attribute, see
-+ *	&enum nl80211_unsol_bcast_probe_resp_attributes.
-+ *
-+ * @NL80211_ATTR_S1G_CAPABILITY: S1G Capability information element (from
-+ *	association request when used with NL80211_CMD_NEW_STATION)
-+ * @NL80211_ATTR_S1G_CAPABILITY_MASK: S1G Capability Information element
-+ *	override mask. Used with NL80211_ATTR_S1G_CAPABILITY in
-+ *	NL80211_CMD_ASSOCIATE or NL80211_CMD_CONNECT.
-+ *
 + * @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
-@@ -2821,8 +2836,8 @@ enum nl80211_attrs {
- 	NL80211_ATTR_CH_SWITCH_COUNT,
- 	NL80211_ATTR_CH_SWITCH_BLOCK_TX,
- 	NL80211_ATTR_CSA_IES,
--	NL80211_ATTR_CSA_C_OFF_BEACON,
--	NL80211_ATTR_CSA_C_OFF_PRESP,
-+	NL80211_ATTR_CNTDWN_OFFS_BEACON,
-+	NL80211_ATTR_CNTDWN_OFFS_PRESP,
- 
- 	NL80211_ATTR_RXMGMT_FLAGS,
- 
-@@ -2997,6 +3012,15 @@ enum nl80211_attrs {
+@@ -3016,6 +3019,8 @@ enum nl80211_attrs {
+ 	NL80211_ATTR_S1G_CAPABILITY,
+ 	NL80211_ATTR_S1G_CAPABILITY_MASK,
  
- 	NL80211_ATTR_HE_6GHZ_CAPABILITY,
- 
-+	NL80211_ATTR_FILS_DISCOVERY,
-+
-+	NL80211_ATTR_UNSOL_BCAST_PROBE_RESP,
-+
-+	NL80211_ATTR_S1G_CAPABILITY,
-+	NL80211_ATTR_S1G_CAPABILITY_MASK,
-+
 +	NL80211_ATTR_WIPHY_ANTENNA_GAIN,
 +
  	/* add attributes here, update the policy in nl80211.c */
  
  	__NL80211_ATTR_AFTER_LAST,
-@@ -3009,6 +3033,8 @@ enum nl80211_attrs {
- #define	NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
- #define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
- #define NL80211_ATTR_SAE_DATA NL80211_ATTR_AUTH_DATA
-+#define NL80211_ATTR_CSA_C_OFF_BEACON NL80211_ATTR_CNTDWN_OFFS_BEACON
-+#define NL80211_ATTR_CSA_C_OFF_PRESP NL80211_ATTR_CNTDWN_OFFS_PRESP
- 
- /*
-  * Allow user space programs to use #ifdef on new attributes by defining them
-@@ -3186,6 +3212,18 @@ enum nl80211_he_gi {
- 	NL80211_RATE_INFO_HE_GI_3_2,
- };
- 
-+/**
-+ * enum nl80211_he_ltf - HE long training field
-+ * @NL80211_RATE_INFO_HE_1xLTF: 3.2 usec
-+ * @NL80211_RATE_INFO_HE_2xLTF: 6.4 usec
-+ * @NL80211_RATE_INFO_HE_4xLTF: 12.8 usec
-+ */
-+enum nl80211_he_ltf {
-+	NL80211_RATE_INFO_HE_1XLTF,
-+	NL80211_RATE_INFO_HE_2XLTF,
-+	NL80211_RATE_INFO_HE_4XLTF,
-+};
-+
- /**
-  * enum nl80211_he_ru_alloc - HE RU allocation values
-  * @NL80211_RATE_INFO_HE_RU_ALLOC_26: 26-tone RU allocation
-@@ -3725,6 +3763,16 @@ enum nl80211_wmm_rule {
-  * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel
-  *	in current regulatory domain.
-  * @NL80211_FREQUENCY_ATTR_OFFSET: frequency offset in KHz
-+ * @NL80211_FREQUENCY_ATTR_1MHZ: 1 MHz operation is allowed
-+ *	on this channel in current regulatory domain.
-+ * @NL80211_FREQUENCY_ATTR_2MHZ: 2 MHz operation is allowed
-+ *	on this channel in current regulatory domain.
-+ * @NL80211_FREQUENCY_ATTR_4MHZ: 4 MHz operation is allowed
-+ *	on this channel in current regulatory domain.
-+ * @NL80211_FREQUENCY_ATTR_8MHZ: 8 MHz operation is allowed
-+ *	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_MAX: highest frequency attribute number
-  *	currently defined
-  * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
-@@ -3756,6 +3804,11 @@ enum nl80211_frequency_attr {
- 	NL80211_FREQUENCY_ATTR_WMM,
- 	NL80211_FREQUENCY_ATTR_NO_HE,
- 	NL80211_FREQUENCY_ATTR_OFFSET,
-+	NL80211_FREQUENCY_ATTR_1MHZ,
-+	NL80211_FREQUENCY_ATTR_2MHZ,
-+	NL80211_FREQUENCY_ATTR_4MHZ,
-+	NL80211_FREQUENCY_ATTR_8MHZ,
-+	NL80211_FREQUENCY_ATTR_16MHZ,
- 
- 	/* keep last */
- 	__NL80211_FREQUENCY_ATTR_AFTER_LAST,
-@@ -4049,6 +4102,7 @@ enum nl80211_user_reg_hint_type {
-  *	receiving frames destined to the local BSS
-  * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
-  *	currently defined
-+ * @NL80211_SURVEY_INFO_FREQUENCY_OFFSET: center frequency offset in KHz
-  * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
-  */
- enum nl80211_survey_info {
-@@ -4064,6 +4118,7 @@ enum nl80211_survey_info {
- 	NL80211_SURVEY_INFO_TIME_SCAN,
- 	NL80211_SURVEY_INFO_PAD,
- 	NL80211_SURVEY_INFO_TIME_BSS_RX,
-+	NL80211_SURVEY_INFO_FREQUENCY_OFFSET,
- 
- 	/* keep last */
- 	__NL80211_SURVEY_INFO_AFTER_LAST,
-@@ -4741,6 +4796,10 @@ enum nl80211_key_attributes {
-  * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection,
-  *	see &struct nl80211_txrate_vht
-  * @NL80211_TXRATE_GI: configure GI, see &enum nl80211_txrate_gi
-+ * @NL80211_TXRATE_HE: HE rates allowed for TX rate selection,
-+ *	see &struct nl80211_txrate_he
-+ * @NL80211_TXRATE_HE_GI: configure HE GI, 0.8us, 1.6us and 3.2us.
-+ * @NL80211_TXRATE_HE_LTF: configure HE LTF, 1XLTF, 2XLTF and 4XLTF.
-  * @__NL80211_TXRATE_AFTER_LAST: internal
-  * @NL80211_TXRATE_MAX: highest TX rate attribute
-  */
-@@ -4750,6 +4809,9 @@ enum nl80211_tx_rate_attributes {
- 	NL80211_TXRATE_HT,
- 	NL80211_TXRATE_VHT,
- 	NL80211_TXRATE_GI,
-+	NL80211_TXRATE_HE,
-+	NL80211_TXRATE_HE_GI,
-+	NL80211_TXRATE_HE_LTF,
- 
- 	/* keep last */
- 	__NL80211_TXRATE_AFTER_LAST,
-@@ -4767,6 +4829,15 @@ struct nl80211_txrate_vht {
- 	__u16 mcs[NL80211_VHT_NSS_MAX];
- };
- 
-+#define NL80211_HE_NSS_MAX		8
-+/**
-+ * struct nl80211_txrate_he - HE MCS/NSS txrate bitmap
-+ * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.)
-+ */
-+struct nl80211_txrate_he {
-+	__u16 mcs[NL80211_HE_NSS_MAX];
-+};
-+
- enum nl80211_txrate_gi {
- 	NL80211_TXRATE_DEFAULT_GI,
- 	NL80211_TXRATE_FORCE_SGI,
-@@ -5821,6 +5892,15 @@ enum nl80211_feature_flags {
-  *	handshake with PSK in AP mode (PSK is passed as part of the start AP
-  *	command).
-  *
-+ * @NL80211_EXT_FEATURE_SAE_OFFLOAD_AP: Device wants to do SAE authentication
-+ *	in AP mode (SAE password is passed as part of the start AP command).
-+ *
-+ * @NL80211_EXT_FEATURE_FILS_DISCOVERY: Driver/device supports FILS discovery
-+ *	frames transmission
-+ *
-+ * @NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP: Driver/device supports
-+ *	unsolicited broadcast probe response transmission
-+ *
-  * @NUM_NL80211_EXT_FEATURES: number of extended features.
-  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
-  */
-@@ -5878,6 +5958,9 @@ enum nl80211_ext_feature_index {
- 	NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS,
- 	NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION,
- 	NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK,
-+	NL80211_EXT_FEATURE_SAE_OFFLOAD_AP,
-+	NL80211_EXT_FEATURE_FILS_DISCOVERY,
-+	NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP,
- 
- 	/* add new features before the definition below */
- 	NUM_NL80211_EXT_FEATURES,
-@@ -5992,6 +6075,8 @@ enum nl80211_timeout_reason {
-  * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with
-  *	%NL80211_ATTR_SCAN_FREQ_KHZ. This also means
-  *	%NL80211_ATTR_SCAN_FREQUENCIES will not be included.
-+ * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for colocated APs reported by
-+ *	2.4/5 GHz APs
-  */
- enum nl80211_scan_flags {
- 	NL80211_SCAN_FLAG_LOW_PRIORITY				= 1<<0,
-@@ -6008,6 +6093,7 @@ enum nl80211_scan_flags {
- 	NL80211_SCAN_FLAG_RANDOM_SN				= 1<<11,
- 	NL80211_SCAN_FLAG_MIN_PREQ_CONTENT			= 1<<12,
- 	NL80211_SCAN_FLAG_FREQ_KHZ				= 1<<13,
-+	NL80211_SCAN_FLAG_COLOCATED_6GHZ			= 1<<14,
- };
- 
- /**
-@@ -6910,6 +6996,13 @@ enum nl80211_peer_measurement_ftm_resp {
-  *
-  * @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
-  * @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
-+ * @NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET: the non-SRG OBSS PD maximum
-+ *	tx power offset.
-+ * @NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP: bitmap that indicates the BSS color
-+ *	values used by members of the SRG.
-+ * @NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP: bitmap that indicates the partial
-+ *	BSSID values used by members of the SRG.
-+ * @NL80211_HE_OBSS_PD_ATTR_SR_CTRL: The SR Control field of SRP element.
-  *
-  * @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
-  * @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
-@@ -6919,6 +7012,10 @@ enum nl80211_obss_pd_attributes {
- 
- 	NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
- 	NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
-+	NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET,
-+	NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP,
-+	NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP,
-+	NL80211_HE_OBSS_PD_ATTR_SR_CTRL,
- 
- 	/* keep last */
- 	__NL80211_HE_OBSS_PD_ATTR_LAST,
-@@ -6972,4 +7069,64 @@ enum nl80211_iftype_akm_attributes {
- 	NL80211_IFTYPE_AKM_ATTR_MAX = __NL80211_IFTYPE_AKM_ATTR_LAST - 1,
- };
- 
-+/**
-+ * enum nl80211_fils_discovery_attributes - FILS discovery configuration
-+ * from IEEE Std 802.11ai-2016, Annex C.3 MIB detail.
-+ *
-+ * @__NL80211_FILS_DISCOVERY_ATTR_INVALID: Invalid
-+ *
-+ * @NL80211_FILS_DISCOVERY_ATTR_INT_MIN: Minimum packet interval (u32, TU).
-+ *	Allowed range: 0..10000 (TU = Time Unit)
-+ * @NL80211_FILS_DISCOVERY_ATTR_INT_MAX: Maximum packet interval (u32, TU).
-+ *	Allowed range: 0..10000 (TU = Time Unit)
-+ * @NL80211_FILS_DISCOVERY_ATTR_TMPL: Template data for FILS discovery action
-+ *	frame including the headers.
-+ *
-+ * @__NL80211_FILS_DISCOVERY_ATTR_LAST: Internal
-+ * @NL80211_FILS_DISCOVERY_ATTR_MAX: highest attribute
-+ */
-+enum nl80211_fils_discovery_attributes {
-+	__NL80211_FILS_DISCOVERY_ATTR_INVALID,
-+
-+	NL80211_FILS_DISCOVERY_ATTR_INT_MIN,
-+	NL80211_FILS_DISCOVERY_ATTR_INT_MAX,
-+	NL80211_FILS_DISCOVERY_ATTR_TMPL,
-+
-+	/* keep last */
-+	__NL80211_FILS_DISCOVERY_ATTR_LAST,
-+	NL80211_FILS_DISCOVERY_ATTR_MAX = __NL80211_FILS_DISCOVERY_ATTR_LAST - 1
-+};
-+
-+/*
-+ * FILS discovery template minimum length with action frame headers and
-+ * mandatory fields.
-+ */
-+#define NL80211_FILS_DISCOVERY_TMPL_MIN_LEN 42
-+
-+/**
-+ * enum nl80211_unsol_bcast_probe_resp_attributes - Unsolicited broadcast probe
-+ *	response configuration. Applicable only in 6GHz.
-+ *
-+ * @__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID: Invalid
-+ *
-+ * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT: Maximum packet interval (u32, TU).
-+ *	Allowed range: 0..20 (TU = Time Unit). IEEE P802.11ax/D6.0
-+ *	26.17.2.3.2 (AP behavior for fast passive scanning).
-+ * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL: Unsolicited broadcast probe response
-+ *	frame template (binary).
-+ *
-+ * @__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST: Internal
-+ * @NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX: highest attribute
-+ */
-+enum nl80211_unsol_bcast_probe_resp_attributes {
-+	__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID,
-+
-+	NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT,
-+	NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL,
-+
-+	/* keep last */
-+	__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST,
-+	NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX =
-+		__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_LAST - 1
-+};
- #endif /* __LINUX_NL80211_H */
diff --git a/package/network/utils/iw/patches/200-reduce_size.patch b/package/network/utils/iw/patches/200-reduce_size.patch
index 24eb96537b0f..a838383d17d5 100644
--- a/package/network/utils/iw/patches/200-reduce_size.patch
+++ b/package/network/utils/iw/patches/200-reduce_size.patch
@@ -353,9 +353,9 @@
  SECTION(switch);
  COMMAND(switch, freq,
  	"<freq> [NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz] [beacons <count>] [block-tx]\n"
-@@ -956,3 +959,4 @@ COMMAND(set, tidconf, "[peer <MAC addres
- 	"  $ iw dev wlan0 tids 0x3 override ampdu on noack on rtscts on\n"
- 	"  $ iw dev wlan0 peer xx:xx:xx:xx:xx:xx tids 0x1 ampdu off tids 0x3 amsdu off rtscts on\n"
+@@ -990,3 +993,4 @@ COMMAND(set, tidconf, "[peer <MAC addres
+ 	"  $ iw dev wlan0 set tidconf peer xx:xx:xx:xx:xx:xx tids 0x2 bitrates auto\n"
+ 	"  $ iw dev wlan0 set tidconf peer xx:xx:xx:xx:xx:xx tids 0x2 bitrates limit vht-mcs-5 4:9\n"
  	);
 +#endif
 --- a/phy.c
