Date: Wed, 22 Jan 1997 19:37:29 -0500 From: Luoqi Chen <luoqi@watermarkgroup.com> To: Bruce Evans <bde@zeta.org.au> Cc: freebsd-hackers@freebsd.org Subject: Re: My sportster internal modem doesn't work after switched to 2.2-BETA Message-ID: <32E6B2C2.124B@watermarkgroup.com> References: <199701211839.FAA14689@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
>
> >After some poking around, I found that the if I sent multiple bytes
> >to the modem, some would get lost. So I went to sio.c and changed
> >com->tx_fifo_size to 1 from 16, and everything works fine now.
> >But I am still wondering if this is a problem with the modem, or with
> >the software. It seems that NT is doing the same, sending no more than
> >one
> >byte at a time. This is not a satisfactory solution, the output FIFO
> >is underutilized and CPU is servicing 16 times more interrupts.
>
> Which version did it work in? The sio driver streams output better
sio.c:
$Id: sio.c,v 1.147.2.5 1996/12/23 19:59:08 bde Exp $
> than it used to. There used to be a small amount of dead time every
> 256(?) characters. Perhaps the internal modem can't quite keep up
> and its flow control doesn't work or you're not using flow control.
> Reducing com->tx_fifo_size gives flow control a better chance of working.
>
> Try other values < 16 for com->tx_fifo_size.
I tried other values, only 1 worked. How does the flow control inside
an internal modem work? Do you need to check MSR_CTS each time you push
a byte into the fifo? Or you could check once and fill up the fifo if
CTS is set?
>
> Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32E6B2C2.124B>
