diff --git a/python/src/trezorlib/debuglink.py b/python/src/trezorlib/debuglink.py index 99835efbdc..fa00b50a4c 100644 --- a/python/src/trezorlib/debuglink.py +++ b/python/src/trezorlib/debuglink.py @@ -1232,7 +1232,8 @@ class TrezorClientDebugLink(TrezorClient): if open_transport: self.debug.open() # try to open debuglink, see if it works - assert self.debug.transport.ping() + assert self.debug.transport.ping(), (self.debug.transport, debug_transport) + print("OK"*50) except Exception: if not auto_interact: self.debug = NullDebugLink() diff --git a/python/src/trezorlib/transport/emu_ble.py b/python/src/trezorlib/transport/emu_ble.py index 1cab022148..6c54488f85 100644 --- a/python/src/trezorlib/transport/emu_ble.py +++ b/python/src/trezorlib/transport/emu_ble.py @@ -229,8 +229,8 @@ class EmuBleTransport(Transport): try: self.event_socket.sendall(Event.new(EventType.EMULATOR_PING).build()) resp = self.read_command() - except Exception: - pass + except Exception as e: + print("Ping failed:", e) return (resp is not None) and (resp.command_type == CommandType.EMULATOR_PONG) def ble_connected(self) -> None: @@ -256,6 +256,7 @@ class EmuBleTransport(Transport): assert self.event_socket is not None try: data = self.event_socket.recv(64) - except TimeoutError: + except TimeoutError as e: + print("Timeout:", e) return None return Command.parse(data) diff --git a/python/src/trezorlib/transport/udp.py b/python/src/trezorlib/transport/udp.py index b276f5900b..be259edc9a 100644 --- a/python/src/trezorlib/transport/udp.py +++ b/python/src/trezorlib/transport/udp.py @@ -27,7 +27,7 @@ from . import Timeout, Transport, TransportException if TYPE_CHECKING: from ..models import TrezorModel -SOCKET_TIMEOUT = 0.1 +SOCKET_TIMEOUT = 10 LOG = logging.getLogger(__name__) @@ -99,6 +99,7 @@ class UdpTransport(Transport): self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.socket.connect(self.device) self.socket.settimeout(SOCKET_TIMEOUT) + LOG.info("timeout: %s", self.socket.gettimeout()) def close(self) -> None: if self.socket is not None: @@ -151,8 +152,11 @@ class UdpTransport(Transport): assert self.socket is not None resp = None try: + LOG.info("sending ping") self.socket.sendall(b"PINGPING") resp = self.socket.recv(8) - except Exception: - pass + print("Pong:", resp) + except Exception as e: + print("Ping failed:", e) + LOG.info("ping is over: %s", self.socket.gettimeout()) return resp == b"PONGPONG" diff --git a/tests/device_handler.py b/tests/device_handler.py index 9edf0b560d..20cb2f1577 100644 --- a/tests/device_handler.py +++ b/tests/device_handler.py @@ -18,7 +18,7 @@ if t.TYPE_CHECKING: P = tx.ParamSpec("P") -udp.SOCKET_TIMEOUT = 0.1 +udp.SOCKET_TIMEOUT = 1 class NullUI: