From 080035d1db1215c7879516119b2d1bfc719cd773 Mon Sep 17 00:00:00 2001 From: Beni Lev Date: Mon, 21 Aug 2017 19:43:54 +0300 Subject: [PATCH] tests: Add a command for setting TX power/RSSI With this command, RSSI signal can be controlled. Due to restrictions in kernel, only values in the range of [-30, -50] can be used. The command is implemented by changing the TX power. Signed-off-by: Beni Lev --- tests/hwsim/hwsim_utils.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/hwsim/hwsim_utils.py b/tests/hwsim/hwsim_utils.py index 84f87a5a3..718d53f46 100644 --- a/tests/hwsim/hwsim_utils.py +++ b/tests/hwsim/hwsim_utils.py @@ -238,3 +238,20 @@ def set_group_map(dev, val): (res, data) = dev.cmd_execute(["echo", data, ">", fname], shell=True) if res != 0: raise Exception("Failed to set group map for %s" % phy) + +def set_rx_rssi(dev, val): + """ + Configure signal strength when receiving transmitted frames. + mac80211_hwsim driver sets rssi to: TX power - 50 + According to that set tx_power in order to get the desired RSSI. + Valid RSSI range: -50 to -30. + """ + tx_power = (val + 50) * 100 + ifname = dev.get_driver_status_field("ifname") + (res, data) = dev.cmd_execute([ 'iw', ifname, 'set', 'txpower', + 'fixed', str(tx_power)] ) + if res != 0: + raise Exception("Failed to set RSSI to %d" % val) + +def reset_rx_rssi(dev): + set_rx_rssi(dev, -30)