FAQ for OpenVMS

Print This Page


Q: How to get the LPD/LPR printing working in both the Windows NT and the OpenVMS environments (assuming an HP printer)?

Note: This example used successfully (see section 6. Notes of Worthy) with the PS-1000A+ print server from Intellinet, (manufactured by EDIMAX of Taiwan) Provided by: Ched Lapierre,

  • Get the print server working in the Windows NT environment
    • A. Follow the print server instructions to get the print server device working on the Window NT. Print a test page.
  • Digital TCP/IP Services on ALPHA started?

A. Make sure that Digital TCP/IP Services for OpenVMS has been started and that LPD has been enabled (use @SYS$MANAGER: UCX$CONFIG.COM - Main Menu - Option 2 - Client Components) Full instructions are available from the Digital documentation.

B. TCP/IP services version 4.0 (TCP/IP V4.0) and under uses the preface UCX for all commands and parameters. E.g. RUN SYS$SYSTEM:UCX$CONFIG.COM

TCP/IP services version 5.0 (TCP/IP V5.0) and over uses the preface TCP/IP for all commands and parameters. E.g. RUN SYS$SYSTEM:TCPIP$CONFIG.COM

Note: Setting up the PS-1000A+ for this environment is similar to instructions from the PS-1000A+'s "Ethernet Print Server
User's Manual" - page 43 - "Configuring Remote LPD printing on UNIX".

  • Run the UCX/TCPIP Printcap database utility program to add a remoteprinter;

A. DCLPROMPT> RUN SYS$SYSTEM:UCX$LPRSETUP

  UCX Printer Setup Program
  Command  < add delete view help exit >: view
  #
  # LOCAL PRINTERS
  #
  UCX$LPD_QUEUE:\
          : lp=UCX$LPD_QUEUE:\
          : sd=UCX$LPD_SPOOL:
  #
  Command  < add delete view help exit >:

 Note: UCX$LPD_QUEUE is already there and cannot be deleted.

  • Add remote printer to printcap database.

A. Add command.

Command  < add delete view help exit >: add
Adding printer entry, type '?' for help.
Enter printer name to add: VMSQNAME
Enter the FULL name of one of the following printer types:
remote local : remote
Enter printer synonym:
Enter full file specification for spool directory
SPOOLER DIRECTORY 'sd' :  [SYS$SPECIFIC:[UCX_LPD.VMSQNAME]] ?
Set LPD Print Server extensions flag 'ps' [] ?
Set remote system name 'rm' [] ?  192.168.1.208
Set remote system printer name 'rp' [] ?  lpt1
Set printer error log file 'lf' [SYS$SPECIFIC:[UCX_LPD]VMSQNAME.LOG]?
Enter the name of the printcap symbol you wish to modify.  Other
Valid entry is :
        'q'    to quit (no more changes)
The names of the printcap symbols are:
 sd for the printer spool directory
 lf for the printer error log file
 lp for the name of the local printer
 ps for the LPD PrintServer extensions flag
 rm for the name of the remote host
 rp for the name of the remote printer
 fm for the printer form field
 pa for the /PASSALL flag
 p1-p8 for the /PARAMETER=(p1,...,p8) field
Enter symbol name: q
                    Symbol  type  value
                    ------  ----  -----
Error log file    :   lf STR   /SYS$SPECIFIC/UCX_LPD/VMSQNAME.LOG
Printer Queue     : lp STR   VMSQNAME
PS extensions flag: ps STR
Remote Host       :   rm STR   192.168.1.208
Remote Printer    :   rp STR   lpt1
Spool Directory   :   sd STR   /SYS$SPECIFIC/UCX_LPD/VMSQNAME

Are these the final values for printer VMSQNAME? [y]
Adding comments to printcap file for new printer, type '?' for help.
Do you want to add comments to the printcap file [n] ? :
Do you want the queue to default to print flag pages [y] : n
Do you want this procedure to start the queue [n] : n
Updating UCX$LPD_STARTUP.COM
Updating UCX$LPD_SHUTDOWN.COM

***********************************************
*  UCX$LPD_STARTUP.COM UCX$LPD_PRINTCAP
*  And UCX$LPD_SHUTDOWN.COM
*  Have been updated for this printer
* Set up activity is complete for this printer
***********************************************
Command  < add delete view help exit >: view
#
# LOCAL PRINTERS
#
 #
UCX$LPD_QUEUE:\
        : lp=UCX$LPD_QUEUE:\
        : sd=UCX$LPD_SPOOL:
#
VMSQNAME|vmsqname:\
        : lf=/SYS$SPECIFIC/UCX_LPD/VMSQNAME.LOG:\
       : lp=VMSQNAME:\
        : rm=192.168.1.5:\
        : rp=lpt1:\
        : sd=/SYS$SPECIFIC/UCX_LPD/VMSQNAME:
#
Command  < add delete view help exit >:exit
 

 B. Print cap input notes:

 I.)  Remote - always say "remote"

 II.) VMSQNAME - VMS server queue name that will be used on the VAX (lp)

