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 <beni.lev@intel.com>
This commit is contained in:
Beni Lev 2017-08-21 19:43:54 +03:00 committed by Jouni Malinen
parent 076f1ea1d9
commit 080035d1db

View file

@ -238,3 +238,20 @@ def set_group_map(dev, val):
(res, data) = dev.cmd_execute(["echo", data, ">", fname], shell=True) (res, data) = dev.cmd_execute(["echo", data, ">", fname], shell=True)
if res != 0: if res != 0:
raise Exception("Failed to set group map for %s" % phy) 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)