deskjet(1)

deskjet - HP DeskJet/PaintJet parallel printer driver

As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.

NAME
     deskjet - HP DeskJet/PaintJet parallel printer driver

SYNOPSIS
     deskjet -P printername [ options ] [ inputfile ]


DESCRIPTION
     The deskjet driver is a printer-specific driver for a HP DeskJet 500C,
     550C, 560C, 1200C or PaintJet XL300 printer connected to an SGI
     /dev/plp-compatible parallel port.  deskjet reads STIFF format image
     files, writes PCL commands to the printer, and uses libpod(3) functions
     to keep the printer object database (POD) current, thereby providing
     feedback on any engine errors encountered.


     The driver opens and maintains the POD files for the specified printer.
     For more information on POD files refer to the libpod(3) and pod(4) man
     pages.


     While deskjet has the parallel port open, no other driver may flock the
     port, thus effectively reserving the printer for exclusive use by
     cooperating drivers.


INPUT FILE FORMAT
     deskjet assumes that its input is coming from standared input unless a
     filename is specified after any and all command line options.


     deskjet accepts the input files in planar as well as chunky STIFF 1-bit
     format and supports K, CMY, CMYK colorspaces. STIFF is a streamable
     subset of TIFF 6.0.  For more information on the STIFF image file format,
     see the libstiff(3) man pages.


USAGE
     -P printername
               Specifies the printer with which deskjet is communicating.
               printername is the name under which the System V R3 spooler
               recognizes the printer, as given on the lp command line.  This
               option is required.


     -e        Specifies that driver should exit immediately on fault.  By
               default, the driver waits indefinitely for faults to clear,
               retrying any errors every several seconds, where the exact
               number of seconds is defined in the POD config error_retry_wait
               entry.  This option is useful when only a quick inquiry needs
               to be performed.

     -s        Specifies that the driver should exit after ascertaining
               printer status and updating the POD status file.  If an error
               is encountered, however, deskjet may block unless the -e switch
               is given as well. If a quick status update is what you want,
               invoke deskjet with both the -s and the -e options to insure
               that deskjet exits promptly.


     -w        Specify this flag to suppress warning messages in the printer
               status file. By default, warning messages such as the driver
               version or other non-fatal errors are written to the printer
               status file.


     -D        Turns on debugging information.  Five levels of debugging
               information are supported: None, CoarseDetail, MediumDetail,
               FineDetail, and EvenFinerDetail.  These correspond to 0, 1, 2,
               3, and 4 or more -D switches given on the command line.  That
               is, multiple -D options given on the command line result in
               progressively more detailed debugging information.


     -t        Prints a test page and performs printer diagnostics.  Use this
               to verify that the printer, cables, and driver are functional.
               This option is useful when trying to narrow down the location
               of an error in printing.  If this fails, either the printer,
               the cable, or the driver (including the /dev/plp device driver)
               is at fault, but the model file, print scheduler, and rendering
               filters are not to blame.


     -L logfilename
               Specifies a filename to which error and debug information
               should be appended.  If this option is not specified, error and
               debug information is appended to stderr, which is generally
               redirected by the System V spooler to /var/spool/lp/log.


     -R        Reset the parallel port immediately after opening but before
               using it.  This is not the default, but can be a useful feature
               for those recalcitrant printers.  Note that some printers
               ignore the RESET signal altogether.  This includes most HP
               DeskJets.


     -3        Force PCL3 mode.  This disallows any commands specific to PCL4
               or later.  Specifically, PCL3 does not understand the number of
               copies commands or any command which would require a full page
               buffer in the printer: no such page buffer is kept in the
               printer.  If this switch is given, multiple copies will be sent
               by complete retransmission rather than a PCL reprint command.

     -X HorizontalResolution
               Specifies the horizontal resolution at which to print, one of
               the following: 75, 100, 150, or 300.  The default is 300. This
               is normally derived from the printer status database, but if
               given, it overrides and will be written to the printer status
               database.


     -Y VerticalResolution
               Specifies the vertical resolution at which to print, one of the
               following: 75, 100, 150, or 300.  The default is 300. This is
               normally derived from the printer status database, but if
               given, it overrides and will be written to the printer status
               database.


     -S PaperSize
               Specifies the papersize to request from the printer.  This may
               be any papersize recognized by libpod(3), but only those sizes
               listed in the printer configuration file should be used.  This
               is normally derived from the printer status database, but if
               given, it overrides and will be written to the printer status
               database.


     -O filename
               Output data to filename instead of the device port or standard
               output.  The data will not be printed; the data that would have
               been sent to the printer had the -O option not been specified
               will instead be saved to filename.


EXIT CODES
     The driver normally exits with an exit code of zero (0), denoting no
     error.  A number of exit codes are supported to give more information
     about unsuccessful exits.  Remember that the driver will not exit on
     recoverable errors unless the -e switch is given.

     The error codes 1 through 18 denote the following meanings, in order:
     unknown error, bad command line or image header arguments, bad POD
     database access, bad device name, bad device type, bad status update,
     unsuccessful device access, bad memory reference, failed memory
     allocation, invalid data format, invalid data header, short or empty
     input data file, short or empty firmware download code file, bad or short
     input data file, failed transmission, data buffer invalid, test print
     failed, firmware download failed.

     A common error exit is on empty input: the driver will return error code
     12, indicating a short or empty input file, whenever the PostScript
     interpreter (or another upstream filter) dies before a full page of data
     was written to the driver.  This can happen when bad PostScript code is
     sent to be printed, for instance.  In this case, the spooler log file
     (/var/spool/lp/log) should be consulted to determine which filter failed;
     an error should have been written to this file by the dying filter or
     driver.


CAVEATS
     deskjet will not exit on spooler job cancellation (SIGTERM) until its
     input has been completely copied to the output device.  This means that
     if a printer is unable to accept data, cancelling the job will not kill
     the deskjet process.  To do so, you must explicitly kill the process with
     SIGKILL (9).  This behavior is required so that job cancellation does not
     leave the printer in a wedged state: cancelling in the middle of a raster
     page would leave many parallel printers in a bad state which could eat
     several subsequent print jobs.


SEE ALSO
     psrip(1), impressario(1), printstatus(1), printpanel(1), libpod(3),
     libspool(3), libstiff(3).