aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/si/si.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2000-01-25 16:45:54 +0000
committerPeter Wemm <peter@FreeBSD.org>2000-01-25 16:45:54 +0000
commit931e989797305e4967a74adb4a88779f14be7f3b (patch)
tree605794199af4a0ae5cadd82e4ec37a7abf552250 /sys/dev/si/si.c
parent0cac72f42c2f9dfe7953cb3dd7c2e93d1d0c61cf (diff)
downloadsrc-931e989797305e4967a74adb4a88779f14be7f3b.tar.gz
src-931e989797305e4967a74adb4a88779f14be7f3b.zip
Always leave SP_DCEN on (monitor DCD). Otherwise the firmware *really*
does ignore DCD. Even TIOCMGET cannot read DCD as the firmware doesn't report it. This has pretty interesting effects for ppp(8) which runs in clocal mode and polls carrier (!). (Specialix's linux driver does this too) Also update the firmware to 3.0.6 for the SX cards, as apparently there was a problem with floating (disconnected) DCD pins causing stray carrier transitions, especially at port open time. It seems to work here, and carrier loss is detected nearly immediately rather than having to wait for a LQR timeout (a few minutes) before ppp(8) gives up. DCD problem noted by: nsayer
Notes
Notes: svn path=/head/; revision=56592
Diffstat (limited to 'sys/dev/si/si.c')
-rw-r--r--sys/dev/si/si.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/dev/si/si.c b/sys/dev/si/si.c
index 564227db85a2..603dcf698d08 100644
--- a/sys/dev/si/si.c
+++ b/sys/dev/si/si.c
@@ -1369,10 +1369,7 @@ siparam(struct tty *tp, struct termios *t)
ccbp->hi_mask = val;
/* ========== set hi_prtcl ========== */
- val = 0;
- /* Monitor DCD etc. if a modem */
- if (!(cflag & CLOCAL))
- val |= SP_DCEN;
+ val = SP_DCEN; /* Monitor DCD always, or TIOCMGET misses it */
if (iflag & IXANY)
val |= SP_TANY;
if (iflag & IXON)