tests: kernel: Add test for regulatory disconnect in cfg80211
Add a test for regulatory disconnect, since that was broken for quite a while in various ways. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
0b5d111653
commit
a40f64a198
1 changed files with 23 additions and 1 deletions
|
@ -8,10 +8,11 @@
|
||||||
|
|
||||||
import hostapd
|
import hostapd
|
||||||
import binascii
|
import binascii
|
||||||
import os
|
import os, time
|
||||||
import struct
|
import struct
|
||||||
from test_wnm import expect_ack
|
from test_wnm import expect_ack
|
||||||
from tshark import run_tshark
|
from tshark import run_tshark
|
||||||
|
from utils import clear_regdom, long_duration_test
|
||||||
|
|
||||||
def _test_kernel_bss_leak(dev, apdev, deauth):
|
def _test_kernel_bss_leak(dev, apdev, deauth):
|
||||||
ssid = "test-bss-leak"
|
ssid = "test-bss-leak"
|
||||||
|
@ -126,3 +127,24 @@ def test_kernel_unknown_action_frame_rejection_sta(dev, apdev, params):
|
||||||
raise Exception("Unexpected Action frame rejection: " + str(categ))
|
raise Exception("Unexpected Action frame rejection: " + str(categ))
|
||||||
if 0xf0 not in categ or 0xf4 not in categ:
|
if 0xf0 not in categ or 0xf4 not in categ:
|
||||||
raise Exception("Action frame rejection missing: " + str(categ))
|
raise Exception("Action frame rejection missing: " + str(categ))
|
||||||
|
|
||||||
|
@long_duration_test
|
||||||
|
def test_kernel_reg_disconnect(dev, apdev):
|
||||||
|
"""Connect and force disconnect via regulatory"""
|
||||||
|
hapd = None
|
||||||
|
try:
|
||||||
|
ssid = "test-reg-disconnect"
|
||||||
|
passphrase = 'qwertyuiop'
|
||||||
|
params = hostapd.wpa2_params(ssid=ssid, passphrase=passphrase)
|
||||||
|
params["country_code"] = "DE"
|
||||||
|
params["hw_mode"] = "b"
|
||||||
|
params["channel"] = "13"
|
||||||
|
hapd = hostapd.add_ap(apdev[0], params)
|
||||||
|
dev[0].set("country", "DE")
|
||||||
|
dev[0].connect(ssid, psk=passphrase, scan_freq="2472")
|
||||||
|
dev[0].set("country", "US")
|
||||||
|
time.sleep(61)
|
||||||
|
dev[0].wait_disconnected(error="no regulatory disconnect")
|
||||||
|
finally:
|
||||||
|
dev[0].request("DISCONNECT")
|
||||||
|
clear_regdom(hapd, dev)
|
||||||
|
|
Loading…
Reference in a new issue