summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGirish Moturu <gmoturu@google.com>2019-07-27 12:03:17 -0700
committerGirish Moturu <gmoturu@google.com>2019-07-29 12:03:36 -0700
commitd8377f90f1f39e48ffd6834980c983f1de3eb181 (patch)
tree07908a938e5944ccc5f963d2aada0f9e74759385
parent7a93394b3c286b9bc26a64ee860acc19d14db96b (diff)
downloadconnectivity-d8377f90f1f39e48ffd6834980c983f1de3eb181.tar.gz
[packet_capture] Changes to use Gale APs as PCAPs
Gale APs has only 2 phy interfaces each supporting 2G and 5G bands. It doesn't have phy2 interface with dual bands to support scanning wifi networks like in onHubs. Added changes to skip setting up managed interface Cherry picked changes from aosp Exempt-From-Owner-Approval: Submitted in aosp. These are cherry picked to qt-dev Bug: 138591584 Test: Verified the changes Change-Id: Icf5211a8789388d39878c717f68dd3ac418874ad Merged-In: Icf29080a1834f814684bc69a865b10d4824ba0a7
-rwxr-xr-xacts/framework/acts/controllers/packet_capture.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/acts/framework/acts/controllers/packet_capture.py b/acts/framework/acts/controllers/packet_capture.py
index 828c2fe5a..d10ffadce 100755
--- a/acts/framework/acts/controllers/packet_capture.py
+++ b/acts/framework/acts/controllers/packet_capture.py
@@ -106,7 +106,12 @@ class PacketCapture(object):
self._create_interface(MON_2G, 'monitor')
self._create_interface(MON_5G, 'monitor')
- self._create_interface(SCAN_IFACE, 'managed')
+ self.managed_mode = True
+ result = self.ssh.run('ifconfig -a', ignore_status=True)
+ if result.stderr or SCAN_IFACE not in result.stdout:
+ self.managed_mode = False
+ if self.managed_mode:
+ self._create_interface(SCAN_IFACE, 'managed')
self.pcap_properties = dict()
self._pcap_stop_lock = threading.Lock()
@@ -116,6 +121,8 @@ class PacketCapture(object):
Create mon0/mon1 for 2G/5G monitor mode and wlan2 for managed mode.
"""
+ if mode == 'monitor':
+ self.ssh.run('ifconfig wlan%s down' % iface[-1], ignore_status=True)
self.ssh.run('iw dev %s del' % iface, ignore_status=True)
self.ssh.run('iw phy%s interface add %s type %s'
% (iface[-1], iface, mode), ignore_status=True)
@@ -171,6 +178,8 @@ class PacketCapture(object):
Returns:
List of dictionaries each representing a found network.
"""
+ if not self.managed_mode:
+ raise PacketCaptureError('Managed mode not setup')
result = self.ssh.run('iw dev %s scan' % SCAN_IFACE)
if result.stderr:
raise PacketCaptureError('Failed to get scan dump')