@@ -57,6 +57,7 @@ class Host():
self.ifname = ifname
self.port = port
self.dev = None
+ self.monitor_params = []
if self.name == "" and host != None:
self.name = host
@@ -26,7 +26,8 @@ def create(devices, setup_params, refs, duts, monitors):
mons.append(monitor)
for mon in mons:
- dev = config.get_device(devices, mon)
+ word = mon.split(":")
+ dev = config.get_device(devices, word[0])
if dev is None:
continue
@@ -35,6 +36,15 @@ def create(devices, setup_params, refs, duts, monitors):
port=dev['port'],
name=dev['name'])
+ for iface_param in word[1:]:
+ params = iface_param.split(",")
+ if len(params) > 3:
+ monitor_param = { "freq" : rutils.c2f(params[0]),
+ "bw" : params[1],
+ "center_freq1" : rutils.c2f(params[2]),
+ "center_freq2" : rutils.c2f(params[3]) }
+ host.monitor_params.append(monitor_param)
+
try:
host.execute(["iw", "reg", "set", setup_params['country']])
rutils.setup_hw_host(host, setup_params, True)
@@ -49,11 +59,15 @@ def destroy(devices, hosts):
stop(host)
for monitor in host.monitors:
host.execute(["ifconfig", monitor, "down"])
+ host.monitor_params = []
-def setup(host, monitor_params):
+def setup(host, monitor_params = None):
if host is None:
return
+ if monitor_params == None:
+ monitor_params = host.monitor_params
+
ifaces = re.split('; | |, ', host.ifname)
count = 0
for param in monitor_params:
This is mainly for standalone monitor in case we know and would like to setup specyfic monitor configuration. -m monitor:<chan>,<bw>, <cf1>, <cf2>:... eg: -m monitor:1,40,3,0 -m e4300:1,40,3,0:11,40,9,0 This also support monitor with multiple interfaces (one pcap). Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com> --- tests/hwsim/remotehost.py | 1 + tests/remote/monitor.py | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-)