All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: linux-wireless@vger.kernel.org, Jouni Malinen <j@w1.fi>
Cc: Rajkumar Manoharan <rmanohar@codeaurora.org>,
	Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Subject: Re: [PATCH 12/24] mac80211: avoid using ext NSS high BW if not supported
Date: Thu, 28 May 2020 19:50:15 +0200	[thread overview]
Message-ID: <d8fe8e99def9c17099e98e3d467b259ee4229fcf.camel@sipsolutions.net> (raw)
In-Reply-To: <20200528165011.0e55d40c3ccc.I6fd0b4708ebd087e5e46466c3e91f6efbcbef668@changeid> (sfid-20200528_165447_100324_6B699F5D)

> If the AP advertises inconsistent data, namely it has CCFS1 or CCFS2,
> but doesn't advertise support for 160/80+80 bandwidth or "Extended NSS
> BW Support", then we cannot use any MCSes in the the higher bandwidth.
> Thus, avoid connecting with higher bandwidth since it's less efficient
> that way.

So ... this broke the tests :)

But really the code here seems consistent. What was in the tests is that
the AP doesn't actually advertise 160 or 80+80 capability, so need to
fix it like this:

diff --git a/tests/hwsim/test_ap_tdls.py b/tests/hwsim/test_ap_tdls.py
index 05c4ca3e48b1..ea14a08b232f 100644
--- a/tests/hwsim/test_ap_tdls.py
+++ b/tests/hwsim/test_ap_tdls.py
@@ -413,6 +413,7 @@ def test_ap_open_tdls_vht80(dev, apdev):
               "hw_mode": "a",
               "channel": "36",
               "ht_capab": "[HT40+]",
+              "vht_capab": "[VHT160]",
               "ieee80211n": "1",
               "ieee80211ac": "1",
               "vht_capab": "",
@@ -452,7 +453,7 @@ def test_ap_open_tdls_vht80plus80(dev, apdev):
               "ht_capab": "[HT40+]",
               "ieee80211n": "1",
               "ieee80211ac": "1",
-              "vht_capab": "",
+              "vht_capab": "[VHT160-80PLUS80]",
               "vht_oper_chwidth": "3",
               "vht_oper_centr_freq_seg0_idx": "42",
               "vht_oper_centr_freq_seg1_idx": "155"}
@@ -494,6 +495,7 @@ def test_ap_open_tdls_vht160(dev, apdev):
               "hw_mode": "a",
               "channel": "104",
               "ht_capab": "[HT40-]",
+              "vht_capab": "[VHT160]",
               "ieee80211n": "1",
               "ieee80211ac": "1",
               "vht_oper_chwidth": "2",
diff --git a/tests/hwsim/test_ap_vht.py b/tests/hwsim/test_ap_vht.py
index 358e192de64f..2b691ff71025 100644
--- a/tests/hwsim/test_ap_vht.py
+++ b/tests/hwsim/test_ap_vht.py
@@ -361,6 +361,7 @@ def test_ap_vht160(dev, apdev):
                   "hw_mode": "a",
                   "channel": "36",
                   "ht_capab": "[HT40+]",
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "2",
@@ -436,6 +437,7 @@ def test_ap_vht160b(dev, apdev):
                   "hw_mode": "a",
                   "channel": "104",
                   "ht_capab": "[HT40-]",
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "2",
@@ -538,6 +540,7 @@ def run_ap_vht160_no_dfs(dev, apdev, channel, ht_capab):
                   "hw_mode": "a",
                   "channel": channel,
                   "ht_capab": ht_capab,
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "2",
@@ -550,7 +553,7 @@ def run_ap_vht160_no_dfs(dev, apdev, channel, ht_capab):
             cmd = subprocess.Popen(["iw", "reg", "get"], stdout=subprocess.PIPE)
             reg = cmd.stdout.readlines()
             for r in reg:
