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>
next in thread | previous in thread | raw e-mail | index | archive | help
"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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3960B028.1AE4DC34>