The problem occurs when using the USB serial port. I am running Linux (Fedora 31). And it seems like a YAAC problem because it is the only software where I have experienced this behavior. Sometimes the behavior is normal, sometimes not. I found that I can connect/disconnect using a terminal program that behaves properly (such as minicom or cutecom) to have it reset the DTR on disconnect and return the TNC to a sane state.
This seems to be a potential fix for the issue. https://sources.debian.org/patches/rxtx/2.2pre2+dfsg1-2/usb_38400.patch/
Note that termios(3) says this: The actual bit rate corresponding to B38400 may be altered with setserial(8). After looking at the code, my hunch is that the termios struct is not zeroed out, leaving garbage in the custom divisor. When B38400 is passed, the kernel tries to construct a baud rate using the garbage in the custom divisor field and fails.
Log file attached. Relevant information seems to be: Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:211) at org.ka2ddo.yaac.io.SerialTNCConnector.configure(SerialTNCConnector.java:160) Googling for "RXTXPort.java:211" returns a lot of results, many of the related to 38400 baud rate.
DTR Handling Seems Screwy on Linux
Linux TTY Locking Needs Update
Mobilinkd NucleoTNC Fails to Connect at 38400 Baud
I tried the above patch and it does not work for me. The attached patch works for me. Personally, I would rather override the timeout on the command line. This at least works, but it is very slow to write.