linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/8] nl80211: add 6GHz band support
@ 2019-05-20 12:00 Arend van Spriel
  2019-05-20 12:00 ` [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band Arend van Spriel
                   ` (8 more replies)
  0 siblings, 9 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

In 802.11ax D4.0 a new band has been proposed. This series contains
changes to cfg80211 for supporting this band. With 2GHz and 5GHz there
was no overlap in channel number. However, this new band has channel
numbers with a range from 1 up to 253. The only place I could find an
issue with this is in cfg80211_wext_freq(). Not sure how to deal with
that so it is not part of this series.

The series applies to the master branch of the mac80211-next repository.

Arend van Spriel (8):
  nl80211: add 6GHz band definition to enum nl80211_band
  cfg80211: add 6GHz UNII band definitions
  cfg80211: util: add 6GHz channel to freq conversion and vice versa
  cfg80211: extend ieee80211_operating_class_to_band() for 6GHz
  cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS
    entries
  cfg80211: use same IR permissive rules for 6GHz band
  cfg80211: ibss: use 11a mandatory rates for 6GHz band operation
  cfg80211: apply same mandatory rate flags for 5GHz and 6GHz

 include/uapi/linux/nl80211.h |  2 ++
 net/wireless/chan.c          |  3 ++-
 net/wireless/ibss.c          | 16 +++++++++++-----
 net/wireless/nl80211.c       |  1 +
 net/wireless/reg.c           | 21 +++++++++++++++++++--
 net/wireless/trace.h         |  3 ++-
 net/wireless/util.c          | 14 +++++++++++++-
 7 files changed, 50 insertions(+), 10 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-30 14:53   ` Jeff Johnson
  2019-05-20 12:00 ` [RFC 2/8] cfg80211: add 6GHz UNII band definitions Arend van Spriel
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

In the 802.11ax specification a new band is introduced, which
is also proposed by FCC for unlicensed use. This band is referred
to as 6GHz spanning frequency range from 5925 to 7125 MHz.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 include/uapi/linux/nl80211.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 6f09d1500..5ea3c8c 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -4515,6 +4515,7 @@ enum nl80211_txrate_gi {
  * enum nl80211_band - Frequency band
  * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
  * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
+ * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
  * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
  * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
  *	since newer kernel versions may support more bands
@@ -4522,6 +4523,7 @@ enum nl80211_txrate_gi {
 enum nl80211_band {
 	NL80211_BAND_2GHZ,
 	NL80211_BAND_5GHZ,
+	NL80211_BAND_6GHZ,
 	NL80211_BAND_60GHZ,
 
 	NUM_NL80211_BANDS,
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 2/8] cfg80211: add 6GHz UNII band definitions
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
  2019-05-20 12:00 ` [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-20 12:00 ` [RFC 3/8] cfg80211: util: add 6GHz channel to freq conversion and vice versa Arend van Spriel
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

For the new 6GHz there are new UNII band definitions as listed
in the FCC notice [1].

[1] https://docs.fcc.gov/public/attachments/FCC-18-147A1_Rcd.pdf

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/reg.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 4831ad74..646107a 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -3806,8 +3806,9 @@ void wiphy_regulatory_deregister(struct wiphy *wiphy)
 }
 
 /*
- * See http://www.fcc.gov/document/5-ghz-unlicensed-spectrum-unii, for
- * UNII band definitions
+ * See FCC notices for UNII band definitions
+ *  5GHz: https://www.fcc.gov/document/5-ghz-unlicensed-spectrum-unii
+ *  6GHz: https://www.fcc.gov/document/fcc-proposes-more-spectrum-unlicensed-use-0
  */
 int cfg80211_get_unii(int freq)
 {
@@ -3831,6 +3832,22 @@ int cfg80211_get_unii(int freq)
 	if (freq > 5725 && freq <= 5825)
 		return 4;
 
+	/* UNII-5 */
+	if (freq > 5925 && freq <= 6425)
+		return 5;
+
+	/* UNII-6 */
+	if (freq > 6425 && freq <= 6525)
+		return 6;
+
+	/* UNII-7 */
+	if (freq > 6525 && freq <= 6875)
+		return 7;
+
+	/* UNII-8 */
+	if (freq > 6875 && freq <= 7125)
+		return 8;
+
 	return -EINVAL;
 }
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 3/8] cfg80211: util: add 6GHz channel to freq conversion and vice versa
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
  2019-05-20 12:00 ` [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band Arend van Spriel
  2019-05-20 12:00 ` [RFC 2/8] cfg80211: add 6GHz UNII band definitions Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-20 12:00 ` [RFC 4/8] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz Arend van Spriel
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

Extend the functions ieee80211_channel_to_frequency() and
ieee80211_frequency_to_channel() to support 6GHz band according
specification in 802.11ax D4.1 27.3.22.2.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/util.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index cf63b63..081637e 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -91,6 +91,11 @@ int ieee80211_channel_to_frequency(int chan, enum nl80211_band band)
 		else
 			return 5000 + chan * 5;
 		break;
+	case NL80211_BAND_6GHZ:
+		/* see 802.11ax D4.1 27.3.22.2 */
+		if (chan <= 253)
+			return 5940 + chan * 5;
+		break;
 	case NL80211_BAND_60GHZ:
 		if (chan < 7)
 			return 56160 + chan * 2160;
@@ -111,8 +116,11 @@ int ieee80211_frequency_to_channel(int freq)
 		return (freq - 2407) / 5;
 	else if (freq >= 4910 && freq <= 4980)
 		return (freq - 4000) / 5;
-	else if (freq <= 45000) /* DMG band lower limit */
+	else if (freq < 5940)
 		return (freq - 5000) / 5;
+	else if (freq <= 45000) /* DMG band lower limit */
+		/* see 802.11ax D4.1 27.3.22.2 */
+		return (freq - 5940) / 5;
 	else if (freq >= 58320 && freq <= 70200)
 		return (freq - 56160) / 2160;
 	else
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 4/8] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
                   ` (2 preceding siblings ...)
  2019-05-20 12:00 ` [RFC 3/8] cfg80211: util: add 6GHz channel to freq conversion and vice versa Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-20 12:00 ` [RFC 5/8] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries Arend van Spriel
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

