tests: DTIM period configuration
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
cde2143c21
commit
0447ef6cd5
1 changed files with 29 additions and 1 deletions
|
@ -8,12 +8,14 @@ from remotehost import remote_compatible
|
|||
import logging
|
||||
logger = logging.getLogger()
|
||||
import os
|
||||
import struct
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
import hwsim_utils
|
||||
import hostapd
|
||||
from tshark import run_tshark
|
||||
from utils import alloc_fail, HwsimSkip
|
||||
from utils import alloc_fail, HwsimSkip, parse_ie
|
||||
|
||||
@remote_compatible
|
||||
def test_ap_fragmentation_rts_set_high(dev, apdev):
|
||||
|
@ -610,3 +612,29 @@ def test_ap_eapol_version(dev, apdev):
|
|||
raise Exception("Unexpected default eapol_version: " + ver1)
|
||||
if ver2 != "01":
|
||||
raise Exception("eapol_version did not match configuration: " + ver2)
|
||||
|
||||
def test_ap_dtim_period(dev, apdev):
|
||||
"""DTIM period configuration"""
|
||||
ssid = "dtim-period"
|
||||
params = { 'ssid': ssid, 'dtim_period': "10" }
|
||||
hapd = hostapd.add_ap(apdev[0], params)
|
||||
bssid = hapd.own_addr()
|
||||
dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412")
|
||||
for i in range(10):
|
||||
dev[0].scan(freq="2412")
|
||||
bss = dev[0].get_bss(bssid)
|
||||
if 'beacon_ie' in bss:
|
||||
break
|
||||
time.sleep(0.2)
|
||||
if 'beacon_ie' not in bss:
|
||||
raise Exception("Did not find Beacon IEs")
|
||||
|
||||
ie = parse_ie(bss['beacon_ie'])
|
||||
if 5 not in ie:
|
||||
raise Exception("TIM element missing")
|
||||
count, period = struct.unpack('BB', ie[5][0:2])
|
||||
logger.info("DTIM count %d DTIM period %d" % (count, period))
|
||||
if period != 10:
|
||||
raise Exception("Unexpected DTIM period: %d" % period)
|
||||
if count >= period:
|
||||
raise Exception("Unexpected DTIM count: %d" % count)
|
||||
|
|
Loading…
Reference in a new issue