Newsgroups: comp.protocols.nfs

This document is directed to those SunOS users who are installing the
HP JetDirect card for unix in their HP printer or plotter for use on a
SPARC system.  I've put in section headings in this document so that you
read only those sections that are pertinent to your installation.

	o FOLLOW THE INSTRUCTIONS IN YOUR "INSTALLATION GUIDE" TO
	  INSTALL THE CARD, AND THE INSTRUCTIONS IN YOUR "ADMINISTRATOR'S
	  GUIDE" TO INSTALL THE TAPE

First, follow the instructions in the "Installation Guide" that came
with your card and tape.  (You need to order option AAV when ordering
the card to get the appropriate tape.)  The "Installation Guide" tells
you how to install the card into your printer/plotter, and configure
the card's IP address from the front panel.  I do not recommend
configuring the card from the front panel.  (The HP JetDirect cards
in LaserJet II, IID, III, and IIID printers cannot be configured via
the front panel.)  Next, follow the instructions in the "Administrator's
Guide" to install the tape.

	o PRINT/PLOT A SELF-TEST PAGE

At this point, you should power-on the printer/plotter and print a
self-test page.  You'll need the LAN HW ADDRESS later.  You should also
check the CONFIG BY entry to verify the configuration source is
correct.  Both entries are in the second column of the self-test page
near the top.  After getting the self-test page, turn off the printer/
plotter.

	o EXECUTE THE hpnpcfg SCRIPT TO CONFIGURE AND VERIFY BOOTP/TFTP

Next type:

     cd /usr/lib/hpnp
     hpnpcfg

Perform step#1 to verify the installation of the tape.  Then perform
step#2 to configure bootp/tftp.  Pages 5-16 through 5-20 of the
"Administrator's Guide" describe the configurable items on the card.
Next perform step#3 to verify that bootp/tftp is working on your system.

	o BOOTP VERIFICATION FAILURE
	- CHECK FOR telnet AND tftp AND bootp ON YOUR SUN SYSTEM

If the bootp verification failed, exit hpnpcfg and verify that the
following lines are in the /etc/services file.  The lines are probably
not adjacent to each other in the file.

telnet          23/tcp

tftp            69/udp

Next verify that the following lines are in the /etc/inetd.conf file.
The lines are probably not adjacent to each other in the file.

telnet  stream  tcp     nowait  root    /usr/etc/in.telnetd     in.telnetd

tftp    dgram   udp     wait    root    /usr/etc/in.tftpd       in.tftpd -s /tftpboot

If telnet or tftp is missing from either file, contact your Sun
representative.  Telnet is used by the /usr/lib/hpnp/hpnpcfg script to
verify the peripheral's operations.   Tftp is used by bootp to configure
the HP JetDirect card in the peripheral.

Bootp is supplied on the tape.  Installing the tape and executing step#2
of hpnpcfg should install bootp on your Sun system.  Verify that the
following lines are in /etc/services.  They should be adjacent on the
bottom of the file.

bootps  67/udp          #Bootstrap protocol server
bootpc  68/udp          #Bootstrap protocol client

Also verify that the following line is in /etc/inetd.conf.

bootps  dgram   udp     wait    root    /usr/etc/bootpd bootpd

	o BOOTP VERIFICATION FAILURE
	- CHECK SUN'S YELLOW PAGES AND NIS NAME SERVER

If telnet, tftp, and bootp are on your system but step#3 (bootp
verification) of hpnpcfg still fails, are you using Sun's yellow pages
or name server?  If you're running the NIS name server, you need to
rebuild your NIS services map from the modified /etc/services.  You
can do this by typing the following:

     cd /var/yp ; make services			{Remake the map}
     ypcat services | grep bootp		{Verify the new map}
     ps -aux | grep inetd			{Prepare to kill inetd}
     kill -1 <inetd-PID>			{Kill old inetd}
           ^
           This is a one ("1")

