[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Guide to Printers and Printing


Printer Queuing System Status Conditions

If a printer/device is added as a tty device, the queuing system looks for carrier detect (CD) to recognize the printer. If the device is an LP device, the queuing system uses CTS to detect the printer.

Following is a list of print queue status conditions:

DEV_BUSY Identifies that:
  • More than one queue is defined to a printer device (lp0), and another queue is currently using the printer device.
  • qdaemon attempted to use the printer port device (lp0), and another application is currently using that printer device.

Normal recovery: To recover from a DEV_BUSY, wait until the queue or application has released the printer device, or kill the job or process that is using the printer port.

DEV_WAIT Indicates that the queue is waiting for the printer because the printer is offline, out of paper, jammed, or the cable is loose, bad, or wired incorrectly.

Normal Recovery: To recover from a DEV_WAIT, you must correct the problem that caused it to wait. Check to see if the printer is offline, out of paper, jammed, or loosely cabled. It may be easier for diagnostic testing to use the enq command to move all queued jobs from the DEV_WAIT queue to another queue that is either printing or is DOWN. After the problem is corrected, you can move any unprinted jobs back to the original queue.

DEV_WAIT can also be caused by improper flow control to the printer, particularly when using XON/XOFF software control. Use SMIT to see if you are using the proper flow control (XON/XOFF or DTR pacing).

Bad or improperly wired cabling can cause a DEV_WAIT situation. Usually, you cannot recover from this situation except by replacing the cable.

A queue that is in DEV_WAIT for longer than TIMEOUT seconds goes into a DOWN state. See DOWN for more information on the TIMEOUT value and the DOWN state.

DOWN Specifies that the device driver cannot communicate with the printer (CD or CTS dropped or is low) after TIMEOUT seconds. The TIMEOUT value indicates the amount of time, in seconds, that the queuing system waits for a printer operation to complete. You can set this value using SMIT.

A queue usually goes into the DOWN state after it has been in the DEV_WAIT state. If a queue goes directly into the DOWN state, either the TIMEOUT value is too small or there are cabling problems. Usually, this situation occurs when the printer device driver cannot tell if the printer is there due to the absence of correct signaling. However, some printers cannot signal the queuing system that they are only offline. These printers signal that they are off; they drop CTS (if an lp) or drop CD (if a tty).

If the printer device is off, the queue goes into the DOWN state. The system administrator can bring a queue to the DOWN state for maintenance with the queuing commands (qadm, disable, enq, and others).

Normal recovery: Correct the problem that brought the queue down and bring the queue back up using the qadm, enable, or enq commands with appropriate flags. The queue must be manually brought up before it can be used again.

HELD Specifies that the job is held and will not be put on the queue until it is released using the qhld or enq commands
OPR_WAIT Specifies that the backend program is waiting for the operator to perform a task such as loading paper. This is usually software-related.

Normal Recovery: To recover from an OPR_WAIT state, respond appropriately to the request that is made by the queuing system.

QUEUED Specifies that a print file is queued and is waiting in line to be printed.
READY Specifies that everything involved with the queue is ready to queue and print a job.
RUNNING Specifies that a print file is printing.
UNKNOWN Specifies that a user created a queue on a device file that another queue is using and that its status is DEV_WAIT. The queue cannot get a status from the printer device (lp0) when it is on hold (DEV_WAIT).

Normal recovery: To correct this, bring down the other queue or fix the problem with the printer. Bring the new queue down and back up so the queue registers as READY.

The following status conditions apply to remote queues:

CONNECT Specifies that the backend is trying to connect to the remote host.
GET_HOST Specifies that the backend is getting the host to which the print job will be sent.
INITING Specifies that the backend is in the process of establishing a connection to the network.
SENDING Specifies that the backend is sending the print job to the remote host.


[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]