-                if "5490" in r and "DFS" in r:
+                if b"5490" in r and b"DFS" in r:
                     raise HwsimSkip("ZA regulatory rule did not have DFS requirement removed")
             raise Exception("AP setup timed out")
 
@@ -616,6 +619,7 @@ def test_ap_vht80plus80(dev, apdev):
                   "hw_mode": "a",
                   "channel": "52",
                   "ht_capab": "[HT40+]",
+                  "vht_capab": "[VHT160-80PLUS80]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "3",
@@ -633,6 +637,7 @@ def test_ap_vht80plus80(dev, apdev):
                   "hw_mode": "a",
                   "channel": "36",
                   "ht_capab": "[HT40+]",
+                  "vht_capab": "[VHT160-80PLUS80]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "3",
diff --git a/tests/hwsim/test_he.py b/tests/hwsim/test_he.py
index ce31992905a0..28123e853ca1 100644
--- a/tests/hwsim/test_he.py
+++ b/tests/hwsim/test_he.py
@@ -428,6 +428,7 @@ def test_he160(dev, apdev):
                   "hw_mode": "a",
                   "channel": "36",
                   "ht_capab": "[HT40+]",
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "ieee80211ax": "1",
@@ -500,6 +501,7 @@ def test_he160b(dev, apdev):
                   "hw_mode": "a",
                   "channel": "104",
                   "ht_capab": "[HT40-]",
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "ieee80211ax": "1",
@@ -605,6 +607,7 @@ def run_ap_he160_no_dfs(dev, apdev, channel, ht_capab):
                   "hw_mode": "a",
                   "channel": channel,
                   "ht_capab": ht_capab,
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "ieee80211ax": "1",
@@ -620,7 +623,7 @@ def run_ap_he160_no_dfs(dev, apdev, channel, ht_capab):
             cmd = subprocess.Popen(["iw", "reg", "get"], stdout=subprocess.PIPE)
             reg = cmd.stdout.readlines()
             for r in reg:
-                if "5490" in r and "DFS" in r:
+                if b"5490" in r and b"DFS" in r:
                     raise HwsimSkip("ZA regulatory rule did not have DFS requirement removed")
             raise Exception("AP setup timed out")
 
@@ -689,6 +692,7 @@ def test_he80plus80(dev, apdev):
                   "hw_mode": "a",
                   "channel": "52",
                   "ht_capab": "[HT40+]",
+                  "vht_capab": "[VHT160-80PLUS80]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "ieee80211ax": "1",
@@ -710,6 +714,7 @@ def test_he80plus80(dev, apdev):
                   "hw_mode": "a",
                   "channel": "36",
                   "ht_capab": "[HT40+]",
+                  "vht_capab": "[VHT160-80PLUS80]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "ieee80211ax": "1",
diff --git a/tests/hwsim/test_ocv.py b/tests/hwsim/test_ocv.py
index 1f185d7e906a..69e76762b8d7 100644
--- a/tests/hwsim/test_ocv.py
+++ b/tests/hwsim/test_ocv.py
@@ -259,6 +259,7 @@ def run_wpa2_ocv_vht160(dev, apdev):
                   "channel": channel,
                   "country_code": "ZA",
                   "ht_capab": capab,
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "2",
@@ -301,6 +302,7 @@ def run_wpa2_ocv_vht80plus80(dev, apdev):
                   "channel": channel,
                   "country_code": "US",
                   "ht_capab": capab,
+                  "vht_capab": "[VHT160-80PLUS80]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "3",
diff --git a/tests/hwsim/test_rrm.py b/tests/hwsim/test_rrm.py
index 2b43c4c5914c..b9de82de577b 100644
--- a/tests/hwsim/test_rrm.py
+++ b/tests/hwsim/test_rrm.py
@@ -1729,6 +1729,7 @@ def test_rrm_beacon_req_passive_scan_vht160(dev, apdev):
                   "hw_mode": "a",
                   "channel": "104",
                   "ht_capab": "[HT40-]",