Add 6GHz operating class range as defined in 802.11ax D4.1 Annex E.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/util.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index 081637e..03e7176 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -1474,6 +1474,9 @@ bool ieee80211_operating_class_to_band(u8 operating_class,
 	case 128 ... 130:
 		*band = NL80211_BAND_5GHZ;
 		return true;
+	case 131 ... 135:
+		*band = NL80211_BAND_6GHZ;
+		return true;
 	case 81:
 	case 82:
 	case 83:
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 5/8] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
                   ` (3 preceding siblings ...)
  2019-05-20 12:00 ` [RFC 4/8] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-20 12:00 ` [RFC 6/8] cfg80211: use same IR permissive rules for 6GHz band Arend van Spriel
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

In nl80211.c there is a policy for all bands in NUM_NL80211_BANDS and
in trace.h there is a callback trace for multicast rates which is per
band in NUM_NL80211_BANDS. Both need to be extended for the new
NL80211_BAND_6GHZ.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/nl80211.c | 1 +
 net/wireless/trace.h   | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index fffe4b3..c0224fc 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -627,6 +627,7 @@ static int validate_ie_attr(const struct nlattr *attr,
 nl80211_match_band_rssi_policy[NUM_NL80211_BANDS] = {
 	[NL80211_BAND_2GHZ] = { .type = NLA_S32 },
 	[NL80211_BAND_5GHZ] = { .type = NLA_S32 },
+	[NL80211_BAND_6GHZ] = { .type = NLA_S32 },
 	[NL80211_BAND_60GHZ] = { .type = NLA_S32 },
 };
 
diff --git a/net/wireless/trace.h b/net/wireless/trace.h
index 2abfff9..a7f39a8 100644
--- a/net/wireless/trace.h
+++ b/net/wireless/trace.h
@@ -2446,10 +2446,11 @@
 		       sizeof(int) * NUM_NL80211_BANDS);
 	),
 	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", "
-		  "mcast_rates [2.4GHz=0x%x, 5.2GHz=0x%x, 60GHz=0x%x]",
+		  "mcast_rates [2.4GHz=0x%x, 5.2GHz=0x%x, 6GHz=0x%x, 60GHz=0x%x]",
 		  WIPHY_PR_ARG, NETDEV_PR_ARG,
 		  __entry->mcast_rate[NL80211_BAND_2GHZ],
 		  __entry->mcast_rate[NL80211_BAND_5GHZ],
+		  __entry->mcast_rate[NL80211_BAND_6GHZ],
 		  __entry->mcast_rate[NL80211_BAND_60GHZ])
 );
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 6/8] cfg80211: use same IR permissive rules for 6GHz band
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
                   ` (4 preceding siblings ...)
  2019-05-20 12:00 ` [RFC 5/8] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-20 12:00 ` [RFC 7/8] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation Arend van Spriel
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

The function cfg80211_ir_permissive_chan() is applicable for
6GHz band as well so make sure it is handled.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/chan.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/wireless/chan.c b/net/wireless/chan.c
index 7dc1bbd..7c9d204 100644
--- a/net/wireless/chan.c
+++ b/net/wireless/chan.c
@@ -894,7 +894,8 @@ static bool cfg80211_ir_permissive_chan(struct wiphy *wiphy,
 		if (chan == other_chan)
 			return true;
 
-		if (chan->band != NL80211_BAND_5GHZ)
+		if (chan->band != NL80211_BAND_5GHZ &&
+		    chan->band != NL80211_BAND_6GHZ)
 			continue;
 
 		r1 = cfg80211_get_unii(chan->center_freq);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 7/8] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
                   ` (5 preceding siblings ...)
  2019-05-20 12:00 ` [RFC 6/8] cfg80211: use same IR permissive rules for 6GHz band Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-20 12:00 ` [RFC 8/8] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz Arend van Spriel
  2019-05-24 11:56 ` [RFC 0/8] nl80211: add 6GHz band support Johannes Berg
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