Now, rerun hpnpcfg and execute step#3.  The bootp/tftp configuration
should be verified this time.  Now turn on the peripheral.  When the
ONLINE light is lit, the peripheral should be READY.  If it is, then
it's successfully obtained its configuration information via bootp/tftp.

	o COMPLETE hpnpcfg EXECUTION THROUGH STEP#6

Step#4 of hpnpcfg does a 'ping' to the peripheral to verify that the Sun
system can communicate with the HP JetDirect card.  To perform step#5 of
hpnpcfg in a printer, first configure the printer via the front panel
for the default language (PCL or PostScript).  Next choose the
appropriate file from the options given to you by hpnpcfg.  Verify that
the printer has printed the file correctly.  Perform step#6 of hpnpcfg
to add the peripheral to the Sun spooler.

	o VERIFY THE .params FILE IS CORRECT

Upon exiting hpnpcfg, examine the /usr/spool/printers/<printer-name>/.params
file.  You should see LANGUAGE=PS if your printer is configured for
PostScript, and LANGUAGE=PCL if your printer is configured for PCL.

	o VERIFY THE PRINTCAP ENTRY IS CORRECT

Next examine the /etc/printcap file to verify that the peripheral's entry
has been added to the file.  The following is the entry for the lj3sib
printer in my Sun system's /etc/printcap file.

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

Note that I'm using hplj.*.auto instead of hplj.*.sh in my 'of' and 'if'
entries.  This is because I'm using the automatic language switching
filters for my IIISi.  Before getting into automatic language switching, I
want to complete the help for spooling.

	o TESTING THE SUN SPOOLER AND HP PRINTER/PLOTTER OPERATIONS

If the /etc/printcap entry looks correct, try sending a file to the printer.
You can send /usr/lib/hpnp/testfiles/ps to send a PostScript file to the
printer, or /usr/lib/hpnp/testfiles/text to send an ASCII text file to the
printer.  Verify that the file has printed correctly.  The "ps" file is
a picture of a panda.  The "text" file says it's a text file.

	o SETTING UP REMOTE SPOOLING

If you wish to do remote spooling, set up the local /etc/printcap file
to send jobs to the printer/plotter as though the printer/plotter were a
serial device.  The one change is that the "if" and "of" lines from the
master spooler's /etc/printcap entry must be copied into the local
system's /etc/printcap entry for the printer plotter.  For DesignJet
plotters and LaserJet II, IID, III, and IIID, the local printcap entry
will look something like:

<HP-device-name>: lp=:rm=<master-spooler-machine>:rp=<HP-device-name>: \
	if=/usr/lib/hpnp/hplj.if.auto:sb:mx#0:

For a LaserJet IIISi, the local printcap entry will look something like:

<ljIIISi-name>: lp=:rm=<master-spooler-machine>:rp=<ljIIISi-name>: \
	of=/usr/lib/hpnp/hplj.of.auto:sb: \
	if=/usr/lib/hpnp/hplj.if.auto:mx#0:

Test remote spooling by sending a file to the printer/plotter from the
local system.

	o INSTALLING TRANSCRIPT AND NEWSPRINT

If you plan to use TranScript or NewSprint, follow the instructions in
the /usr/lib/hpnp/README.sun file.  The Note for the IIISi in the
Transcript section says to "add the hpnptypd startup command in you
/etc/rc file."  The "you" should be a "your".  Also, the file should be
the "/etc/rc.local" file if you don't want to search the network for the
hpnptyd file.

	o INSTALLING AUTOMATIC LANGUAGE SWITCHING

Most LaserJet printer customers prefer to use automatic language
switching.  To do this, you need to purchase the HP part number C2089A
cartridge that allows for automatic language switching on LaserJet III
and IIID, or the Adobe PostScript SIMMs for the LaserJet IIISi.  No
automatic language switching PostScript cartridges are recommended for
the LaserJet II or IID.  The /usr/lib/hpnp/examples2/hpnp.auto/README.auto.sun
file contains instructions for enabling automatic language switching on
your printer.  Note that the instructions for section#2 in the file
refer to "hplj.of.auto.ps" and "hplj.if.auto.ps".  These references are
incorrect.  They should refer to "hplj.of.auto" and "hplj.if.auto"
respectively.  Don't forget to set SYS SWITCH=ON* via the front panel to
enable automatic language switching on the printer.

