SUMMARY: printcap entry for printer on the ethernet

From: Larry Chin (larry@cchtor.cch.com)
Date: Fri Jul 23 1993 - 18:57:50 CDT


----------
X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Content-Lines: 66

============================= Original Post ====================================

as the subject indicates, I am looking for examples of printcap
entries that are for printers on the ethernet. That is, the printer is
not directly connected to a sun, but rather has an ethernet card that
understands TCP/IP.
================================================================================

Whew, fast response time, faster and more than I expected.

Well the concensus of opinion is that there is no "generic" case for setting up
network printers on the ethernet. It seems each printer is different in the
way that printing across the ethernet is handled. Some printers still
require a host machine to do the spooling etc. and in this case, daemon
software for the specific platform is supplied by the printer manufacturer.

This software takes care of spooling and transferring the print jobs to the
printer.

In other cases the printer itself will take care of everything and appears
simply another ethernet node. The following paraphrased from a reply by
Birger.Wathne@vest.sdata.no (Birger A. Wathne) explains this better than I can.

        Some printers support lpd, so you just set it up as any other
        remote printer. All UNIX hosts reference the printers host name
        as the spooler host.

        In still other instances you have to connect to some 'telnet'-port and
        use this as the serial port. There exists some PD software that sets
        up a daemon to handle linking of the telnet port to a pty. You then
        set up one UNIX host as the print spooler for this printer, and use
        /dev/ptyxx as the printer device. This seems to be the most
        problematic way to set things up. Especially if you need several
        hosts to be able to share the telnet port...
        
        Lastly, some printers need you to use 'ftp'. As before, set up one
        UNIX host as print spooler. Then make a clone of /dev/null in the
        printer spool area, and use this device as your printer device. Then
        set up your output filter (of=) to transfer the file using ftp.
        Works nicely.

Some people have requested any actual printcap entries, so while it may offend
some people that this sort of thing is included here, they are included as an
attachement to this summary.

Special thanks to Birger.Wathne@vest.sdata.no (Birger A. Wathne) whose
concise explanation is quoted ( almost ) verbatim above.

Thanks also to:
Max.Lanfranconi <bogart@bpb.it>
kmah@DCS-Systems.COM (Kevin Mah)
blenherr@analytics.abb.com (Bill Lenherr)
ebumfr@ebu.ericsson.se (Mike Rembis 66520)
dburwell@telecom.telecom.com (David Burwell)
djiracek@jupiter.fnbc.com (Dan Jiracek)
green@Kodak.COM (Russell Green)
maria@math.ep.utexas.edu (Maria Ivette Barraza )
tyvand@fnbc.com (Ty Van Duong)
ramsey@moonshine.llnl.gov (Susanne Ramsey)
Mike Raffety <miker@il.us.swissbank.com>
trinkle@cs.purdue.edu (Daniel Trinkle)
tietje@nynexst.com (Ralph Tietje)
root@ewi.ch (Christoph Rothlin)
jack@mslab2.med.utah.edu (Jack Jones)
oleg@fred280.dny.rockwell.com (Oleg Chaikovsky)
Robert D. Worsham <worsham@aer.com>
----------
X-Sun-Data-Type: default
X-Sun-Data-Description: default
X-Sun-Data-Name: printcaps
X-Sun-Content-Lines: 302

The first is an HP IV si Mx printer;
The second is a QMS 2000 printer;

hp4:\
        :mx#0:sh:lp=/var/spool/printers/hp/.null:\
        :sd=/var/spool/printers/hp:\
        :lf=/var/spool/printers/hp/log:\
        :of=/usr/lib/hpnp/hplj.of.sh:\
        :if=/usr/lib/hpnp/hplj.if.sh:

fastps|qms:\
        :lp=/sl/local/spool/lpr/qms/devnull:\
        :lf=/sl/local/log/qms_errs:\
        :sd=/sl/local/spool/lpr/qms:\
        :mx#0:\
        :rw:\
        :sh:\
        :if=/sl/local/spool/lpr/qms/qfilter:

================================================================================
generic example:

printername|secondprintername:\
        :lp=:rm=printerhostname:rp=printername\
        :sd=/var/spool/printername:

and any filters you want.

================================================================================

qms|ps2000:\
        :lp=/usr/spool/qms/devnull:\
        :lf=/usr/spool/qms/log:\
        :sd=/usr/spool/qms:\
        :mx#0:\
        :rw:\
        :sh:\
        :if=/usr/spool/qms/qfilter:

imagen1|imagen-letter|imagen_engr|ip1:\
        :lp=/dev/null:\
        :af=/usr/adm/imagen_acct/imagen1:\
        :lf=/usr/spool/imagen1/ilog:\
        :sd=/usr/spool/imagen1:\
        :lo=lock:\
        :mx#0:\
        :rw:\
        :sh:\
        :cf=/usr/lib/icif:\
        :df=/usr/lib/idvi:\
        :gf=/usr/lib/igraph:\
        :if=/usr/lib/ipf:\
        :nf=/usr/lib/idimp:\
        :rf=/usr/lib/ifort:\
        :tf=/usr/lib/icat:\
        :vf=/usr/lib/imp:
