Instructions for configuring LPD servers for MVS printing

MVS print output includes host directed printing from the ADB, DB2 (ADBIS) reports, WYLBUR or TSO listings and batch jobs. VTAM Printer Support Service (VPS) allows MVS print requests to be printed on any printer accessible through NIHnet. All that's needed is an LPD server to accept and direct the print requests that are sent from VPS. Once the LPD is configured and running, the printer must be configured in VPS, and then is ready to use. Additional information available includes how to use VPS and VPS Printer Registration.

A DOS PC running Windows and PC/TCP, an Appletalk printer, or an LPD server on NIHnet should be able to accept print requests from VPS. This document describes the information necessary to get(receive) VPS directed print requests over NIHnet for

Instructions are also available for setting up a print queue using Information required for registration is available to MVS interactive users in the dataset &public.eps.request.form or via anonymous ftp to ftp.cu.nih.gov as /public.eps.request.form. In all cases, this information must be provided and returned to TASC.

A PC running DOS and PC/TCP 2.31 or later dedicated to running LPD

This method of setting up a PC/TCP LPD (Line Printer Daemon) dedicates the entire PC as a print server.

  1. Check to see that the file LPD.EXE exists in the directory that contains the PCTCP.INI file. If it doesn't, it will need to be installed. You can do this with the PC/TCP install program.

  2. Edit the PCTCP.INI file that is in your PC/TCP directory to include the following lines:
     [pctcp lpd]
     printers = lp
     
     [pctcp lpd lp]
     dev = lpt1
     dir = c:\spooldir
     break = no
     formfeed = yes
     text-init = (printer specific setup string)
    

    This defines an LPD printer queue with the commonly used LPD printer name of lp.

    The "dev=" statement specifies the device to print on.
    The "dir =" statement specifies that the local pc directory c:\spooldir will be used to spool (temporarily store) each print request prior to printing. If the directory pointed to by the "dir = " statement does not exist, PC/TCP will create it for you. This directory must have enough space to temporarily store the spooled print request. In the event the print request causes printer problems, the print requests can be removed by turning the printer off, then deleting files in this directory.
    The "break = no" statement turns off the printing of header pages which are only useful when more than one person is going to be using a printer.
    The "formfeed = yes" statement causes a formfeed character to be sent to the printer after every print request. This causes the printer to eject the page or go to the top of a new page. If this wastes paper, change the statement to "formfeed = no".
    The "text-init = " statement is optional. If included, it should specify a special setup string for the PC printer which will be sent to the printer before each print job. It can be used to enable a default font, page length, line spacing, or other printing characteristics.

  3. Save the changes to the PCTCP.INI file, and reboot your PC.

  4. The LPD server must then be started. This can be done by issuing the LPD command from the DOS prompt or by including the LPD command in the autoexec.bat file.

For more information about configuring the DOS LPD server, see Chapter 17 in the PC/TCP 3.0 manual "Managing PC/TCP."


A DOS PC running Windows 3.11 with PC/TCP 2.31 installed.

To set up the LPD server in Windows, you must be running Windows for Workgroups or Windows 3.11 or later.

From the PC/TCP WinApps 3.0 window, double click on the Server Control icon. In the Server Control window, select the LPD Print Server icon. From the Settings menu item, select Configure LPD Print Server. In the resulting LPD Print Server Configuration box, you can:

The LPD server is started from the Server Control window.


To add a printer: For Current Printer Queues, click on ADD. You will then get the Add Printer Queue dialog window. Supply information for the following:
Queue Name: Enter the printer queue name that remote users specify in the LPR command. (Example: lp)
Directory: Specify the pathname of the spool directory. PC/TCP will create the directory if it does not exist. (Example: c:\spooldir)
Windows Printer: Select a printer from the pull-down list of installed Windows print drivers. This determines the port where Print Manager sends the print job.
Printer Operations:
Use log file: Select this option if you want to log messages about the print queue. Give the complete pathname of the file to hold the log messages. The print server will create the file if it does not exist.
Spooling: Select this to start printing. It must be ON for the server to print anything.
Header pages: Select this if you want a banner to start the print job.
Formfeed: Select to start each print job on a new page.
Printer Control Sequences: Enter any special printer control sequences here to control the header page font, startup print mode, or PostScript header. These commands are specific to the printer being used. Most sequences start with an unprintable escape character. In the print server window, type the string \e to specify the escape character. The HELP feature in this dialog window will give information on entering other unprintable characters.
File Type: You can select a file type and then define special initialization and end sequences for that file type. This can be done for multiple file types. (The HELP button will provide more information.)
After you have filled in the Add Printer Queue dialog box, select OK and you will return to the LPD Print Server Configuration dialog box.