The default mandatory rates, ie. when not specified by user-space, is
determined by the band. Select 11a rateset for 6GHz band.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/ibss.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/net/wireless/ibss.c b/net/wireless/ibss.c
index d1743e6..ae8fe66 100644
--- a/net/wireless/ibss.c
+++ b/net/wireless/ibss.c
@@ -104,13 +104,19 @@ int __cfg80211_join_ibss(struct cfg80211_registered_device *rdev,
 		* use the mandatory rate set for 11b or
 		* 11a for maximum compatibility.
 		*/
-		struct ieee80211_supported_band *sband =
-			rdev->wiphy.bands[params->chandef.chan->band];
+		struct ieee80211_supported_band *sband;
+		enum nl80211_band band;
+		u32 flag;
 		int j;
-		u32 flag = params->chandef.chan->band == NL80211_BAND_5GHZ ?
-			IEEE80211_RATE_MANDATORY_A :
-			IEEE80211_RATE_MANDATORY_B;
 
+		band = params->chandef.chan->band;
+		if (band == NL80211_BAND_5GHZ ||
+		    band == NL80211_BAND_6GHZ)
+			flag = IEEE80211_RATE_MANDATORY_A;
+		else
+			flag = IEEE80211_RATE_MANDATORY_B;
+
+		sband = rdev->wiphy.bands[band];
 		for (j = 0; j < sband->n_bitrates; j++) {
 			if (sband->bitrates[j].flags & flag)
 				params->basic_rates |= BIT(j);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [RFC 8/8] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
                   ` (6 preceding siblings ...)
  2019-05-20 12:00 ` [RFC 7/8] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation Arend van Spriel
@ 2019-05-20 12:00 ` Arend van Spriel
  2019-05-24 11:56 ` [RFC 0/8] nl80211: add 6GHz band support Johannes Berg
  8 siblings, 0 replies; 24+ messages in thread
From: Arend van Spriel @ 2019-05-20 12:00 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Arend van Spriel

For the new 6GHz band the same rules apply for mandatory rates so
add it to set_mandatory_flags_band() function.

Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Reviewed-by: Leon Zegers <leon.zegers@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
---
 net/wireless/util.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index 03e7176..fd90c86 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -156,6 +156,7 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband)
 
 	switch (sband->band) {
 	case NL80211_BAND_5GHZ:
+	case NL80211_BAND_6GHZ:
 		want = 3;
 		for (i = 0; i < sband->n_bitrates; i++) {
 			if (sband->bitrates[i].bitrate == 60 ||
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
                   ` (7 preceding siblings ...)
  2019-05-20 12:00 ` [RFC 8/8] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz Arend van Spriel
@ 2019-05-24 11:56 ` Johannes Berg
  2019-05-24 18:38   ` Arend Van Spriel
  8 siblings, 1 reply; 24+ messages in thread
From: Johannes Berg @ 2019-05-24 11:56 UTC (permalink / raw)
  To: Arend van Spriel; +Cc: linux-wireless

Hi Arend,

On Mon, 2019-05-20 at 14:00 +0200, Arend van Spriel wrote:
> In 802.11ax D4.0 a new band has been proposed. This series contains
> changes to cfg80211 for supporting this band. With 2GHz and 5GHz there
> was no overlap in channel number. However, this new band has channel
> numbers with a range from 1 up to 253.

At the wireless workshop in Prague, we looked at this and sort of
decided that it'd be better to put all the 6 GHz channels into the 5 GHz
"band" in nl80211, to avoid all the "5 || 6" since they're really the
same except for very specific places like scanning.

The channel numbers problem came up, of course, but for nl80211 it's not
that relevant since we deal with frequencies only, and we thought inside
the kernel it'd be better to disambiguate them with operating classes,
where needed - only few places really deal with channel numbers to start
with.

Do you have any reason to think that it's better as a separate band enum
(which I notice you put before 60 GHz thus breaking the API/ABI :P)?

Thanks,
johannes



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-05-24 11:56 ` [RFC 0/8] nl80211: add 6GHz band support Johannes Berg
@ 2019-05-24 18:38   ` Arend Van Spriel
  2019-05-27 20:46     ` Arend Van Spriel
  0 siblings, 1 reply; 24+ messages in thread
From: Arend Van Spriel @ 2019-05-24 18:38 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

On May 24, 2019 1:56:43 PM Johannes Berg <johannes@sipsolutions.net> wrote:

> Hi Arend,
>
> On Mon, 2019-05-20 at 14:00 +0200, Arend van Spriel wrote:
>> In 802.11ax D4.0 a new band has been proposed. This series contains
>> changes to cfg80211 for supporting this band. With 2GHz and 5GHz there
>> was no overlap in channel number. However, this new band has channel
>> numbers with a range from 1 up to 253.
>
> At the wireless workshop in Prague, we looked at this and sort of
> decided that it'd be better to put all the 6 GHz channels into the 5 GHz
> "band" in nl80211, to avoid all the "5 || 6" since they're really the
> same except for very specific places like scanning.

Would have liked to be there, but attending is no longer an option for me. 
We now have two autistic, non-verbal children and I am the primary 
caregiver for the oldest because my wife can't handle him. Guess I should 
have checked the workshop notes before working on this :-) Do you have URL?

Agree that most functional requirements for 6 GHz are same as 5 GHz. There 
are some 6 GHz specifics about beaconing as well.

> The channel numbers problem came up, of course, but for nl80211 it's not
> that relevant since we deal with frequencies only, and we thought inside
> the kernel it'd be better to disambiguate them with operating classes,
> where needed - only few places really deal with channel numbers to start
> with.
>
> Do you have any reason to think that it's better as a separate band enum

No specific reason. Just that the few cfg80211-based drivers tend to use 
channel number as hwvalue.

> (which I notice you put before 60 GHz thus breaking the API/ABI :P)?

Right. Now I feel wet behind the ears :-p

I will go with 6G being additional 5G range and see how that works for us.

Gr. AvS



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-05-24 18:38   ` Arend Van Spriel
@ 2019-05-27 20:46     ` Arend Van Spriel
  2019-06-03 10:39       ` Arend Van Spriel
  2019-06-28 13:04       ` Johannes Berg
  0 siblings, 2 replies; 24+ messages in thread
From: Arend Van Spriel @ 2019-05-27 20:46 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

On 5/24/2019 8:38 PM, Arend Van Spriel wrote:
> On May 24, 2019 1:56:43 PM Johannes Berg <johannes@sipsolutions.net> wrote:
> 
>> Hi Arend,
>>
>> On Mon, 2019-05-20 at 14:00 +0200, Arend van Spriel wrote:
>>> In 802.11ax D4.0 a new band has been proposed. This series contains
>>> changes to cfg80211 for supporting this band. With 2GHz and 5GHz there
>>> was no overlap in channel number. However, this new band has channel
>>> numbers with a range from 1 up to 253.
>>
>> At the wireless workshop in Prague, we looked at this and sort of
>> decided that it'd be better to put all the 6 GHz channels into the 5 GHz
>> "band" in nl80211, to avoid all the "5 || 6" since they're really the
>> same except for very specific places like scanning.
> 
> Would have liked to be there, but attending is no longer an option for 
> me. We now have two autistic, non-verbal children and I am the primary 
> caregiver for the oldest because my wife can't handle him. Guess I 
> should have checked the workshop notes before working on this :-) Do you 
> have URL?

Found the netdev wifi workshop page and looked over the slides quickly, 
but the notes page is pretty empty ;-)

> Agree that most functional requirements for 6 GHz are same as 5 GHz. 
> There are some 6 GHz specifics about beaconing as well.

This came up in discussion with my colleagues today and I would say from 
mac80211 perspective there is more to it than just scanning. In short 
the 6GHz band is for HE-only operation so for example only HE rates may 
be used. As the bitrates are in ieee80211_supported_band having a 
separate 6GHz band seems to have a (slight?) advantage.

Regards,
Arend

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band
  2019-05-20 12:00 ` [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band Arend van Spriel
@ 2019-05-30 14:53   ` Jeff Johnson
  2019-05-30 16:07     ` Arend Van Spriel
  0 siblings, 1 reply; 24+ messages in thread
From: Jeff Johnson @ 2019-05-30 14:53 UTC (permalink / raw)
  To: Arend van Spriel; +Cc: linux-wireless

On 2019-05-20 05:00, Arend van Spriel wrote:
> [...snip...]
>  enum nl80211_band {
>  	NL80211_BAND_2GHZ,
>  	NL80211_BAND_5GHZ,
> +	NL80211_BAND_6GHZ,
>  	NL80211_BAND_60GHZ,
> 
>  	NUM_NL80211_BANDS,

Is it not a concern that this changes the value of NL80211_BAND_60GHZ 
and hence will break any ABI which expects the current value?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band
  2019-05-30 14:53   ` Jeff Johnson
@ 2019-05-30 16:07     ` Arend Van Spriel
  2019-05-30 17:43       ` Jeff Johnson
  0 siblings, 1 reply; 24+ messages in thread
From: Arend Van Spriel @ 2019-05-30 16:07 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: linux-wireless

On May 30, 2019 4:53:13 PM Jeff Johnson <jjohnson@codeaurora.org> wrote:

> On 2019-05-20 05:00, Arend van Spriel wrote:
>> [...snip...]
>>  enum nl80211_band {
>>  	NL80211_BAND_2GHZ,
>>  	NL80211_BAND_5GHZ,
>> +	NL80211_BAND_6GHZ,
>>  	NL80211_BAND_60GHZ,
>> 
>>  	NUM_NL80211_BANDS,
>
> Is it not a concern that this changes the value of NL80211_BAND_60GHZ
> and hence will break any ABI which expects the current value?

Sigh! Obviously that is a concern. Johannes already mentioned it.

Thanks,
Arend



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band
  2019-05-30 16:07     ` Arend Van Spriel
@ 2019-05-30 17:43       ` Jeff Johnson
  2019-05-30 17:52         ` Arend Van Spriel
  0 siblings, 1 reply; 24+ messages in thread
From: Jeff Johnson @ 2019-05-30 17:43 UTC (permalink / raw)
  To: Arend Van Spriel; +Cc: linux-wireless

On 2019-05-30 09:07, Arend Van Spriel wrote:
> Sigh! Obviously that is a concern. Johannes already mentioned it.

Sorry, overlooked his comment on the [0/8] patch. I'll climb back under 
my rock.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band
  2019-05-30 17:43       ` Jeff Johnson
@ 2019-05-30 17:52         ` Arend Van Spriel
  0 siblings, 0 replies; 24+ messages in thread
From: Arend Van Spriel @ 2019-05-30 17:52 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: linux-wireless

On May 30, 2019 7:43:27 PM Jeff Johnson <jjohnson@codeaurora.org> wrote:

> On 2019-05-30 09:07, Arend Van Spriel wrote:
>> Sigh! Obviously that is a concern. Johannes already mentioned it.
>
> Sorry, overlooked his comment on the [0/8] patch. I'll climb back under
> my rock.

No need to do that. It is mainly me feeling stupid about making such a 
mistake that makes me sigh ;-)

Regards,
Arend



^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-05-27 20:46     ` Arend Van Spriel
@ 2019-06-03 10:39       ` Arend Van Spriel
  2019-06-21 19:41         ` Arend Van Spriel
  2019-06-28 13:04       ` Johannes Berg
  1 sibling, 1 reply; 24+ messages in thread
From: Arend Van Spriel @ 2019-06-03 10:39 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

On 5/27/2019 10:46 PM, Arend Van Spriel wrote:
> On 5/24/2019 8:38 PM, Arend Van Spriel wrote:
>> On May 24, 2019 1:56:43 PM Johannes Berg <johannes@sipsolutions.net> 
>> wrote:
>>
>>> Hi Arend,
>>>
>>> On Mon, 2019-05-20 at 14:00 +0200, Arend van Spriel wrote:
>>>> In 802.11ax D4.0 a new band has been proposed. This series contains
>>>> changes to cfg80211 for supporting this band. With 2GHz and 5GHz there
>>>> was no overlap in channel number. However, this new band has channel
>>>> numbers with a range from 1 up to 253.
>>>
>>> At the wireless workshop in Prague, we looked at this and sort of
>>> decided that it'd be better to put all the 6 GHz channels into the 5 GHz
>>> "band" in nl80211, to avoid all the "5 || 6" since they're really the
>>> same except for very specific places like scanning.
>>
>> Would have liked to be there, but attending is no longer an option for 
>> me. We now have two autistic, non-verbal children and I am the primary 
>> caregiver for the oldest because my wife can't handle him. Guess I 
>> should have checked the workshop notes before working on this :-) Do 
>> you have URL?
> 
> Found the netdev wifi workshop page and looked over the slides quickly, 
> but the notes page is pretty empty ;-)
> 
>> Agree that most functional requirements for 6 GHz are same as 5 GHz. 
>> There are some 6 GHz specifics about beaconing as well.
> 
> This came up in discussion with my colleagues today and I would say from 
> mac80211 perspective there is more to it than just scanning. In short 
> the 6GHz band is for HE-only operation so for example only HE rates may 
> be used. As the bitrates are in ieee80211_supported_band having a 
> separate 6GHz band seems to have a (slight?) advantage.

Hi, Johannes

Any thoughts on this?

Regards,
Arend

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-06-03 10:39       ` Arend Van Spriel
@ 2019-06-21 19:41         ` Arend Van Spriel
  0 siblings, 0 replies; 24+ messages in thread
From: Arend Van Spriel @ 2019-06-21 19:41 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

On 6/3/2019 12:39 PM, Arend Van Spriel wrote:
> On 5/27/2019 10:46 PM, Arend Van Spriel wrote:
>> On 5/24/2019 8:38 PM, Arend Van Spriel wrote:
>>> On May 24, 2019 1:56:43 PM Johannes Berg <johannes@sipsolutions.net> 
>>> wrote:
>>>
>>>> Hi Arend,
>>>>
>>>> On Mon, 2019-05-20 at 14:00 +0200, Arend van Spriel wrote:
>>>>> In 802.11ax D4.0 a new band has been proposed. This series contains
>>>>> changes to cfg80211 for supporting this band. With 2GHz and 5GHz there
>>>>> was no overlap in channel number. However, this new band has channel
>>>>> numbers with a range from 1 up to 253.
>>>>
>>>> At the wireless workshop in Prague, we looked at this and sort of
>>>> decided that it'd be better to put all the 6 GHz channels into the 5 
>>>> GHz
>>>> "band" in nl80211, to avoid all the "5 || 6" since they're really the
>>>> same except for very specific places like scanning.
>>>
>>> Would have liked to be there, but attending is no longer an option 
>>> for me. We now have two autistic, non-verbal children and I am the 
>>> primary caregiver for the oldest because my wife can't handle him. 
>>> Guess I should have checked the workshop notes before working on this 
>>> :-) Do you have URL?
>>
>> Found the netdev wifi workshop page and looked over the slides 
>> quickly, but the notes page is pretty empty ;-)
>>
>>> Agree that most functional requirements for 6 GHz are same as 5 GHz. 
>>> There are some 6 GHz specifics about beaconing as well.
>>
>> This came up in discussion with my colleagues today and I would say 
>> from mac80211 perspective there is more to it than just scanning. In 
>> short the 6GHz band is for HE-only operation so for example only HE 
>> rates may be used. As the bitrates are in ieee80211_supported_band 
>> having a separate 6GHz band seems to have a (slight?) advantage.
> 
> Hi, Johannes
> 
> Any thoughts on this?

Hi Johannes,

It has been a while so maybe your thoughts are more concrete? ;-p

I really would like this to move forward as I also noticed hostapd 
changes being posted for 6GHz support yesterday.

Thanks,
Arend

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-05-27 20:46     ` Arend Van Spriel
  2019-06-03 10:39       ` Arend Van Spriel
@ 2019-06-28 13:04       ` Johannes Berg
  2019-07-11 11:30         ` Arend Van Spriel
  1 sibling, 1 reply; 24+ messages in thread
From: Johannes Berg @ 2019-06-28 13:04 UTC (permalink / raw)
  To: Arend Van Spriel; +Cc: linux-wireless, Jouni Malinen, Tova Mussai

Hi Arend, all,

Sorry. No, my thoughts aren't really more concrete, but Tova is starting
to work on this now.

> This came up in discussion with my colleagues today and I would say from 
> mac80211 perspective there is more to it than just scanning. In short 
> the 6GHz band is for HE-only operation so for example only HE rates may 
> be used. As the bitrates are in ieee80211_supported_band having a 
> separate 6GHz band seems to have a (slight?) advantage.

Hmm, that's a good point too, I hadn't really looked _too_ much at 6GHz
stuff.

Jouni, what do you think?

Perhaps we should just have both. I mean, we can treat this as a
separate band, and still have code to handle operating classes properly,
right?

johannes


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-06-28 13:04       ` Johannes Berg
@ 2019-07-11 11:30         ` Arend Van Spriel
  2019-07-12  9:30           ` Johannes Berg
  0 siblings, 1 reply; 24+ messages in thread
From: Arend Van Spriel @ 2019-07-11 11:30 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Jouni Malinen, Tova Mussai

On 6/28/2019 3:04 PM, Johannes Berg wrote:
> Hi Arend, all,
> 
> Sorry. No, my thoughts aren't really more concrete, but Tova is starting
> to work on this now.
> 
>> This came up in discussion with my colleagues today and I would say from
>> mac80211 perspective there is more to it than just scanning. In short
>> the 6GHz band is for HE-only operation so for example only HE rates may
>> be used. As the bitrates are in ieee80211_supported_band having a
>> separate 6GHz band seems to have a (slight?) advantage.
> 
> Hmm, that's a good point too, I hadn't really looked _too_ much at 6GHz
> stuff.
> 
> Jouni, what do you think?
> 
> Perhaps we should just have both. I mean, we can treat this as a
> separate band, and still have code to handle operating classes properly,
> right?

I assume user-space does not necessarily need the band, but hostapd 
needs to be aware that it is operating in 6GHz to setup the correct 
(information) elements in the beacon. Obviously the operating classes 
can be used there, but I don't think there is any issue with nl80211 
exposing a 6G band.

Regards,
Arend

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-07-11 11:30         ` Arend Van Spriel
@ 2019-07-12  9:30           ` Johannes Berg
  2019-07-12 10:40             ` Arend Van Spriel
  0 siblings, 1 reply; 24+ messages in thread
From: Johannes Berg @ 2019-07-12  9:30 UTC (permalink / raw)
  To: Arend Van Spriel; +Cc: linux-wireless, Jouni Malinen, Tova Mussai

On Thu, 2019-07-11 at 13:30 +0200, Arend Van Spriel wrote:
> 
> I assume user-space does not necessarily need the band, but hostapd 
> needs to be aware that it is operating in 6GHz to setup the correct 
> (information) elements in the beacon. Obviously the operating classes 
> can be used there, but I don't think there is any issue with nl80211 
> exposing a 6G band.

Yeah, I don't really see any *issue* with it, in many places we don't
really even care about the band enum.

In a sense, *most* of the places that consider the channel don't
actually care about the band, the channel num/freq conversion helpers
are a bit of the odd ones out in that regard. In the chandef, for
example, we don't have the band.

Really the original use for the band enum was mostly around the
advertising if capabilities. As you pointed out, 6GHz actually *does*
have different capabilities, though it's not clear to me what exactly
the behaviour differences are. Scanning is a big area, of course.

When we discussed splitting up or not the band, I think what we mostly
considered was the channel num/freq conversion helpers, and Jouni
pointed out that really what we should be doing for those isn't to
consider the band but the operating class instead.

So I'm starting to think that perhaps the decision we came to in Prague
was a little hasty, without considering the full impact?

I do completely agree that we should have knowledge about the operating
classes in the kernel eventually, and probably we will need to have it
here if we need to parse reduced neighbor reports etc. OTOH, we have
already ieee80211_operating_class_to_band(), and that seems sufficient,
though probably we should consider a combined helper that takes
opclass/chan# instead of having to call two functions?

However, from a feature advertisement point of view, we might very well
consider 6 GHz to be a separate nl80211 band, in particular if there
*are* indeed differences around what rates are permitted? Which is
really the only place where we care. Or maybe, thinking about this more,
if there could be devices that have different capabilities in 6 GHz than
in 5 GHz, in the sense of HT/VHT/HE capabilities?

Can somebody do the legwork and really go look at the spec to figure out
what the differences are? I'm not even sure now legacy rates are
permitted or not - you (Arend) seemed to imply they're not, and Igor
said only for beacons ...

I tend to think that this would be the deciding factor. For example, if
we do end up sending a probe request on 6 GHz, would we include a
different supported rates element than on 5 GHz? Or might there even be
devices that have different PHY paths and thus possibly different
capabilities for 5 and 6 GHz, essentially requiring a new place (a new
band enumerator) to store those capabilities, so we don't have to try to
figure out the difference in code later?

I'm almost tempted to say that given all these possibilities we should
in fact add a new value to the band enum, worst case we just duplicate
some data, but if there do end up being differences we can handle them
much more gracefully than if we put everything into 5 GHz.

Jouni, what do you think?

Thanks,
johannes


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-07-12  9:30           ` Johannes Berg
@ 2019-07-12 10:40             ` Arend Van Spriel
  2019-07-12 15:16               ` Igor Mitsyanko
  0 siblings, 1 reply; 24+ messages in thread
From: Arend Van Spriel @ 2019-07-12 10:40 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Jouni Malinen, Tova Mussai

On 7/12/2019 11:30 AM, Johannes Berg wrote:
> On Thu, 2019-07-11 at 13:30 +0200, Arend Van Spriel wrote:
>>
>> I assume user-space does not necessarily need the band, but hostapd
>> needs to be aware that it is operating in 6GHz to setup the correct
>> (information) elements in the beacon. Obviously the operating classes
>> can be used there, but I don't think there is any issue with nl80211
>> exposing a 6G band.
> 
> Yeah, I don't really see any *issue* with it, in many places we don't
> really even care about the band enum.
> 
> In a sense, *most* of the places that consider the channel don't
> actually care about the band, the channel num/freq conversion helpers
> are a bit of the odd ones out in that regard. In the chandef, for
> example, we don't have the band.
> 
> Really the original use for the band enum was mostly around the
> advertising if capabilities. As you pointed out, 6GHz actually *does*
> have different capabilities, though it's not clear to me what exactly
> the behaviour differences are. Scanning is a big area, of course.

For starters a 6G STA has to add "HE extended capabilities" element. 
This contains capabilities that are taken from HT/VHT. Reason being that 
there is following requirement (clause 26.17.2.1):

"""
A 6 GHz HE STA shall not transmit an HT Capabilities element, VHT 
Capabilities element, HT Operation
element, VHT Operation element or an HE Operation element that contains 
a VHT Operation Information
field.
"""

The inclusion of the "HE extended capabilities" element is determined by 
the dot116GOptionImplemented option. (band[6G] != NULL) provides that 
condition although there are other ways to solve that I guess :-p
Come to think of it. Does mac80211 need that. Guess IEs are provided by 
user-space, right?

> When we discussed splitting up or not the band, I think what we mostly
> considered was the channel num/freq conversion helpers, and Jouni
> pointed out that really what we should be doing for those isn't to
> consider the band but the operating class instead.
> 
> So I'm starting to think that perhaps the decision we came to in Prague
> was a little hasty, without considering the full impact?
> 
> I do completely agree that we should have knowledge about the operating
> classes in the kernel eventually, and probably we will need to have it
> here if we need to parse reduced neighbor reports etc. OTOH, we have
> already ieee80211_operating_class_to_band(), and that seems sufficient,
> though probably we should consider a combined helper that takes
> opclass/chan# instead of having to call two functions?
> 
> However, from a feature advertisement point of view, we might very well
> consider 6 GHz to be a separate nl80211 band, in particular if there
> *are* indeed differences around what rates are permitted? Which is
> really the only place where we care. Or maybe, thinking about this more,
> if there could be devices that have different capabilities in 6 GHz than
> in 5 GHz, in the sense of HT/VHT/HE capabilities?

Regarding rates the answer seem to be in clause 26.17.2.1 as well:

"""
A STA shall not transmit an HT PPDU in the 6 GHz band. A STA shall not 
transmit a VHT PPDU in the
6 GHz band. A STA shall not transmit a DSSS, HR/DSSS, or ERP-OFDM PPDU 
in the 6 GHz band.
"""

I may be wrong but that seems to say only HE rates are allowed.

> Can somebody do the legwork and really go look at the spec to figure out
> what the differences are? I'm not even sure now legacy rates are
> permitted or not - you (Arend) seemed to imply they're not, and Igor
> said only for beacons ...

Regarding beacons the rate requirement is in clause 26.15.6, which 
basically states that beacons have to be transmitted with HE rate where 
NSS equals 1.

> I tend to think that this would be the deciding factor. For example, if
> we do end up sending a probe request on 6 GHz, would we include a
> different supported rates element than on 5 GHz? Or might there even be
> devices that have different PHY paths and thus possibly different
> capabilities for 5 and 6 GHz, essentially requiring a new place (a new
> band enumerator) to store those capabilities, so we don't have to try to
> figure out the difference in code later?
> 
> I'm almost tempted to say that given all these possibilities we should
> in fact add a new value to the band enum, worst case we just duplicate
> some data, but if there do end up being differences we can handle them
> much more gracefully than if we put everything into 5 GHz.
> 
> Jouni, what do you think?

Regards,
Arend

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-07-12 10:40             ` Arend Van Spriel
@ 2019-07-12 15:16               ` Igor Mitsyanko
  2019-07-12 20:06                 ` Johannes Berg
  0 siblings, 1 reply; 24+ messages in thread
From: Igor Mitsyanko @ 2019-07-12 15:16 UTC (permalink / raw)
  To: Arend Van Spriel, Johannes Berg
  Cc: linux-wireless, Jouni Malinen, Tova Mussai

On 7/12/19 1:40 PM, Arend Van Spriel wrote:
> 
> 
> The inclusion of the "HE extended capabilities" element is determined by 
> the dot116GOptionImplemented option. (band[6G] != NULL) provides that 
> condition although there are other ways to solve that I guess :-p
> Come to think of it. Does mac80211 need that. Guess IEs are provided by 
> user-space, right?

Maybe not for transmission, but we probably will need to parse peer's 
IEs at least to properly fill SCAN information and properly report 
peer's capabilities.

>> However, from a feature advertisement point of view, we might very well
>> consider 6 GHz to be a separate nl80211 band, in particular if there
>> *are* indeed differences around what rates are permitted? Which is
>> really the only place where we care. Or maybe, thinking about this more,
>> if there could be devices that have different capabilities in 6 GHz than
>> in 5 GHz, in the sense of HT/VHT/HE capabilities?
> 
> Regarding rates the answer seem to be in clause 26.17.2.1 as well:
> 
> """
> A STA shall not transmit an HT PPDU in the 6 GHz band. A STA shall not 
> transmit a VHT PPDU in the
> 6 GHz band. A STA shall not transmit a DSSS, HR/DSSS, or ERP-OFDM PPDU 
> in the 6 GHz band.
> """
> 
> I may be wrong but that seems to say only HE rates are allowed.

Unless I'm wrong myself, this leaves us with 5GHz OFDMA PHY (802.11a). 
Further in 26.17.2.1 spec states the following regarding beacons:
"the Beacon frames may be sent in non-HT duplicate PPDUs."

> 
>> Can somebody do the legwork and really go look at the spec to figure out
>> what the differences are? I'm not even sure now legacy rates are
>> permitted or not - you (Arend) seemed to imply they're not, and Igor
>> said only for beacons ...
> 
> Regarding beacons the rate requirement is in clause 26.15.6, which 
> basically states that beacons have to be transmitted with HE rate where 
> NSS equals 1.

It reads as a requirements for HE Beacons transmission in 6GHz band if 
STA chose to transmit such beacons, but it does not state HE station can 
transmit HE beacons only in 6GHz band.

>>
>> I'm almost tempted to say that given all these possibilities we should
>> in fact add a new value to the band enum, worst case we just duplicate
>> some data, but if there do end up being differences we can handle them
>> much more gracefully than if we put everything into 5 GHz.
>>

I think we do need a new value in band enum, it seems natural because:
- it has different capabilities
- it has different rates
maintaining this information in any other way seems will be much more 
cumbersome.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [RFC 0/8] nl80211: add 6GHz band support
  2019-07-12 15:16               ` Igor Mitsyanko
@ 2019-07-12 20:06                 ` Johannes Berg
  0 siblings, 0 replies; 24+ messages in thread
From: Johannes Berg @ 2019-07-12 20:06 UTC (permalink / raw)
  To: Igor Mitsyanko, Arend Van Spriel
  Cc: linux-wireless, Jouni Malinen, Tova Mussai

On Fri, 2019-07-12 at 15:16 +0000, Igor Mitsyanko wrote:
> On 7/12/19 1:40 PM, Arend Van Spriel wrote:
> > 
> > 
> > The inclusion of the "HE extended capabilities" element is determined by 
> > the dot116GOptionImplemented option. (band[6G] != NULL) provides that 
> > condition although there are other ways to solve that I guess :-p
> > Come to think of it. Does mac80211 need that. Guess IEs are provided by 
> > user-space, right?
> 
> Maybe not for transmission, but we probably will need to parse peer's 
> IEs at least to properly fill SCAN information and properly report 
> peer's capabilities.

Probe requests may also be transmitted there though 6 GHz scanning is
sufficiently complicated this might not happen; as well as association
request which definitely this is relevant to.

> > > However, from a feature advertisement point of view, we might very well
> > > consider 6 GHz to be a separate nl80211 band, in particular if there
> > > *are* indeed differences around what rates are permitted? Which is
> > > really the only place where we care. Or maybe, thinking about this more,
> > > if there could be devices that have different capabilities in 6 GHz than
> > > in 5 GHz, in the sense of HT/VHT/HE capabilities?
> > 
> > Regarding rates the answer seem to be in clause 26.17.2.1 as well:
> > 
> > """
> > A STA shall not transmit an HT PPDU in the 6 GHz band. A STA shall not 
> > transmit a VHT PPDU in the
> > 6 GHz band. A STA shall not transmit a DSSS, HR/DSSS, or ERP-OFDM PPDU 
> > in the 6 GHz band.
> > """
> > 
> > I may be wrong but that seems to say only HE rates are allowed.
> 
> Unless I'm wrong myself, this leaves us with 5GHz OFDMA PHY (802.11a). 
> Further in 26.17.2.1 spec states the following regarding beacons:
> "the Beacon frames may be sent in non-HT duplicate PPDUs."

OFDMA is HE :-)

