Skip site navigation (1)Skip section navigation (2)
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>