## The Super Quick Guide to LPRng Printcaps
## Patrick Powell
## Thu Nov 15 13:31:08 PST 2001
# VERSION=3.8.15
#
# LPD print queue configuration - Default options
# The printcap entry below sets defaults. Add default options
# or other entries here
#
.common:
:sd=/var/spool/lpd/%P:sh:mx=0:mc=0:lf=/var/log/lpd-errs:
lp|printer:\
:tc=.common:lp=/dev/usblp0:filter=/usr/etc/ifhp
gs:tc=.common:lp=/dev/usblp0:filter=/usr/etc/gsf_bjc600
# :filter=/usr/libexec/filters/ifhp
# :ifhp=model=hp4simx
# :tc=.common:lp=/dev/usblp0:filter=/usr/etc/gsf_bjc600:\
# :if=/usr/local/libexec/lpf-escp.text:\
# :vf=/usr/local/libexec/lpf-escp.bin:\
# :df=/usr/local/libexec/lpf-escp.dvi:\
# :cf=/usr/local/libexec/lpf-escp.ps:\
mpr|brother mw140bt:\
:tc=.common:lp=/dev/usblp0:filter=/usr/etc/ifhp
bt|brother mw140bt bt:\
tc=.common:lp=/dev/usblp0:filter=/usr/etc/gsf_bjc600:\
#
# [Translation:
# .common - the period (.) causes LPRng to treat this as a 'information
# only entry. This idea was stolen^H^H^H^H^H^H borrowed from the Unix
# 'hidden' file convention, i.e. file names starting with a period
# are not displayed by 'ls' or matched by '*'
# :sd=/var/spool/lpd/%P
# Spool queue directory for temporary storage of print jobs. The
# %P will be expanded with the print queue name. Each print queue
# MUST have a different spool queue directory, and by using %P
# this is guaranteed.
# :sh - suppress banners or header pages
# :mx=0 - maximum job size in K bytes (0 is unlimited)
# :mc=0 - maximum number of copies (0 is unlimited)
# ]
#
# LPD print queue definitions: Define print queues
#
# Printer on Parallel Port (i.e. - /dev/lpt0)
#lp:lp=DEVICE:tc=.common
# Example:
# lp:tc=.common:lp=/dev/lpt0
# [Translation:
# lp - name of the print queue
# :tc=.common - include the options in the .common printcap entry
# the 'tc' options will be put at the START of the printcap entry
# :lp=/dev/lpt0 - open and write the print job to /dev/lpt0
# ]
#
# Printer on Serial Port (i.e. - /dev/tty00)
# Use the :stty to set the speed, bits, and parity using 'stty(1)'
# options. Note: almost all printers use 8 bits, no parity.
#lp:tc=.common:lp=DEVICE:stty=STTY OPTIONS
# Example:
# lp:tc=.common:lp=/dev/tty0:stty=19200 raw crtscts
# [Translation: lp, :tc, :lp as for A) above.
# :stty= options used to configure serial port
# ]
#
# Printer on Network Print Server (i.e. - HP JetDirect)
# connecting via a TCP/IP socket. IPADDR is IP address or Fully Qualified
# Domain Name of the print server, PORT is the TCP/IP port.
#
# HP JetDirect uses port 9100 by default.
#
# Warning: check the Network Print Server documentation for correct
# port number. Most non-HP Network Print Servers and non-HP printers
# do not use port 9100.
#
#lp:tc=.common:lp=IPADDR%PORT
# Example:
# lp:tc=.common:lp=10.0.0.2%9100
# [Translation: lp, :tc, as for A) above.
# lp=10.0.0.2%9100 - open a connection to 10.0.0.2, port 9100
# and write the print job to this port.
# ]
#
# D) printer on Network Print Server (i.e. - HP JetDirect or LPD server)
# connecting via the LPD print protocol. QUEUE is the name of the
# print queue and IPADDR is the IP address or Fully Qualified Domain
# Name of the print server.
#
# Warning: check the Network Print Server documentation for correct
# QUEUE name. The 'lp' queue is used on the HP JetDirect as the
# default print queue. If there are multiple printer ports on the
# device then the QUEUE name is used to select the port.
#
# Warning: Using this protocol with JetDirect units will almost always
# cause a 'banner page' to be generated by the JetDirect unit.
# Check the HP documentation on how to disable this most annoying feature.
# Usually you simply telnet to the JetDirect and then use the
# simple configuration menu presented when you first make connection.
#
#lp:tc=.common:lp=QUEUE@IPADDR
#
# Example:
# lp:tc=.common:lp=lp@10.0.0.2
# [Translation: lp, :tc, as for A) above.
# lp=lp@10.0.0.2 - open a connection to 10.0.0.2, port 515,
# and use the RFC1179 (LPD) protocol to transfer the job
# to the QUEUE print queue.
# ]
#
# Step 4: Format Conversion (Filter) Required?
#
# You may discover that your printer does not support PostScript or
# requires a special initialization to be done. This is handled
# by a filter program. The 'ifhp' filter program is supplied with
# LPRng and supports a very wide number of printers. If you need
# to have a filter, then add the following lines to the printcap
# entry:
#
# :filter=PATH_TO_IFHP_FILTER
# :ifhp=IFHP_OPTIONS
#
# Note: the LPRng :filter= option replaces the legacy BSD lpd options
# :if, :vf, ... options that specify filters for 'f' format, 'v' format,
# and so forth (yes, yes, :if is for 'f' format, don't ask).
# The :filter option specifies a default filter for all job formats.
# Most modern filters such as IFHP, Magikfilter, and RedHat print
# filters are smart enough to determine the job format and perform
# the appropriate conversions.
#
# Examples:
#
# lp:tc=.common:lp=/dev/lpt0
# :filter=/usr/libexec/filters/ifhp
# :ifhp=model=hp4simx
#
# lp:tc=.common:lp=10.0.0.2%9100
# :filter=/usr/libexec/filters/ifhp
# :ifhp=model=hp4simx
#
# lp:tc=.common:lp=lp@10.0.0.2
# :filter=/usr/libexec/filters/ifhp
# :ifhp=model=hp4simx
#
# IFHP Options:
# For almost all simple configurations you will only need to
# supply the model of printer that you have attached. See the
# /etc/ifhp.conf file for a complete listing of supported models.
# The default model is for an HP Laserjet 4 SiMx, which supports
# PostScript, PCL, and PJL.
#
# Warning:
# IF:
# Your model of printer normally provides status and error
# reporting over a TCP/IP link
# AND:
# You are using lp=IPADDR%PORT to connect to the printer
# THEN:
# The IFHP filter will normally expect to have status information
# returned by the printer to tell it that the printer is in working
# condition. This will have a small but significant overhead
# on job throughput, but you will also get error information.
#
# HOWEVER:
# If the printer SHOULD return status but CANNOT due to either
# the printer hardware configuration or it is on a unidirectional
# and not bidirectional parallel printer port, then you must use
# :model=...,status@
# to tell the IFHP filter not to expect status information.
#
# Example:
# lp:tc=.common:lp=10.0.0.2%9100
# :filter=/usr/libexec/filters/ifhp
# :ifhp=model=hp4simx,status@
#
# Step 5: Queue creation and LPD restart
# Run the following commands to create your spool queues and
# then tell the LPD server that it should use them:
# su
# checkpc -f
# lpc reread
|