Skip site navigation (1)Skip section navigation (2)
Date:      	Thu, 12 Sep 1996 06:34:19 -0400
Subject:   Re: stty, printcap, ixon, Postscript printer, flow control problems?
Message-ID:  <>
References:  <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
In reply to Edward Ing's query about how to enable software flow control
Sean Kelly wrote:
> Use the settings defined in
> /usr/include/sys/ioctl_compat.h.  You'll want the TANDEM flag, and
> probably the ANYP, LITOUT, FLUSHO, and PASS8 flags.  Try these
> settings in your /etc/printcap.
>         :fs#0x82000c1:xs#0x820:
> Now, if you're using FreeBSD-current, then you've got a much more
> friendly interface that even uses the termios settings:
>         :ms=cs8,-cstopb,-parenb,ixon,ixoff,cread,clocal,-opost,-echo,-echonl:

However, a few problems remain. Software flow control seems to be
working, but the entire Postscript is not printed.

Before I enabled software flow control as you suggested, only the
first two pages of a postscript file were printed. When I enabled
software flow control, flow control seemed to work because
a significant portion of the file would now be printed, however,
not the entire file.

The problem seems to be a spurious problem since when I tried to
reprint a certain document, the printing would stop on different
pages for different tries. Furthermore, some long documents printed
fine, whereas some shorter documents failed to print entirely.
A second, possibly related problem, is that print spooling hangs
and does not restart after I have reinserted the paper tray with
a new batch of paper in response to a paper out signal (I am using
lprps which indicates on the console that paper is out.)

When the spooler hangs without having completed a document, I
have found that "lpc>status lp" indicates that the spooling is
fine and that printing is proceeding, which is contrary to the

When the spooler hangs with a paper tray out or paper out,
the "lpc>status lp" indicates that the paper is out or removed,
but it does not resume after I have reinserted the paper tray.

The first problem is my central concern. My first supicion was that my 
printer does not have enough memory, (it is a QMS PSJet+, 412K, 
postscript 42., which I can no longer 
upgrade because the printer is no longer supported by the
manufacturer) and that the data overflows. I reason that this
suspicion is unwarranted because the printer, when its buffer is
full, should tell the spooler to suspend the flow of data with flow
control until the data currently in the buffer is printed. Can I so
easily dismiss this suspicion?

My second suspicion is that flow control is really not working
properly because it seems that the spooler is not acknowledging
the start character from the printer to resume sending the data, or
that the start character is lost. (Is it the spooler which handles
software flow control, or is the kernel?) (I turned on ixany to
ensure that any character would begin re-sending of data, and this
seem to work for a while.) What possible problems can there be with
software flow control?

Unfortunately, I don't know how my printer realy conducts flow
control, but I do know that as a default software flow control
is better than hardwired flow control(which doesn't work at all).
I don't have the manuals because the previous owner, an Windows
user, did not appreciate the value of manuals and tossed them out.
Do you know of the Postcript commands which will intialize both
software and hardware flow control on a postscript printer?

A third suspicion is that some spurious control character is getting
in there. I will try setting the RAW flag, et al., (fs#0x82000e1), but
I do not think that this will help much.

Do you know the significance of MDMBUF, TOSTOP, PENDIN, DECCTQ?
The sys_ioctl_compat.h does not say a heck of a lot, and these flags
might help.

Edward Ing.

P. S. If I ever successfully get this printing sorted out, I will
add a few pages to the handbook!!

Want to link to this message? Use this URL: <>