[net.unix] 4.3 dropping characters ?

edwards@uwmacc.UUCP (mark edwards) (10/07/86)

   This question has probably been asked before, but ...

   Has anyone else experienced dropped characters on their screens.

   We have emulex dmfs. It seems either the first character of a line
   or the last character of a line get dropped occasionally.

   If we do a stty -pass8 it seems to help alot, but does not fix it.

   thanks

   mark
-- 
    {allegra, ihnp4, seismo}!uwvax!uwmacc!edwards
    UW-Madison, 1210 West Dayton St., Madison WI 53706

muller@sdcc7.ucsd.EDU (Keith Muller) (10/07/86)

In article <323@uwmacc.UUCP>, edwards@uwmacc.UUCP (mark edwards) writes:
> 
>    Has anyone else experienced dropped characters on their screens.
> 
>    We have emulex dmfs. It seems either the first character of a line
>    or the last character of a line get dropped occasionally.

This is because the UCB dmf driver expects that at the end of a dma
output the dma address register contains the dma start address + the
dma character count. It uses this to determine hown many characters
ndflush is to be called with. emulex and other non dec dmf's unibus
word align this register so that when odd count dma's are performed
one character too many is flushed.
There is also a flow control problem that causes some lines to be
output more than once. I posted the fixes to both problems once before,
but you can send mail me if you cant get them.
	Keith Muller
	University of California, San Diego
	muller@nprdc.ARPA
	muller@sdcsvax.ucsd.EDU

chris@umcp-cs.UUCP (Chris Torek) (10/08/86)

In article <323@uwmacc.UUCP> edwards@uwmacc.UUCP (mark edwards) writes:
>   We have emulex dmfs. It seems either the first character of a line
>   or the last character of a line get dropped occasionally.

The Emulex DMF emulators (CS11 and CS21 series, I believe) do not
exactly emulate DEC DMFs:  They follow only the manuals.  The 4.3BSD
driver's DMA code expects the word count register to be updated by
bytes, not words, and so becomes confused and drops characters.

A very quick fix is to raise dmf_mindma (I think: check /sys/vaxuba/dmf.c
for the exact name).  If you set this beyond 60, no standard 4.3
kernel will do DMA, since 4.3's CBLOCK is set to 64.  Keith Muller
<muller@sdcsvax> has better fixes.  I am using an entirely different
DMF driver myself.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 1516)
UUCP:	seismo!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@mimsy.umd.edu

chris@umcp-cs.UUCP (Chris Torek) (10/08/86)

In article <3741@umcp-cs.UUCP> I wrote:
>The 4.3BSD [DMF] driver's DMA code expects the word count register
>to be updated by bytes, not words, ....

Oops.  Make that the address register.  The quick fix still holds.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 1516)
UUCP:	seismo!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@mimsy.umd.edu