III.) 192.168.1.208 - IP Address assigned to the remote device (rm).  See point 4.C below.

IV.) lpt1 - Remote printer queue name (rp). This is specific to the manufacturer of the print server device.
 
 

C. The "rm" input exception:

The IP address 192.168.1.208 inputted for "rm" will not work with TCPIPV5.0. You must enter a local host name in to the
'rm' parameter and use that host name for 'rm'. TCP/IP V4.0 can also use this method.

  Two steps are needed;

I. Set up the print server as a local host in TCP/IP local host database

DCLPROMPT> TCP/IP
TCPIP> SET HOST PS305C0D/ADDRESS=192.168.1.208
TCPIP> show host/local
     LOCAL database
Host address  Host name
223.222.221.221 ALPHA1, alpha1
127.0.0.1       LOCAL HOST, local host
192.168.1.208    PS305C0D
TCP/IP> EXIT
DCLPROMPT>

   Note: Host name can be any name chosen, not necessarily the printer server device name.

II. When adding in the print cap database, use the local host name for the "rm" configuration parameter.

Set remote system name 'rm' []? PS305C0D
 

5. Create print queue.

A. The print cap database utility program asks you " Do you want this procedure to start the queue [n] :". I've said no simply to
configure the VMS queue parameters to a "regular VMS print queue".

Note: The print cap or regular queue setup methods have not as yet been fully tested.

 DCLPROMPT> $INITIALIZE -
      /queue /start /owner=[1,4] /retain=error-
      /process=ucx$lpd_smb -
      /DEFAULT=(NOFEED, NOBURST, NOFLAG, NOTRAILER, FORM=DEFAULT) -
      /separate=(noburst, noFLAG, notrailer,reset=hp_reset) -
      /DESC="HP_5SI" /library=LASERS -
      /protection=(s:e,g:R,W:W,O:D) VMSQNAME

B.  Show  the queue:

DCLPROMPT> SHOW QUEUE/ALL/FULL VMSQNAME
  Server queue VMSQNAME, idle, on ALPHA1::, mounted form DEFAULT
    <HP_5SI>
  /BASE_PRIORITY=4 /DEFAULT=(FORM=DEFAULT) /LIBRARY=LASERS
  /OWNER=[OPER,SY0OPR]
    /PROCESSOR=UCX$LPD_SMB /PROTECTION=(S:M,O:D,G:R,W:S)
  /RETAIN=ERROR/SEPARATE=(RESET=(HP_RESET))

Note: The "on" part of the queue name simply has "ALPHA1::", it does need additional parameters like the Terminal server
queue - ("ALPHA1::LTA204") or the regular TCP/IP printer queue -("ALPHA1::192.168.1.1:9100").
 

6. Notes of Worthy.

A.  When changing parameters in the print cap database, never edit the UCX$PRINTCAP.DAT file (located in
SYS$SPECIFIC:[UCX_LPD]. Editing the file does not automatically change the way the queue is handled. Always use the
utility program. Delete the entry then re-create it for changes to take effect.

B. LPD always strips off the CR (carriage return), LF (linefeeds are okay). Either the print server device or the printer needs to
be able to configure that LF will print a LF and CR. Otherwise VAX LPD print method is futile from the VAX.

Note: Output on the printer in this case looks like "stair stepping" when CR is stripped from print file.

C. TCP/IP ECO upgrade is not needed to get it to work, but may be needed to get this method to work properly. This has not
been fully investigated. See http://www.openvms.digital.com /

D. The EDIMAX PS-1000A+ print server uses "lpt1" as the remote printer queue name. Some manufacturers have noted that
text, lp, raw, post can be used for HP print servers. It may work on other print server devices.

text - Straight text printing, interprets LF as CR/LF
lp - Text Printing, does not interpret LF as CR/LF
post - Postscript/graphics printing
raw -  for raw connections, Stream-like printing

E. The printcap database parameter "rm" and "rp" were causing the worst problems. What values go into these parameters are
critical to getting LPD print method to work properly.

Digital documentation describes them this way:
rm - name of remote host
rp - name of the remote printer
Intellinet describes them this way in a SCO Unix or Linux environment;
rm - entry should correspond to the IP address you have assigned to Print Server.
rp - entry should correspond to the port name of the remote printer.

F. The print cap database parameter 'cr' is only available for TCP/IP V5.0.  Digital describes it only as "cr flag". One example
from the Digital's internet site ("Ask the Wizard") has the input for this parameter as "ON". Based on this example (whether its
true or not), I assume the available options are "ON" and "OFF". The Digital manuals do not have active examples of this
parameter.

I assume Digital knows the CR problems and this is an attempt to rectify it in the current version of TCP/IP, but so far, no
documentation found any where helps me.  No further checks on the INTERNET have been made for this problem.
 

G. The INTELLINET/EDIMAX PS-1000A+ print device needs to have the Version8.7.12 to work properly from
OpenVMS. Then the (rp) parameter in the print cap database can be set to lpt1-l3.

[Back to FAQ of Print Servers]