802.11a is OFDM (Clause 17, at least in 802.11-2016), but I think you're
otherwise right.

> I think we do need a new value in band enum, it seems natural because:
> - it has different capabilities
> - it has different rates
> maintaining this information in any other way seems will be much more 
> cumbersome.

I'm starting to agree here despite having initially thought it wasn't
necessary, and so I'll review Arend's patches again with an eye towards
actually merging them.

johannes


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2019-07-12 20:06 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-20 12:00 [RFC 0/8] nl80211: add 6GHz band support Arend van Spriel
2019-05-20 12:00 ` [RFC 1/8] nl80211: add 6GHz band definition to enum nl80211_band Arend van Spriel
2019-05-30 14:53   ` Jeff Johnson
2019-05-30 16:07     ` Arend Van Spriel
2019-05-30 17:43       ` Jeff Johnson
2019-05-30 17:52         ` Arend Van Spriel
2019-05-20 12:00 ` [RFC 2/8] cfg80211: add 6GHz UNII band definitions Arend van Spriel
2019-05-20 12:00 ` [RFC 3/8] cfg80211: util: add 6GHz channel to freq conversion and vice versa Arend van Spriel
2019-05-20 12:00 ` [RFC 4/8] cfg80211: extend ieee80211_operating_class_to_band() for 6GHz Arend van Spriel
2019-05-20 12:00 ` [RFC 5/8] cfg80211: add 6GHz in code handling array with NUM_NL80211_BANDS entries Arend van Spriel
2019-05-20 12:00 ` [RFC 6/8] cfg80211: use same IR permissive rules for 6GHz band Arend van Spriel
2019-05-20 12:00 ` [RFC 7/8] cfg80211: ibss: use 11a mandatory rates for 6GHz band operation Arend van Spriel
2019-05-20 12:00 ` [RFC 8/8] cfg80211: apply same mandatory rate flags for 5GHz and 6GHz Arend van Spriel
2019-05-24 11:56 ` [RFC 0/8] nl80211: add 6GHz band support Johannes Berg
2019-05-24 18:38   ` Arend Van Spriel
2019-05-27 20:46     ` Arend Van Spriel
2019-06-03 10:39       ` Arend Van Spriel
2019-06-21 19:41         ` Arend Van Spriel
2019-06-28 13:04       ` Johannes Berg
2019-07-11 11:30         ` Arend Van Spriel
2019-07-12  9:30           ` Johannes Berg
2019-07-12 10:40             ` Arend Van Spriel
2019-07-12 15:16               ` Igor Mitsyanko
2019-07-12 20:06                 ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).