HELP: multiple printers on one port, port closed before output written

HELP: multiple printers on one port, port closed before output written

Post by Corrie Marti » Thu, 05 Dec 1996 04:00:00

JSB Multiview  is being used to send Windows print jobs to be printed on
the local printer. Two printer interfaces are used for the same printer,
one for Unix jobs and one for Windows jobs.

The problem arrises if there is another print job being printed which
is from the server and a Windows print job is sent to the server.  The
Unix print job stops printing and is lost and the Windows job is
printed.  An error message is sent:

        Subject: Status of lp request laser_c-"print job number"

        Your request laser_c-"print job number" destined for laser_c
        encountered an error while printing on printer laser_c.

        Reason for failure:

        The output ''port'', a FIFO, was closed before all output was  
        user/spool/lp/admins/lp/interfaces/laser_c: 3801 Hangup

I have obviously overlooked something. Any clues would be appreciated; a
straight forward answer and solution even more so.



1. Using multiple printers on one port

I have an IBM RS/6000 running AIX 3.2.5.  There are two printers in the
office, a LaserJet III and a Deskjet 1200C/PS color printer.  We use a
printer sharing system which connects to the parallel ports of the
computers and printers.  By sending a string of characters to the device
attached to a computer's parallel port, one tells the system which
printer to use until further notice.  For example, if I send the string
Esc Esc PTRN1 Esc Esc, all my print jobs go to Printer #1 until I send
the string to change this.

I am trying to get this system to work with the RS/6000.  I have had
pretty good success doing this by redirecting the appropriate string to
the file representing the available printer (e.g., /dev/lp1).  There are
two problems, though.  First, this causes the printer to print a blank
page.  This is not a major problem, but is a minor annoyance.  Second, I
ultimately want to write a script to handle this process.  This script
will be made more complicated by the fact that I have to direct the
string to different files at different times, depending which printer is
active when I send the string.  Is there any way to just send the string
out the parallel port, without having to direct it to a particular
printer?  I thought there should be a file representing the parallel port
adapter (perhaps /dev/ppa0) to which I could direct the string, but I
cannot find any such file.  Doesn't every piece of hardware on a UNIX
system have an associated file?

I am also having another related problem.  When I switch printers, I
have to downgrade the available printer to "defined" and upgrade the
printer I want to "available."  This is fine for me since I have root
access, but how do I let other users change the available printer?  I
know that on many systems, one would not want to do this, but in my case,
I do.  I talked to AIX technical support and the only solutions we came
up with were fairly unattractive.  The technician suggested changing the
permissions on /usr/sbin/rmdev and /usr/sbin/mkdev so that everyone could
execute them.  The problem is that this would give users the ability to
do a lot of other things as well, wouldn't it?  The other idea we had was
to write a script that would su to root, make the changes, and exit back
to the user's account.  If I set the file permissions on the script to no
read, no write, execute, users should be able to run the script, but not
read or change it.  I am nervous about embedding the root password into
a file since there might be ways to get at it that have not occurred to
me.  Also, if someone terminated the script before the end (either
accidentally or on purpose), he or she might be left logged in as root.

Does anyone have suggestions to address either (maybe even both) of these


--Jon Levy

2. Very high bandwith packet based interface and performance problems

3. Printer prints from ttyS0 (modem port), but how from ttyS1 (printer port)?

4. Compiling inetutils(telnetd) on AIX 4.3.3

5. which ports oracle uses and/or which ports to close on a switch?

6. Printing Error: No such device

7. Dropping DTR signal on port when port closed

8. Partition Table ERROR

9. HELP Port Forwarding on Linux: Dest Port Known, Source Port High (1024-65535)

10. Howto close telnet and ftp ports on one interface only.

11. close rndc service, so port 953 will close

12. Closing ports by closing services

13. Port scanning Solaris - nmap "filtered" ports and Nessus output