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>