If you have followed the README.auto.sun instructions for configuring
automatic language switching, you should now test this capability by
sending both PostScript and PCL to your printer.  You can use the two
files mentioned above in the /usr/lib/hpnp/testfiles directory.

	o LARGE POSTSCRIPT FILES REQUIRE MORE PRINTER MEMORY

If your printer is configured for PostScript and prints small
PostScript files properly, but fails to print large PostScript files,
then your printer needs more memory.

	o TECHNIQUES TO GET POSTSCRIPT FONTS TO DOWNLOAD

If you have PostScript fonts that you were able to download to your
IIISi over the serial or centronics port, but do not seem to be
downloaded through the HP JetDirect card for unix, you may need to
download the fonts twice.  The following is a script file I used to get
a customer's fonts downloaded into her HP LaserJet IIISi.  I tested the
script on my Sun system and my IIISi by power-cycling the IIISi and then
executing the script.  I did this three times just to be sure that it
really works.

#
# Script to download fonts to the Tech Pubs Resources 
# HP LaserJet IIISi printer
#
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic-Bold.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic-Bold.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic-BoldSlanted.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic-BoldSlanted.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic-Slanted.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic-Slanted.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic.ps
lpr -Plj3sib /fonts/PrinterFonts/LetterGothic.ps
lpr -Plj3sib /fonts/PrinterFonts/PIXymbolsPasskey.ps
lpr -Plj3sib /fonts/PrinterFonts/PIXymbolsPasskey.ps
lpr -Plj3sib /fonts/PrinterFonts/PIXymbolsPasskeyBold.ps
lpr -Plj3sib /fonts/PrinterFonts/PIXymbolsPasskeyBold.ps
lpr -Plj3sib /fonts/PrinterFonts/PIXymbolsPasskeyItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/PIXymbolsPasskeyItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-Bold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-Bold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-BoldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-BoldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-Italic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-Italic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-Semibold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-Semibold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-SemiboldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans-SemiboldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSans.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-Bold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-Bold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-BoldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-BoldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-Italic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-Italic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-Semibold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-Semibold.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-SemiboldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif-SemiboldItalic.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif.ps
lpr -Plj3sib /fonts/PrinterFonts/StoneSerif.ps
lpr -Plj3sib /fonts/testfile.ps

The last line above sends a PostScript file to the IIISi that prints
each font to verify that the font was correctly downloaded.  I visually
inspected the output from testfiles.ps to verify that the fonts were all
correctly downloaded.  (The customer supplied the testfiles.ps file, as
I do not know how to create PostScript jobs.  Thanks, Laura.)

	o RESETTING THE SUN SPOOLER

The Sun spooler must be started in order to send job to the
printer/plotter.  Type "man lpq" to see how to start the Sun spooler on
your Sun system.  If you have used the spooler to send data to the
printer/plotter, but your job hasn't printed/plotted, type "lpstat -a"
to see if other jobs are ahead of yours.  If jobs are queued for the
printer/plotter, but the peripheral is not generating any output and the
peripheral doesn't seem to be receiving or processing any data, you
should generate a self-test page and look at the TCP CONNECTION STATUS
in the second column.  If the CONN STATE is CLOSED even though the
spooler has queued some jobs, then you will need to clear all pending
spool jobs by typing "lprm -P<peripheral-name> -" to cancel all jobs for
that peripheral.

The commands to remember are:

     lprm -P<peripheral-name> -			{Cancel jobs to peripheral}
     lpstat -a					{Discover peripheral status}
     lpq <options>				{Start the spooler}

Get man pages for the above commands to learn more about them.

- Steve Kao
This is NOT an official response of Hewlett-Packard