Subject: printcap flags
To: None <netbsd-help@NetBSD.ORG>
From: Brook Milligan <brook@trillium.NMSU.Edu>
List: netbsd-help
Date: 03/27/1996 11:31:26
I am trying to set up a serial port for communication with a printer
via lpd.  Short files print fine, but if the printer buffer fills
before the job is complete the transfer stops (as it presumably
should) but never restarts.  I presume this is a problem with the
netbsd 1.1/i386 box not recognizing ^Q from the printer and restarting
the communication.  It acts like it recognizes the ^S just fine,
though.  Two questions:

1.  How can I be sure this is the problem?

2.  How can I tweak the flags in printcap to fix it?

My printcap entry is

qms-410|QMS PS-410 laser printer:\
        :br#9600:\
        :fc#0177434:fs#0343:\
        :lf=/var/log/lpd-errs:\
        :lp=/dev/printer-ps:\
        :mx#0:\
        :rw:\
        :sd=/var/spool/output/lpd/qms-410:\
        :sh:\
        :xc#0133737:xs#044040:

The fc/fs flags should be setting the bits for no parity, raw, cbreak,
and tandem.  The xc/xs flags should be setting the bits for decctq,
pass8, litout.  All other bits should be cleared.  I thought these
were the correct settings, but clearly they don't work.

Upon tracing down the meaining of the bits using the stty man page, it
looks like there could be a conflict between the interpretation of
raw/litout (both of which indicate no processing) and cbreak (which
sets opost to invoke output processing).  Does this combination of
bits invoke processing or not?  If so, how does one have both no
processing and ^S/^Q control?

Did I set the wrong bits?  Have I misinterpreted the intended action
associated with these bits?  Is there a bug in how these are handled?

Thanks for your help.
-- 
Brook G. Milligan                      Internet:  bmilliga@nmsu.edu
Department of Biology
New Mexico State University            Telephone:  (505) 646-7980
Las Cruces, New Mexico  88003  U.S.A.  FAX:        (505) 646-5665