diff options
author | Peter Wemm <peter@FreeBSD.org> | 2000-01-25 16:45:54 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2000-01-25 16:45:54 +0000 |
commit | 931e989797305e4967a74adb4a88779f14be7f3b (patch) | |
tree | 605794199af4a0ae5cadd82e4ec37a7abf552250 /sys/dev/si/si.c | |
parent | 0cac72f42c2f9dfe7953cb3dd7c2e93d1d0c61cf (diff) | |
download | src-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.c | 5 |
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) |