From 68385c8d0c6ebd1baea163a3b530fbdd1170ee49 Mon Sep 17 00:00:00 2001 From: Enrico Joerns Date: Thu, 1 Mar 2018 13:53:48 +0100 Subject: [PATCH] remote/client: add 'sd-mux' paramter to switch USB-SD-Mux via labgrid Signed-off-by: Enrico Joerns --- labgrid/remote/client.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/labgrid/remote/client.py b/labgrid/remote/client.py index c133761a0..aac158310 100755 --- a/labgrid/remote/client.py +++ b/labgrid/remote/client.py @@ -710,6 +710,25 @@ def bootstrap(self): target.activate(drv) drv.load(self.args.filename) + def sd_mux(self): + place = self.get_acquired_place() + action = self.args.action + target = self._get_target(place) + from ..driver.usbsdmuxdriver import USBSDMuxDriver + from ..resource.remote import NetworkUSBSDMuxDevice + drv = None + for resource in target.resources: + if isinstance(resource, NetworkUSBSDMuxDevice): + try: + drv = target.get_driver(USBSDMuxDriver) + except NoDriverFoundError: + drv = USBSDMuxDriver(target, name=None) + break + if not drv: + raise UserError("target has no compatible resource available") + target.activate(drv) + drv.set_mode(action) + def _get_ip(self, place): target = self._get_target(place) from ..resource import EthernetPort @@ -970,6 +989,11 @@ def main(): ) subparser.set_defaults(func=ClientSession.bootstrap) + subparser = subparsers.add_parser('sd-mux', + help="Switch USB SD Muxer") + subparser.add_argument('action', choices=['dut', 'host', 'off', 'client']) + subparser.set_defaults(func=ClientSession.sd_mux) + subparser = subparsers.add_parser('ssh', help="connect via ssh (with optional arguments)") subparser.set_defaults(func=ClientSession.ssh)