================================================================================
#/etc/printcap
lj4-ps|lj4-ps| LaserJet 3 with a postscript cart., exported to Apples:\
        :lp=/dev/lj4-ps:\
        :mx#0:\
        :lf=/usr/adm/lj4-ps-errs:\
        :af=/usr/adm/lj4-ps-acct:\
        :rs:\
        :sh:\
        :rw:\
        :sd=/usr/spool/lj4-ps:\
        :if=/usr/local/milan/fpfilter.new:

The ethernet address of the milan box is in the /etc/ethers and the ip address
is in the /etc/hosts. Make a spool directory and lpc start lj4-ps will get this one running.

#etc/printcap
lj5-finance:\
        :mx#0:\
        :lp=/usr/spool/lj5-finance/.null:\
        :sd=/usr/spool/lj5-finance:\
        :sh:\
        :rg=finance:\
        :lf=/usr/spool/lj5-finance/log:\
        :of=/usr/lib/hpnp/hplj.of.sh:\
        :if=/usr/lib/hpnp/hplj.if.sh:

 This one was a little more complicated. It boots off the TFTP server, so
there is an additional entery in the /etc/bootptab file. In addition, a
/tftpboot directory has to exist so the TFTP will start the next time you
boot the server. This also requires a /etc/hosts entry, but no entry in
the /etc/ethers file. The script files hplj.if/of.sh are provided by HP
as part of their SunOS installion package ($200 extra, but worth every penny).

#/etc/bootptab
lj5-finance:\
        :ht=ether:\
        :ha=08000947a175:\
        :sm=255.255.255.0:\
        :gw=192.9.200.1:\
        :lg=192.9.200.1:\
        :hn:\
        :ip=192.9.200.246:\
        :vm=rfc1048:

  Notice that in the first enty, the lp= is a /dev/lj4-ps. There is a file in
the /dev directory for lj4-ps, but for lj5-finance, there is no /dev entry,
it seems to point to .null in the spool directory for that printer, I don't
have a clue why, but it works.
 
================================================================================

This is for a hewlet packard 3si:

fxhp3si:\
        :lp=:rm=fxosvr2:rp=fxhp3si:\
        :of=/usr/lib/hpnp/hplj.of.sh:sb:\
        :if=/usr/lib/hpnp/hplj.if.sh:mx#0:

================================================================================
Type 1: Funtions as a full spool device, with a smart interface.
         The printcap is the same as sending to a Sun with the printer attached.
 Type 1 example printcap for typical workstation:
lp|lw|postscript:\
       :lp=:\
       :rm=printernamefromhostsfile:\
       :rp=lp:\
       :mx#0:

Type 2: Boots from a boot server running tftp. This requires a "dummy" device for
         the printcap entry. The actual communications is handled by the input and
         output filters.

 Type 2 example printcap for tftp server machine:
lp|mic01| printer on mic01 unit's prn port:\
        :sh:pw#80:\
        :sd=/usr/spool/lpd/mic01/prn/mic01:\
        :lp=/dev/mic01.prn:\
        :lf=/usr/spool/lpd/mic01/prn/mic01/log:\
        :af=/usr/spool/lpd/mic01/prn/mic01/acct:\
        :if=/usr/spool/lpd/mic01/prn/mic01/npr.if:

 Type 2 example printcap for tftp typical workstation:
lp|lw|postscript:\
       :lp=:\
       :rm=tfptservername:\
       :rp=mic01:\
       :mx#0:

================================================================================
prbh121|LaserJet|IIIsi|PostScript:\
        :mx#0:lp=/var/spool/hpsi/.null:\
        :sd=/var/spool/hpsi:\
        :af=/var/adm/lp-acct:sb:\
        :sh:\
        :lf=/var/spool/hpsi/log:\
        :of=/usr/lib/hpnp/hplj.of.auto:\
        :if=/usr/lib/hpnp/hplj.if.auto:\
        :vf=/usr/lib/hpnp/hplj.if.auto:
simplex:\
        :mx#0:lp=/var/spool/simplex/.null:\
        :sd=/var/spool/simplex:sb:sh:\
        :lf=/var/spool/simplex/log:\
        :of=/usr/lib/hpnp/hplj.of.sh:\
        :if=/usr/lib/hpnp/hplj.if.auto.sim:\
        :vf=/usr/lib/hpnp/hplj.if.auto.sim:
let-head:\
        :mx#0:lp=/var/spool/let-head/.null:\
        :sd=/var/spool/let-head:sb:sh:\
        :lf=/var/spool/let-head/log:\
        :of=/usr/lib/hpnp/hplj.of.auto:\
        :if=/usr/lib/hpnp/hplj.if.auto.let-head:\
        :vf=/usr/lib/hpnp/hplj.if.auto.let-head:

