deskjet(1)
deskjet - HP DeskJet/PaintJet parallel printer driver
As shipped in IRIX 6.5.15. 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).