summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/mpremote/mpremote/transport_serial.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/mpremote/mpremote/transport_serial.py b/tools/mpremote/mpremote/transport_serial.py
index eccdd4c1e..b3584945b 100644
--- a/tools/mpremote/mpremote/transport_serial.py
+++ b/tools/mpremote/mpremote/transport_serial.py
@@ -38,7 +38,7 @@
import ast, io, os, re, struct, sys, time
import serial
import serial.tools.list_ports
-from errno import EPERM
+from errno import EPERM, ENOTTY
from .console import VT_ENABLED
from .transport import TransportError, TransportExecError, Transport
@@ -107,8 +107,15 @@ class SerialTransport(Transport):
def close(self):
# ESP Windows quirk: Prevent target from resetting when Windows clears DTR before RTS
- self.serial.rts = False
- self.serial.dtr = False
+ try:
+ self.serial.rts = False
+ self.serial.dtr = False
+ except OSError as er:
+ if er.errno == ENOTTY:
+ # Some devices (like QEMU pts) don't support RTS/DTR control
+ pass
+ else:
+ raise er
self.serial.close()
def read_until(