Date: Mon, 03 Jul 2000 18:24:24 +0300 From: Boris Karnaukh <bk532@iname.com> Cc: freebsd-mobile@FreeBSD.ORG Subject: Re: "interrupt-level buffer overflows" with Xircom RealPort Modem 56 Message-ID: <3960B028.1AE4DC34@iname.com> References: <38A44C3D.6B2B39A6@we.lc.ehu.es>
index | next in thread | previous in thread | raw e-mail
"Jose M. Alcaide" wrote:
>
> Hello,
>
> I have just purchased a Xircom RealPort Modem 56 (PCMCIA). I easily
> got it working as sio1 adding an entry to pccard.conf. However,
> messages like these appeared on the console while I was testing
> the modem from user-ppp (term), typing commands such as "AT&V" or
> "ATI11", which give some lines of output:
>
> sio1: 31 more interrupt-level buffer overflows (total 31)
> sio1: 273 more interrupt-level buffer overflows (total 273)
> sio1: 437 more interrupt-level buffer overflows (total 710)
>
> ... and so on.
>
> After reading the sio(4) manpage and briefly examining sio.c, I disabled
> the FIFO with sio flags 0x20, and the messages went away. However,
> this modem supposedly has (or emulates) a 16550A, which has a 16-byte FIFO.
> I also tried sio flags 0x08 (polled output) and 0x08000000 (8-byte FIFO)
> to no avail. Only disabling the FIFO works, but this could affect
> performance.
>
> The laptop is new, a Dell Inspiron 3700 with a Celeron 433, so that
> this is not a CPU speed problem. And a PCMCIA Ethernet card works
> fine, so that this is not a general interrupt processing problem.
>
> A final note: I had "AUTO_EOI1" enabled in the kernel, but removing it
> did not make any effect on the buffer overflows.
>
> Any ideas? Is anyone using other similar Xircom modems, and having this
> same problem?
>
As you can see in sio.c, size of input buffer for com port is determined
using simple formula:
cp4ticks = speed / 10 / hz * 4;
for (ibufsize = 128; ibufsize < cp4ticks;)
ibufsize <<= 1;
According to this formula we find 512 byte buffer for serial port on
115200. I think it's slightly overoptimistic. According to my own
experience from DOS era, sometimes I had to setup buffers in FOSSIL
driver (anyone knows what it was?-) to 4096 bytes.
So i've replaced in mentioned above formula 4 with 8 and these
"interrupt-level overflows" gone away. Maybe someone will apply similar
change to source tree.
--
<Signed>
Boris Karnaukh (mailto:bk532@iname.com)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3960B028.1AE4DC34>