+                  "vht_capab": "[VHT160]",
                   "ieee80211n": "1",
                   "ieee80211ac": "1",
                   "vht_oper_chwidth": "2",

johannes


  reply	other threads:[~2020-05-28 17:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28 14:49 [PATCH 01/24] nl80211: really allow client-only BIGTK support Johannes Berg
2020-05-28 14:49 ` [PATCH 02/24] cfg80211: add a helper to identify 6 GHz PSCs Johannes Berg
2020-05-28 14:49 ` [PATCH 03/24] ieee80211: definitions for reduced neighbor reports Johannes Berg
2020-05-28 14:50 ` [PATCH 04/24] ieee80211: add code to obtain and parse 6 GHz operation field Johannes Berg
2020-05-28 14:50 ` [PATCH 05/24] ieee80211: add HE ext EIDs and 6 GHz capability defines Johannes Berg
2020-05-28 14:50 ` [PATCH 06/24] cfg80211: handle 6 GHz capability of new station Johannes Berg
2020-05-28 14:50 ` [PATCH 07/24] mac80211: add HE 6 GHz Band Capabilities into parse extension Johannes Berg
2020-05-28 14:50 ` [PATCH 08/24] cfg80211: add and expose HE 6 GHz band capabilities Johannes Berg
2020-05-28 14:50 ` [PATCH 09/24] mac80211: add HE 6 GHz Band Capability element Johannes Berg
2020-05-28 14:50 ` [PATCH 10/24] mac80211: build HE operation with 6 GHz oper information Johannes Berg
2020-05-28 14:50 ` [PATCH 11/24] mac80211: do not allow HT/VHT IEs in 6 GHz mesh mode Johannes Berg
2020-05-28 14:50 ` [PATCH 12/24] mac80211: avoid using ext NSS high BW if not supported Johannes Berg
2020-05-28 17:50   ` Johannes Berg [this message]
2020-05-28 17:53     ` Johannes Berg
2020-05-28 14:50 ` [PATCH 13/24] mac80211: determine chandef from HE 6 GHz operation Johannes Berg
2020-05-28 14:50 ` [PATCH 14/24] mac80211: check the correct bit for EMA AP Johannes Berg
2020-05-28 14:50 ` [PATCH 15/24] mac80211: use HE 6 GHz band capability and pass it to the driver Johannes Berg
2020-05-28 14:50 ` [PATCH 16/24] mac80211: Add HE 6GHz capabilities element to probe request Johannes Berg
2020-05-28 14:50 ` [PATCH 17/24] cfg80211: treat 6 GHz channels as valid regardless of capability Johannes Berg
2020-05-28 14:50 ` [PATCH 18/24] cfg80211: reject HT/VHT capabilities on 6 GHz band Johannes Berg
2020-05-28 14:50 ` [PATCH 19/24] cfg80211: require HE capabilities for " Johannes Berg
2020-05-28 14:50 ` [PATCH 20/24] cfg80211: Update 6GHz starting frequency Johannes Berg
2020-05-28 14:50 ` [PATCH 21/24] mac80211: accept aggregation sessions on 6 GHz Johannes Berg
2020-05-28 14:50 ` [PATCH 22/24] mac80211: Consider 6 GHz band when handling power constraint Johannes Berg
2020-05-28 14:50 ` [PATCH 23/24] mac80211: set short_slot for 6 GHz band Johannes Berg
2020-05-28 14:50 ` [PATCH 24/24] nl80211/cfg80211: support 6 GHz scanning Johannes Berg
2020-05-29 19:56   ` kbuild test robot
2020-05-28 16:39 ` [PATCH 01/24] nl80211: really allow client-only BIGTK support Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d8fe8e99def9c17099e98e3d467b259ee4229fcf.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=j@w1.fi \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pradeepc@codeaurora.org \
    --cc=rmanohar@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.