Printing problems under UNIX with Intelligent Serial I/O cards
Date: September 1, 1998
Distribution: External
KDB Number: kdb-131
Rev. 0.02
Printing problems can occur under Unix operating systems when
using Connect Tech Intellicon or NT960 cards. The symptom of this
problem is partial completion of print jobs, and if the print job
is re-issued the same problem will occur over and over again.
The solution is to add a cat command in your /etc/rc (Xenix),
or your /etc/conf/rc.d/cti (ScoUnix) file to keep the
port open. The command must be inserted after the driver
initialization, ie the cti8boot command or the ntd (Nt960). Edit
the file called cti to append sleep 3 and cat <
/dev/tty4XX > /dev/null & for each printer port used.
Example
/bin/cti8boot a=d000 p=300 i=10
sleep 3
cat < /dev/tty4a > /dev/null &
This can also be done on the command line for testing purposes.
The reason the port stops printing is because the Unix OS
transfers the print job into the Intellicon's buffers, then
issues a close or flush command. Unix has no way of knowing that
there is still data in the Intellicon (Nt960) card. This
instructs the Intellicon (NT960) to stop transmission of data,
and in fact the data is lost. The cat command on the port, keeps
the port open and active all the time, preventing the above from
happening.
The above recommendation also applies to dumb serial ports as
well.
It is also recommended to set the flow control or handshaking
parameters for the port. The typical handshaking parameters are
X-ON and X-OFF flow control, below is an example of how to set up
a ScoUnix/Xenix serial port for these parameters. This can be
entered after the "cat" command.
Example
stty ixon ixoff -ixany < /dev/tty4a
For more information on printers, consult your ScoUnix/Xenix documentation.