Previous | Contents | Index |
The name of the standard device control library is DCPS$DEVCTL. This is
the default library name if this parameter is blank. Refer to
Chapter 7 for more information about creating device control
libraries and defining the device control library logical name.
3.3.4 Assigning Default PRINT Command Parameters to the Queue (P4)
You can specify default PRINT command parameters to associate with the queue. Any PRINT parameter can be associated by default with a queue. Default PRINT parameters are used when the print job prints on the specified queue, unless the user specifies different parameter values in the PRINT command line. The parameter values specified in the PRINT command line override the default queue parameters.
Place quotes around default PRINT parameters, as shown in the following example:
$ @SYS$STARTUP:DCPS$EXECUTION_QUEUE - 2UP - ! P1 - Execution queue name "SERIAL/TTB4:" - ! P2 - Interconnect protocol/Device name DCPS_LIB - ! P3 - Logical name for library(ies) "SIDES=2" ! P4 - Default queue parameters |
How DECprint Supervisor Prioritizes PRINT Parameters
Parameters set by the /PARAMETERS qualifier of the PRINT command override any defaults set for the queue. DECprint Supervisor uses default values for parameters, from highest to lowest priority, as follows:
DATA_TYPE=AUTOMATIC
INPUT_TRAY=printer-specific1
LAYUP_DEFINITION=no default layup definition
MEDIA_TYPE=printer-specific1
MESSAGES=NOMESSAGES
NUMBER_UP=0
OUTPUT_TRAY=printer-specific1
PAGE_LIMIT=no limit
PAGE_ORIENTATION=PORTRAIT
PAGE_SIZE=(same as SHEET_SIZE)
NOPUNCH
SHEET_COUNT=1
SHEET_SIZE=printer-specific1
SIDES=printer-specific1
STAPLE=NONE
TAB=NOTAB
Some parameter values are controlled by the printer hardware and can be
set through means other than the DECprint Supervisor software. DIGITAL
PrintServer printers are affected by the PrintServer Software. Other
printers are controlled through the printer control panel or switches.
3.3.5 Supplying Default Queue Attributes (P5)
You can supply a value to override or add to the default queue attributes. Do not use the INITIALIZE/QUEUE command to set these qualifiers. Enter them into the queue definition instead.
By default, the printer startup command procedure creates print queues with the following INITIALIZE/QUEUE qualifier settings:
/DEFAULT=(FORM=MYFORM,NOFEED) |
If you include more than one qualifier in the queue definition, enclose the values in quotation marks. |
You can set the communications speed for serial printers attached
directly to your OpenVMS system. If this parameter is blank, the
default is 9600 baud. To change the speed, replace the null string
("") with a value, such as "19200". For printers
that utilize network connections, this parameter is ignored.
3.3.7 Supplying SET DEVICE Qualifiers to the Queue (P7)
You can specify the SET DEVICE command qualifiers for this queue. For example, to enable error logging, include the following string:
"/ERROR_LOGGING" |
Now, all error messages reported by the printer are recorded in the error log file, SYS$ERRORLOG:ERRLOG.SYS. You can read this file using the ANALYZE/ERROR command.
This parameter is valid for serial printers only.
3.3.8 Enabling SET VERIFY When Initializing the Queue (P8)
You can specify the setting of the SET VERIFY command for the DCPS$EXECUTION_QUEUE.COM command procedure. The default setting is NOVERIFY, to save log file space and console log space. If P8 contains 1, then SET VERIFY is enabled, which is useful for diagnosing problems in the printer startup file. (Refer to the HP OpenVMS DCL Dictionary for more information about the SET [NO]VERIFY command.)
1 These settings depend on the setting of the printer's PostScript interpreter. |
3.4 Running the Startup Procedure in Setup Mode
The DCPS startup procedure, DCPS$STARTUP, can be run in a shortened "setup" mode. This mode would most commonly be used if your queues are autostart queues, and you wanted to speed up the execution of DCPS$STARTUP. In setup mode, logical names needed by DCPS are defined, but no queues are created, modified or started.
To run DCPS$STARTUP in setup mode, pass SETUP as the P1 parameter. For example,
$ @SYS$STARTUP:DCPS$STARTUP SETUP |
To define logical names, DCPS$STARTUP now creates a "setup file" each time it runs in normal (non-setup) mode. This file is called DCPS$STARTUP_SETUP.COM and is run when DCPS$STARTUP is later run in setup mode. The setup file should not be modified and is only for use by DCPS$STARTUP.
Please note the following details concerning setup mode:
You can alter the behavior of DCPS print symbionts and their
corresponding execution queues in a number of ways, several of which
are described in this section. Other options are listed in
Appendix B, along with general guidelines for making the changes.
Some customizations apply to all DCPS queues while others apply only to
queues that you specify.
3.5.1 Running DCPS as a Multistreamed Process
DECthreads is used to implement the numerous functions of DCPS. All processes that use DECthreads execute periodically to determine if any threads can run. Even when no jobs are printing, DECthreads causes a DCPS process to run to determine if any threads can run. If there are many DCPS queues started on a system, the scheduling and periodic execution of all these processes can use a significant amount of CPU time. This problem is resolved by running DCPS as a multistreamed process, thereby reducing the number of symbiont processes that must execute.
When running multistreamed, one DCPS process can run more than one DCPS execution queue. A new DCPS process is not started every time a DCPS print queue is started, but only when all current processes are supporting a specified maximum number of queues ("streams"). The number of queues that a DCPS symbiont process will support is determined by the value of the logical name DCPS$MAX_STREAMS when the process is started.
DCPS can be configured to support up to 32 execution queues per DCPS symbiont process. The logical name DCPS$MAX_STREAMS is used to specify the number of queues per DCPS symbiont process. To define this logical, specify the following command in your DCPS$STARTUP.COM file (a template is provided in DCPS$STARTUP.TEMPLATE) and substitute the number of queues per process to use. If this logical name is not defined, a DCPS process will support only one (1) execution queue.
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$MAX_STREAMS max-number |
Execute your DCPS$STARTUP.COM file to define this logical name and start your queues with DCPS as a multistreamed process.
A DCPS process terminates only when all queues associated with the
process are stopped.
3.5.1.1 Managing Print Queues When Running Multistreamed
The OpenVMS Queue Manager controls when a symbiont process is created and terminated. Generally a new DCPS symbiont process is created when there are no free streams in all existing DCPS symbiont processes.
The set of print queues that a DCPS symbiont process supports is determined by the order in which queues are started, and by any subsequent stopping ( STOP /QUEUE /RESET or STOP /QUEUE /NEXT ) and starting ( START /QUEUE ) of queues. DCPS defines a logical name which identifies the process ID for a queue ( Section 5.8). You can use these logical names to determine the process that supports a queue and the set of queues that are supported by the same process.
Although not likely, a problem observed with one queue could be the result of a problem that exists with another queue, because both queues are supported by the same process. It may not be sufficient to examine the state of one job on one queue to identify a problem. You may need to look at the state of the first job on all the queues supported by that DCPS process.
A DCPS queue should not be stopped by stopping the DCPS process that
supports that queue. Stopping a DCPS symbiont process with
STOP /IDENTIFICATION
will stop all of the queues supported by that process.
3.5.1.2 Changing the DCPS Environment When Running Multistreamed
With a single-streamed DCPS symbiont process, changes to DCPS logicals names and other aspects of the DCPS environment may not take effect until after you have issued a STOP /QUEUE /RESET and then a START /QUEUE command for the associated queue, depending on what you are trying to change.
To change the behavior for a single DCPS queue that is associated with
a multistreamed process, you may need to stop all the
DCPS queues associated with that symbiont process and then restart them
before the change will take effect. This is because some aspects of the
environment are determined only when the DCPS symbiont process starts
(rather than when a DCPS queue starts) and the symbiont process does
not stop until all of its associated queues are stopped.
3.5.1.3 Determing the Proper Value for DCPS$MAX_STREAMS
There are several factors to consider to determine an appropriate number of queues per DCPS symbiont process including:
DCPS normally waits for a Raw TCP/IP, LAT or serial printer to be idle before sending a new job to it. This is especially important in a networked environment where a printer can be shared among DCPS queues, LATSYM queues, Windows® and UNIX® hosts, etc.
Prior to version V1.2, DCPS used an aggressive synchronization sequence to gain control of a printer's PostScript interpreter. This scheme worked well in an all-DCPS environment, but in a multi-host environment it sometimes caused print jobs from other systems to terminate prematurely.
If you rely on DCPS's earlier behavior to abort errant PostScript jobs on one queue by starting a job on another queue, you can define the following system logical name to restore the more aggressive behavior:
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queue-name_INTERRUPT_WHEN_BUSY TRUE |
DCPS begins a job on a Raw TCP/IP, LAT or serial printer by synchronizing with its PostScript interpreter to ensure that the interpreter is ready to accept commands. However, some PostScript printers are not always in a state where they can recognize the synchronization control characters. In particular, some printers that support additional printer languages like PCL do not correctly respond to this sequence under certain circumstances. For example, the DEClaser 3500, when in PS/PCL sensing mode, inadvertently switches to PCL mode when DCPS sends a Ctrl/T character to its serial port. The printer, then out of the PostScript mode, does not respond, and the print job gets stuck in the "starting" state.
You can define a logical name to cause the DCPS symbiont to avoid using its usual synchronization sequence for printers that use a Raw TCP/IP, LAT or serial connection. The logical name has no effect when using printers connected via other means. Refer to Chapter 10 for printer-specific recommendations.
To disable the synchronization sequence for a print queue, use the following command:
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queue-name_NO_SYNC TRUE |
The absence of the synchronization step is not generally a problem for
most modern serially-connected printers because such printers use flow
control to hold off data when the interpreter is not ready to accept
data. However, the printer is more vulnerable to printing
"garbage" or losing jobs if communication parameters, such as
baud rate and stop bits, are not set correctly. Depending on the
configuration, it's also possible to lose print jobs if the printer
data cable is disconnected or the printer is powered off.
3.5.4 Purging the Symbiont Process's Working Set
The DCPS symbiont purges its working set after it has been idle for a period of time in order to conserve system resources. The time delay is intended to help prevent the system from thrashing by keeping the program in physical memory while more work is apt to arrive.
By default, DCPS waits ten (10) minutes after becoming idle before purging its working set. You can increase this value, if desired, by defining a system-wide logical name:
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$PURGE_TIME "0 hh:mm:ss.00" |
where hh:mm:ss.00 is an OpenVMS delta-time value specifying
the desired time delay. If the value is less than the default of ten
seconds, the default is used.
3.5.5 Enabling Spooling for LPD Queues
Remote LPD queues, and some LPD printers, require the size of the job to be known before the job is sent. DCPS can produce a temporary spool file so the size can be determined. By default, DCPS LPD jobs are not spooled, so specific action must be taken to send DCPS LPD jobs to remote LPD queues or LPD printers that require it. Spooling can be specified for the whole system or for individual queues by defining logical names.
Because spooling requires an extra step to create the temporary spool file, you should enable spooling only for printers that require it. Common reasons to use spooling are:
You are printing to a remote LPD queue on another system.
Your printer does not print anything when using DCPS LPD without spooling.
Your printer is a larger multi-function device that does not work with DCPS Raw TCP or LPD without spooling.
To turn on spooling, define one of the following logical names. Neither of these logical names are defined by default.
To specify where temporary spool files will be created, the following logical name is used. This logical name is always defined.
The logical names DCPS$SHEET_SIZE and DCPS$queue-name_SHEET_SIZE are used to tell DCPS about the printer's default paper size. The system-wide logical name DCPS$SHEET_SIZE is defined in DCPS$STARTUP.COM to be LETTER. If you use a different paper size at your site, change or redefine the value of this logical name. You can also change the value for individual queues by defining a value for the queue-specific DCPS$queue-name_SHEET_SIZE.
For example, to specify A4 as the default paper size system-wide:
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$SHEET_SIZE A4 |
To specify LEGAL as the default paper size for a queue called LAWYERS:
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$LAWYERS_SHEET_SIZE LEGAL |
The definition of the DCPS$SHEET_SIZE logical name is in the new version of DCPS$STARTUP.TEMPLATE shipped with this version of DCPS. You should copy DCPS$STARTUP.TEMPLATE to .COM and edit the resulting DCPS$STARTUP.COM with your site-specific changes.
Note the following behavior concerning the sheet size logical name:
Most DCPS LPD queues will use printers unrecognized by DCPS, so most queues will not require the use of this logical name. However, you might want to use LPD to print to a DCPS-supported printer. For example, the HP Color LaserJet 8500 and 8550, DIGITAL Colorwriter LSR 2000 and DEClaser 3500 are not supported by DCPS with any other IP protocol, but can now be used with LPD.
If you have a DCPS-supported printer that you want to use with LPD, you must define the DCPS$queue-name_PRODUCT_NAME logical name to be the PostScript product name of the printer as shown in Table 3-4. You must specify the product name exactly, including spacing. However, capitalization and trailing spaces are ignored.
Not all printers listed in Table 3-4 are officially supported by DCPS. |
For example, to set up a queue called MFP to an HP LaserJet 9000 MFP printer, you can use commands such as:
$ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$MFP_PRODUCT_NAME - _$ "HP LaserJet 9000 MFP" $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$MFP_PRODUCT_NAME - _$ "hp LaserJet 9000 mfp" |
If you specify "HPGENERIC", your printer will be treated as an "HP Generic" printer. If you specify any other string, your printer will be treated as an "unrecognized" printer.
Colormate PS | |
Colormate PS40 | |
Colormate PS80 | |
Colorwriter 1000 | |
Colorwriter LSR 2000 | |
Compaq Laser Printer LN16 | |
Compaq Laser Printer LN32 | |
Compaq Laser Printer LNC02 | |
Compaq Laser Printer LNM40 | |
DECcolorwriter 1000 | |
DEClaser 1150 | |
DEClaser 1152 | |
DEClaser 2150 | |
DEClaser 2250 | |
DEClaser 3250 | |
DEClaser 3500 | |
DEClaser 5100 | |
DIGITAL Laser Printer LN15 | |
DIGITAL Laser Printer LN20 | |
DIGITAL Laser Printer LN40 | |
DIGITAL Laser Printer LNC02 | |
GENICOM Intelliprint cL160 | |
GENICOM Intelliprint mL260 | |
GENICOM Intelliprint mL402 | |
GENICOM Intelliprint mL450 | |
GENICOM LN21 | |
GENICOM LN28 | |
GENICOM LN45 | |
GENICOM LNM40 | |
GENICOM microLaser 170 | |
GENICOM microLaser 210 | |
GENICOM microLaser 280 | |
GENICOM microLaser 320 | |
GENICOM microLaser 401 | |
HP 9085mfp | |
HP Color LaserJet 2500 | |
HP Color LaserJet 2550 Series | |
HP Color LaserJet 3000 | |
HP Color LaserJet 3700 | |
HP Color LaserJet 3800 | |
HP Color LaserJet 4500 | |
HP Color LaserJet 4550 | |
HP Color LaserJet 4600 | |
HP Color LaserJet 4610 | |
HP Color LaserJet 4650 | |
HP Color LaserJet 4700 | |
HP Color LaserJet 4730mfp | |
HP Color LaserJet 5500 | |
HP Color LaserJet 5550 | |
HP Color LaserJet 8500 | |
HP Color LaserJet 8550 | |
HP Color LaserJet 9500 | |
HP Color LaserJet 9500 MFP | |
HP LaserJet 1300 Series | |
HP LaserJet 1320 Series | |
HP LaserJet 2100 Series | |
HP LaserJet 2200 | |
HP LaserJet 2300 series | |
HP LaserJet 2410 | |
HP LaserJet 2420 | |
HP LaserJet 2430 | |
HP LaserJet 4 Plus | |
HP LaserJet 4000 Series | |
HP LaserJet 4050 Series | |
HP LaserJet 4100 MFP | |
HP LaserJet 4100 Series | |
HP LaserJet 4200 | |
HP LaserJet 4200L | |
HP LaserJet 4240 | |
HP LaserJet 4240N | |
HP LaserJet 4250 | |
HP LaserJet 4250L | |
HP LaserJet 4300 | |
HP LaserJet 4345 MFP | |
HP LaserJet 4350 | |
HP LaserJet 4ML | |
HP LaserJet 4MP | |
HP LaserJet 4PJ | |
HP LaserJet 4Si | |
HP LaserJet 4V | |
HP LaserJet 5000 Series | |
HP LaserJet 5100 Series | |
HP LaserJet 5200 | |
HP LaserJet 5200L | |
HP LaserJet 5M | |
HP LaserJet 5Si | |
HP LaserJet 8000 Series | |
HP LaserJet 8100 Series | |
HP LaserJet 8150 Series | |
HP LaserJet 9000 MFP | |
HP LaserJet 9000 Series | |
HP LaserJet 9000L MFP | |
HP LaserJet 9040 MFP | |
HP LaserJet 9050 | |
HP LaserJet 9050 MFP | |
HP LaserJet 9055mfp | |
HP LaserJet 9065mfp | |
HP LaserJet III | |
HP LaserJet IIID | |
HP LaserJet IIISi | |
HP LaserJet IIP | |
Hewlett-Packard LaserJet IIISi | |
IBM InfoPrint 32/40 | |
IBM Infoprint 21 | |
LN17ps | |
LPS17 | |
LPS17/600 | |
LPS20 | |
LPS20+ | |
LPS32 | |
LPS40 | |
LPS40+ | |
LaserJet 4 | |
LaserJet II | |
LaserWriter II NT | |
LaserWriter II NTX | |
LaserWriter IIf | |
LaserWriter IIg | |
LaserWriter Personal NTR | |
LaserWriter Plus | |
LaserWriter Pro 600 | |
LaserWriter Pro 630 | |
LaserWriter Pro 810 | |
LaserWriter Select 310 | |
LaserWriter Select 320 | |
LaserWriter Select 360 | |
Lexmark C720 | |
Lexmark C750 | |
Lexmark C910 | |
Lexmark Optra C710 | |
Lexmark Optra LaserPrinter | |
Lexmark Optra S 1250 | |
Lexmark Optra S 1255 | |
Lexmark Optra S 1620 | |
Lexmark Optra S 1625 | |
Lexmark Optra S 1650 | |
Lexmark Optra S 1855 | |
Lexmark Optra S 2420 | |
Lexmark Optra S 2450 | |
Lexmark Optra S 2455 | |
Lexmark Optra Se 3455 | |
Lexmark Optra T610 | |
Lexmark Optra T612 | |
Lexmark Optra T614 | |
Lexmark Optra T616 | |
Lexmark Optra W810 | |
Lexmark T520 | |
Lexmark T522 | |
Lexmark T620 | |
Lexmark T622 | |
Lexmark W820 | |
Phaser 200e | |
Phaser 200i | |
Phaser 220e | |
Phaser 220i | |
Phaser 300i | |
Phaser 4500DP | |
Phaser 4500N | |
Phaser 4500X | |
Phaser 6250DP | |
Phaser 6250DT | |
Phaser 6250DX | |
Phaser 6250N | |
Phaser 7300DN | |
Phaser 7300DT | |
Phaser 7300DX | |
Phaser 7300N | |
Phaser 740 | |
Phaser 740E | |
Phaser 740P | |
Phaser 750DP | |
Phaser 750DX | |
Phaser 750N | |
Phaser 7750DN | |
Phaser 7750DX | |
Phaser 7750GX | |
Phaser 780GN | |
Phaser 780N | |
Phaser 8400DP | |
Phaser 8400DX | |
Phaser 8400N | |
Phaser 850DP | |
Phaser 850DX | |
Phaser 850N | |
Phaser III PXi | |
ScriptPrinter | |
Xerox DocuPrint N2025 | |
Xerox DocuPrint N2125 | |
Xerox DocuPrint N24 | |
Xerox DocuPrint N2825 | |
Xerox DocuPrint N32 | |
Xerox DocuPrint N3225 | |
Xerox DocuPrint N40 | |
Xerox DocuPrint N4025 | |
Xerox DocuPrint N4525 | |
Xerox DocumentCentre | |
Xerox WCP 232 | |
Xerox WCP 238 | |
Xerox WCP 245 | |
Xerox WCP 255 | |
Xerox WCP 265 | |
Xerox WCP 275 | |
Xerox WCP 35 | |
Xerox WCP 45 | |
Xerox WCP 55 | |
Xerox WCP 65 | |
Xerox WCP 75 | |
Xerox WCP 90 |
Previous | Next | Contents | Index |