diff --git a/trezorctl b/trezorctl index baa851a..362255e 100755 --- a/trezorctl +++ b/trezorctl @@ -65,15 +65,9 @@ def get_transport(transport_string, path, **kwargs): if transport_string == 'usb': from trezorlib.transport_hid import HidTransport - if path == '': - try: - path = list_usb()[0][0] - except IndexError: - raise Exception("No TREZOR found on USB") - for d in HidTransport.enumerate(): # Two-tuple of (normal_interface, debug_interface) - if path in d: + if path == '' or path in d: return HidTransport(d, **kwargs) raise Exception("Device not found") @@ -88,7 +82,13 @@ def get_transport(transport_string, path, **kwargs): if transport_string == 'bridge': from trezorlib.transport_bridge import BridgeTransport - return BridgeTransport({'path': path}, **kwargs) + + devices = BridgeTransport.enumerate() + for d in devices: + if path == '' or d['path'] == binascii.hexlify(path): + return BridgeTransport(d, **kwargs) + + raise Exception("Device not found") raise NotImplementedError("Unknown transport") diff --git a/trezorlib/transport_bridge.py b/trezorlib/transport_bridge.py index 8a5db24..f36b696 100644 --- a/trezorlib/transport_bridge.py +++ b/trezorlib/transport_bridge.py @@ -2,7 +2,6 @@ import json import requests -import binascii from . import protobuf_json from . import messages_pb2 as proto from .transport import TransportV1 @@ -17,7 +16,7 @@ class BridgeTransport(TransportV1): def __init__(self, device, *args, **kwargs): self.configure() - self.path = binascii.hexlify(device['path']) + self.path = device['path'] self.session = None self.response = None