================================================================================
fxhp3si:\
        :mx#0:lp=/var/spool/fxhp3si/.null:\
        :sd=/var/spool/fxhp3si:\
        :lf=/var/spool/fxhp3si/log:\
        :of=/usr/lib/hpnp/hplj.of.sh:sb:sh:\
        :if=/usr/lib/hpnp/hplj.if.sh:

================================================================================
# qms p2000 printer
#
qms|qms|QMS printer text output:\
        :lp=/usr/spool/printers/qms/devnull:\
        :sd=/usr/spool/printers/qms:\
        :mx#0:\
        :rw:\
        :sh:\
        :if=/usr/spool/printers/qms/qfilter:
#
#
qmsps|qmsps|QMS printer postscript output:\
        :lp=/usr/spool/printers/qmsps/devnull:\
        :sd=/usr/spool/printers/qmsps:\
        :mx#0:\
        :rw:\
        :sh:\
        :if=/usr/spool/printers/qmsps/qfilter:
#
#
qmstek|qmstek|QMS printer tektronix output:\
        :lp=/usr/spool/printers/qmstek/devnull:\
        :sd=/usr/spool/printers/qmstek:\
        :mx#0:\
        :rw:\
        :sh:\
        :if=/usr/spool/printers/qmstek/qfilter:
##
mfepx|px|Color Tektronix printer:\
        :lp=:\
        :rm=mfepr2:\
        :rp=PS:\
        :mx#0:\
        :lf=/usr/spool/printers/mfepx/mfepx.log:\
        :sd=/usr/spool/printers/mfepx:
#
calcomp|calcomp parallel printer attached to Milan Fastport:\
        :lp=/dev/calcomp:\
        :mx#0:\
        :lf=/usr/adm/calcomp-errs:af=/usr/adm/calcomp-acct:\
        :rs:sh:rw:sd=/usr/spool/printers/calcomp:\
        :if=/usr/local/sgi/bin/parfilter:
#

================================================================================
        lp|qmsprint|qmsprint|postscript:\\
                        :lp=/usr/spool/qmsprint/devnull:\\
                        :lf=/usr/spool/qmsprint/log:\\
                        :sd=/usr/spool/qmsprint:\\
                        :mx#0:\\
                        :rw:\\
                        :sh:\\
                        :if=/usr/tran/sparc/lib/qfilter:

================================================================================
hpljii|lp:\
        :sd=/var/spool/lpd:lf=/var/adm/lpd-errs:\
        :tr=\f:mx#0:sh:ms=-parity,-cstopb,-clocal,-cread,crtscts,ixon,-opost:\
        :rm=eps1-msscc:rp=EPS_0430ee_P1:
ps|lw:\
        :sd=/var/spool/ps:lf=/var/adm/lpd-errs:\
        :ms=-parity,-cstopb,-clocal,-cread,crtscts,ixon,-opost:\
        :rm=eps1-msscc:rp=EPS_0430ee_S1:

================================================================================
#
# printcap for hercules
#
1|lw||ddrprint|ip1:\
        :lp=:\
        :rm=ddrsrv2:\
        :rp=imprinter:\
        :sd=/usr/spool/imprinter1:\
        :lf=/usr/spool/imprinter1/log:
#
# printer in the dazix area
#
2|dazix:\
        :lp=:\
        :rm=dazix1:\
        :rp=lw:\
        :sd=/usr/spool/dazix_lw:\
        :lf=/usr/spool/dazix_lw/log:
ipd1|3|imagen|Printer #1|Interleaf Printer:\
        :lp=:\
        :rm=ddrsrv2:\
        :rp=ipd1:\
        :sd=/usr/spool/ipd1:\
        :lf=/usr/spool/ipd1/log:\
        :pl#1:sh:sb:sf:rw:
lp|ps|ip|Master Imagen Printer|hercprinter|PostScript:\
        :lp=/dev/null:\
        :af=/usr/adm/imagen_acct/hercprinter:\
        :lf=/usr/spool/hercprinter/log:\
        :sd=/usr/spool/hercprinter:\
        :lo=lock:\
        :rw:\
        :sh:\
        :mx#0:\
        :cf=/usr/local/lib/icif:\
        :df=/usr/local/lib/idvi:\
        :gf=/usr/local/lib/igraph:\
        :if=/usr/local/lib/ipf:\
        :nf=/usr/local/lib/idimp:\
        :rf=/usr/local/lib/ifort:\
        :tf=/usr/local/lib/icat:\
        :vf=/usr/local/lib/imp:

================================================================================
5|ps1|local PCL/Postscript on ps1:\
        :mx#0:lp=/var/spool/ps1/.null:\
        :sd=/var/spool/ps1:\
        :sh:\
        :lf=/var/spool/ps1/log:\
        :of=/usr/lib/hpnp/hplj.of.sh:\
        :if=/usr/lib/hpnp/hplj.if.sh:

================================================================================



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:03 CDT