autotest: Add tx bitrate and rx bitrate support to IwRunner.
Jetstream performance needs support for txbitrate and rxbitrate
station dump in Iwrunner.
BUG=None
TEST=Verified on jetstream devices.
Change-Id: Idef505f769ca0fddfee39c69a8b77cd6c6c8ca66
Reviewed-on: https://chromium-review.googlesource.com/511163
Commit-Ready: VIKRAM HIREHAL <vhirehal@google.com>
Tested-by: VIKRAM HIREHAL <vhirehal@google.com>
Reviewed-by: Brian Norris <briannorris@chromium.org>
diff --git a/client/common_lib/cros/network/iw_runner.py b/client/common_lib/cros/network/iw_runner.py
index f3607d4..580393d 100644
--- a/client/common_lib/cros/network/iw_runner.py
+++ b/client/common_lib/cros/network/iw_runner.py
@@ -76,6 +76,8 @@
IW_LINK_KEY_DTIM_PERIOD = 'dtim period'
IW_LINK_KEY_FREQUENCY = 'freq'
IW_LINK_KEY_SIGNAL = 'signal'
+IW_LINK_KEY_RX_BITRATE = 'rx bitrate'
+IW_LINK_KEY_TX_BITRATE = 'tx bitrate'
IW_LOCAL_EVENT_LOG_FILE = './debug/iw_event_%d.log'
@@ -358,12 +360,17 @@
for peer in peer_list_raw:
peer_link_keys = _get_all_link_keys(peer)
rssi_str = peer_link_keys[IW_LINK_KEY_SIGNAL]
+ tx_bitrate = peer_link_keys.get(IW_LINK_KEY_TX_BITRATE)
+ # Station may not have rx_bitrate in station dump
+ rx_bitrate = peer_link_keys.get(IW_LINK_KEY_RX_BITRATE)
rssi_int = int(rssi_str.split()[0])
mac = _extract_bssid(link_information=peer,
interface_name=interface,
station_dump=True)
parsed_peer_info.append({'rssi_int': rssi_int,
'rssi_str': rssi_str,
+ 'tx_bitrate': tx_bitrate,
+ 'rx_bitrate': rx_bitrate,
'mac': mac})
return sorted(parsed_peer_info, key=operator.itemgetter('mac'))
diff --git a/client/common_lib/cros/network/iw_runner_unittest.py b/client/common_lib/cros/network/iw_runner_unittest.py
index 55ecf20..e93c81a 100755
--- a/client/common_lib/cros/network/iw_runner_unittest.py
+++ b/client/common_lib/cros/network/iw_runner_unittest.py
@@ -218,11 +218,39 @@
' WMM/WME: yes\n'
' MFP: yes\n'
' TDLS peer: no\n'
- ' connected time: 8724 seconds\n')
+ ' connected time: 8724 seconds\n'
+ 'Station ff:aa:bb:aa:44:55 (on mesh-5000mhz)\n'
+ ' inactive time: 304 ms\n'
+ ' rx bytes: 18816\n'
+ ' rx packets: 75\n'
+ ' tx bytes: 5386\n'
+ ' tx packets: 21\n'
+ ' signal: -29 dBm\n'
+ ' tx bitrate: 65.0 MBit/s VHT-MCS 0 80MHz short GI VHT-NSS 2\n'
+ ' mesh llid: 0\n'
+ ' mesh plid: 0\n'
+ ' mesh plink: ESTAB\n'
+ ' mesh local PS mode: ACTIVE\n'
+ ' mesh peer PS mode: ACTIVE\n'
+ ' mesh non-peer PS mode: ACTIVE\n'
+ ' authorized: yes\n'
+ ' authenticated: yes\n'
+ ' preamble: long\n'
+ ' WMM/WME: yes\n'
+ ' MFP: yes\n'
+ ' TDLS peer: no\n'
+ ' connected time: 824 seconds\n')
STATION_DUMP_INFORMATION_PARSED = [
- {'mac': 'aa:bb:cc:00:11:22', 'rssi_str': '-21 dBm', 'rssi_int': -21},
- {'mac': 'dd:ee:ff:33:44:55', 'rssi_str': '-4 dBm', 'rssi_int': -4},
+ {'mac': 'aa:bb:cc:00:11:22', 'rssi_str': '-21 dBm', 'rssi_int': -21,
+ 'tx_bitrate': '866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2',
+ 'rx_bitrate': '650.0 MBit/s VHT-MCS 7 80MHz short GI VHT-NSS 2'},
+ {'mac': 'dd:ee:ff:33:44:55', 'rssi_str': '-4 dBm', 'rssi_int': -4,
+ 'tx_bitrate': '866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2',
+ 'rx_bitrate': '866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2'},
+ {'mac': 'ff:aa:bb:aa:44:55', 'rssi_str': '-29 dBm', 'rssi_int': -29,
+ 'tx_bitrate': '65.0 MBit/s VHT-MCS 0 80MHz short GI VHT-NSS 2',
+ 'rx_bitrate': None},
]
STATION_DUMP_IFACE = 'mesh-5000mhz'