Subject: Re: Usenet II support (was: PPP and flow control)
To: None <port-i386@NetBSD.ORG>
From: Randy Terbush <randy@zyzzyva.com>
List: port-i386
Date: 01/28/1996 09:15:56
In message <m0tfdgg-000019C@flatlin.ka.sub.org>you write:
> Exactly.  The "real" NS16550s don't have builtin hardware flow control
> either.  Steve Nuchia's USENET-II serial board does implement hardware

I asked Steve some time back if he had patches to support the
Usenet-II on NetBSD, or some hints on adding it. Here is his
response. Perhaps someone that is a bit more knowledgable about
device drivers could ponder this.


--- Steve Nuchia's response ---
There should be no need for patches to support basic functionality.
If the kernel supports shared interrupts among serial ports, you're in.
If it doesn't, the fix pretty much has to happen outside of the serial
driver.

There is some tweaking that needs to be done to take advantage of
the hardware flow control gate.

1) You need to set two additional bits in the 16550's control
registers.  There is no known case where setting these bits
causes any effect on any other serial card, so the BSDi driver
sets them for all cards.  Doing this should completely eliminate
"silo overflow" errors on high speed modems, provided the modem
is set for hardware flow control.

The bits in question are
	bit 3 (0x08) in the fifo control register
	bit 2 (0x04) in the modem control register

2) You may want to adjust the FIFO trigger level.  Because skid
parameters depend, at least in theory, on the deivce at the
other end, this is a kernel-config flag option in BSDi.  In most
cases the performance difference will be minor.