|
@@ -581,3 +581,33 @@ def test_prefer_vht40(dev, apdev):
|
|
|
hapd2.request("DISABLE")
|
|
|
subprocess.call(['iw', 'reg', 'set', '00'])
|
|
|
dev[0].flush_scan_cache()
|
|
|
+
|
|
|
+def test_ap_vht80_pwr_constraint(dev, apdev):
|
|
|
+ """VHT with 80 MHz channel width and local power constraint"""
|
|
|
+ hapd = None
|
|
|
+ try:
|
|
|
+ params = { "ssid": "vht",
|
|
|
+ "country_code": "FI",
|
|
|
+ "hw_mode": "a",
|
|
|
+ "channel": "36",
|
|
|
+ "ht_capab": "[HT40+]",
|
|
|
+ "ieee80211d": "1",
|
|
|
+ "local_pwr_constraint": "3",
|
|
|
+ "ieee80211n": "1",
|
|
|
+ "ieee80211ac": "1",
|
|
|
+ "vht_oper_chwidth": "1",
|
|
|
+ "vht_oper_centr_freq_seg0_idx": "42" }
|
|
|
+ hapd = hostapd.add_ap(apdev[0]['ifname'], params)
|
|
|
+
|
|
|
+ dev[0].connect("vht", key_mgmt="NONE", scan_freq="5180")
|
|
|
+ except Exception, e:
|
|
|
+ if isinstance(e, Exception) and str(e) == "AP startup failed":
|
|
|
+ if not vht_supported():
|
|
|
+ raise HwsimSkip("80 MHz channel not supported in regulatory information")
|
|
|
+ raise
|
|
|
+ finally:
|
|
|
+ dev[0].request("DISCONNECT")
|
|
|
+ if hapd:
|
|
|
+ hapd.request("DISABLE")
|
|
|
+ subprocess.call(['iw', 'reg', 'set', '00'])
|
|
|
+ dev[0].flush_scan_cache()
|