To restrict access: Create a HOSTS file to restrict access to the LPD Print Server. Typically, the file is called HOSTS.LPD and is in the \ETC directory. The file should contain the name of each authorized host, one per line. Comment lines begin with a # character.

Sample \ETC\HOSTS.LPD file:

#  This is a comment line
userx.xyz.com
x55.station.edu
hostname.nih.gov

In the LPD Printer Server Configuration dialog box, select the Use Hosts File check box and enter the filename (e.g., C:\ETC\HOSTS.LPD) in the window.


For logging: Select the logging level desired by clicking on the Normal or Debug radio button.


Here is an example of what will be added to the PCTCP.INI file as a result of setting up an LPD server in Windows:

[pctcp lpd]
printers = usasx55
use-auth-file = yes
logging-level = normal
auth-file = c:\ets\hosts.lpd
 
[pctcp lpd usasx55]
dir = c:\spooldir
win-printer-name = HP LaserJet 4Si PS 300dpi on LPT1:
log-file = c:\lpdlog
use-log-file = yes
spooling = yes
break = yes
formfeed = yes


Activating the LPD server

After the LPD Print Server is configured, it is activated through the Server Control program. Open the Server Control application and select the LPD icon. Turn on the Print Server by clicking on the "running man" menu button. Minimize the window and continue processing in other windows. The LPD Print Server will be running in the background. The server can be deactivated by clicking on the "hand" button in the Server Control dialog box.


An AppleTalk printer attached to NIHnet

There is no special set up to configure an AppleTalk printer for use from VPS. The Network Systems Branch maintains a conversion utility that will convert the print request from the LPD protocol to AppleTalk protocol. The AppleTalk domain and AppleTalk printername for the printer must be supplied upon printer registration. In this case, there is no facility to control page orientation (landscape or portrait). If control of orientation is important (e.g. ADBIS printing), then the user should print to a printer which understands Hewlett Packard Printer Command Language 5 (PCL 5).

A Line Printer Daemon serving local printers

Since the configuration of LPD servers is not standardized, it is impossible to cover all the possible procedures here. A standard ASCII printer queue definition for 'lp' will work for VPS. LPD servers which have been tested with VPS include, Sun, RS/6000, Lantronix print servers, and Netware LPD servers.


Application Specific Notes

If the user intends to print from the Administrative Database (ADB), then we will reconfigure the ADB to direct the user's print requests to this printer. Since ADB print requests assume 66 lines a page, you should set your printer for 66 lines a page. This can be done statically in the printer or by having PC/TCP download the command to the printer with each print request. Most printers have settings that are controlled by sending the printer special "setup strings" of characters. The string you use depends on what model printer you have. For example, the setup string for HP LaserJet printers to print exactly 66 lines per page, as appropriate for IMS, is <esc>E<esc>&l0o7.27c3e66F, where <esc> represents the non-printing Escape character. You can have the LPD program send a special setup string to the printer at the begining of every print job by including a "text-init=" statement in the [pctcp lpd queuename] section of the PC/TCP.INI file. (queuename is the name of the print queue as used in the lpr command.) You must specify the setup string to the right of the "=" sign, and you must use an editor that allows you to insert the non-printing Escape character or any other special characters that are part of your printer's setup string.
Please direct any comments or questions to TASC and specify that the comment or question regards VPS. TASC can be reached at (301) 594-3278 or by email at TASC@nih.gov.