Subject: The infernal com driver revisited (take 4)
To: None <port-i386@NetBSD.ORG>
From: Charles M. Hannum <mycroft@mit.edu>
List: port-i386
Date: 01/25/1997 10:28:20
I've just put up yet another snapshot of the com driver.  This should
fix MDMBUF handling and several more obscure problems.

ftp://ftp.netbsd.org/pub/NetBSD/arch/i386/com-970125-09.shar.gz

Note that this shar file introduces a patch to kern/tty.c, which is
necessary to make MDMBUF work in both directions.


The functionality of the driver is almost finished.  There are two
remaining problems to address:

* comparam() needs to deal better with changing flow control types.
Right now, if you switch between MDMBUF and CRTSCTS, the port could be
left in an incorrect state, possibly causing a lockup.

* Fixing a bug for this snapshot has introduced an incompatibility
with kermit.  Basically, if we have carrier detection enabled and we
lose DCD, then we drop DTR.  If a program wants to continue using the
port, it must either close and reopen it, or set CLOCAL mode and then
do a TIOCSDTR.  kermit tries to continue using the port after just
setting CLOCAL, and thus fails if the device on the other end is
waiting for carrier.  It's unclear whether or not we should be
clearing DTR in this case, but that seems to be what the majority of
existing systems do.

I probably won't be working on it at all this weekend, as our annual
science fiction marathon starts tonight.  I'll try to release another
snapshot that fixes #1 on Monday morning.