From d52cce510db9068f5a12daed78f257b64d247a6d Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Mon, 16 Aug 2021 22:49:36 -0500 Subject: [PATCH] Add fallback serial open logic to hopefully cure serial port open error with K4 https://github.com/Hamlib/Hamlib/issues/768 --- src/serial.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/serial.c b/src/serial.c index af7aa518f..dca8c78c8 100644 --- a/src/serial.c +++ b/src/serial.c @@ -225,6 +225,21 @@ int HAMLIB_API serial_open(hamlib_port_t *rp) * Open in Non-blocking mode. Watch for EAGAIN errors! */ fd = OPEN(rp->pathname, O_RDWR | O_NOCTTY | O_NDELAY); + if (fd == -1) + { + rig_debug(RIG_DEBUG_WARN, "%s: open failed...trying withoud O_NOCTTY\n", __func__); + fd = OPEN(rp->pathname, O_RDWR | O_NDELAY); + } + if (fd == -1) + { + rig_debug(RIG_DEBUG_WARN, "%s: open failed...trying withoud O_NDELAY\n", __func__); + fd = OPEN(rp->pathname, O_RDWR | O_NOCTTY ); + } + if (fd == -1) + { + rig_debug(RIG_DEBUG_WARN, "%s: open failed...trying withoud O_NDELAY and O_NOCTTY\n", __func__); + fd = OPEN(rp->pathname, O_RDWR); + } if (fd == -1) {