Network Printing Setup Page

Last updated January 9, 1997

Introduction

We are frequently asked for advice on setting up various kinds of systems to submit a TCP/IP print job. Unfortunately, we don't have access to or experience with some of these systems. Fortunately, many our our clients do!

Several individuals have provided us with tips, which we present below. We are not necessarily able to confirm that this information is accurate or whether it contains anything that may prove harmful to your computer system or network. Before considering the following, we ask that you view these as suggestions rather than professional guidance. You should consult your system administrator or computer system vendor before making any changes which might affect availability or reliability.


MVS/JES
AIX
Solaris
AS/400
SCO Unix
Unix "printcap"


MVS/JES

Bill Kelly, Auburn University

There are several potential sources of print data on an MVS mainframe, and several possible methods for LPRing that data to LPD server.

Perhaps the simplest case is where the LPR command is used to print a copy of a disk file. This can be done interactively (under TSO) or in a batch job. The LPR command is a part of IBM's TCP/IP for MVS product, and it works very much like the LPR command you would find on a workstation.

On most MVS systems, though, the majority of print data will be generated by two other sources:

  1. Batch jobs (sometimes very long reports)
  2. On-line systems running under CICS.

Batch jobs normally produce printouts that go into the JES spool for printing. Output from CICS applications is designed to be sent directly to a 3270-family printer device.

There are a couple of options for intercepting both of these types of print data and LPRing them to a print server.

One method is to use IBM's Network Print Facility, a product that comes as an optional feature of TCP/IP for MVS version 3.1. NPF includes software that can take printouts from the JES spool and LPR them off to a print server. It also has software that "pretends" to be a 3270-style printer and intercepts printouts coming from CICS; these printouts are then sent via LPR to a print server.

The other option for printing JES and CICS data at an LPD server is a combination of products from Levi, Ray and Shoup. A product called VPS/TCPIP will take printouts from the JES spool and use LPR to send them to a server. A second product, called DRS, emulates 3270-style printers so that it can intercept CICS printouts and then send them to an LPD server.

Both IBM's NPF and Levi, Ray and Shoup's products require that the MVS system administrators define CICS printers and JES destinations to the software, and associate LPD hostnames/IP addresses with each "virtual" printer.

Return to top of page


AIX

Billy Glenn, PG&E

Use the following menus after launching SMIT (as root):

  1. Spooler (Print Jobs)
  2. Manager Remote Printer Subsystem
  3. Client Services
  4. Remote Printer Queues
  5. Add a Remote Queue

From this point, you fill in the local and remote queue names, change the filters from aixshort/aixlong to bsdshort/bsdlong, and leave everything else as the defaults (fifo, no accounting, /usr/lpd/rembak as the backend program).

Return to top of page


Solaris

Billy Glenn, PG&E

Run admintool (as root), which provides a GUI interface for configuring the system. From there select Printer Manager, and choose to 'Add Printer'. This brings up a dialog box where you specify the printer name (queue name), printer server (remote host) and specify System V or BSD type (BSD in this case).

Return to top of page


AS/400

Leith Casone, Tropicana

The flow goes something like this.

  1. Create an outq on the 400 with the CRTOUTQ command this is where the destination address and queue goes
  2. Check that the PC is entered into the AS/400's host table using GO TCPADM.
  3. Start the remote writer STRRMTWTR

Now anything that you send to the outq will go to the PC.

You can also send individual files to the printer by LPR or SNDTCPSPLF (send tcp spool file) commands. But this is slow, you have to copy spool file information down and then copy each file one at a time.

=================================================
Stuff from the IBM Manual
=================================================

4.4.2.1 How do I set up printer pass-through?
To enable printer pass-through, you need to create a remote output queue with the Create Output Queue (CRTOUTQ) command and specify a remote system parameter with a value other than *NONE. You may specify either the remote system (host) name or *INTNETADR, in which case you will be prompted for the internet address of the remote system.

A word of caution: A remote output queue cannot send any file for a user if the user profile for the user has a password of *NONE. Many AS/400 systems are configured to have passwords of *NONE for all IBM-supplied user IDs, like QSYSOPR. This will present a problem printing some system logs and other documents.

The following parameters on the CRTOUTQ command are relevant to using printer pass-through with LPR. Examples for specifying the parameters are shown in Figure 24.

+----------------------------------------------------------------------------------+
¦
¦
¦                           Create Output Queue (CRTOUTQ)
¦
¦
¦
¦  Type choices, press Enter.
¦
¦
¦
¦  Output queue . . . . . . . . . . > RCHASM01      Name
¦
¦    Library  . . . . . . . . . . .     *CURLIB     Name, *CURLIB
¦
¦  Maximum spooled file size:
¦
¦    Number of pages  . . . . . . .   *NONE         Number, *NONE
¦
¦    Starting time  . . . . . . . .                 Time
¦
¦    Ending time  . . . . . . . . .                 Time
¦
¦                 + for more values
¦
¦  Order of files on queue  . . . .   *FIFO         *FIFO, *JOBNBR
¦
¦  Remote system  . . . . . . . . . > RCHASM01

I've used myname.mydomain.com

¦
¦

¦
¦
¦  Remote printer queue . . . . . . > RCHASM03
¦

I've used MyName

¦
¦
¦
¦  Writers to autostart . . . . . . > 1             1-10, *NONE
¦
¦
More...  ¦
¦  F3=Exit   F4=Prompt   F5=Refresh   F10=Additional parameters
F12=Cancel       ¦
¦  F13=How to use this display        F24=More keys
¦
¦
¦
¦
¦
+----------------------------------------------------------------------------------+
 
 
+----------------------------------------------------------------------------------+
¦
¦
¦                           Create Output Queue (CRTOUTQ)
¦
¦
¦
¦  Type choices, press Enter.
¦
¦
¦
¦  Queue for writer messages  . . .   QSYSOPR       Name
¦
¦    Library  . . . . . . . . . . .     *LIBL       Name, *LIBL, *CURLIB           ¦
¦  Connection type  . . . . . . . . > *IP           *SNA, *IP
¦
¦  Destination type . . . . . . . . > *OTHER        *OS400, *OS400V2,
*PSF2...     ¦

I've changed this to *Other

¦  Transform SCS to ASCII . . . . .   *YES          *YES, *NO
¦


¦  Manufacturer type and model  . . > *HP4

This represents the final destination printer, I have set this to *HP3 - If the AS/400 supports your printer this will translate the data to final output specs, set RPM to RAW and the doc will print according to the printfile defination (very limited). If there is a way to tell the AS/400 not to format this data (i.e. if I could specify *none or something else, *none is not an option) then I could use the formatted option of RPM. The 400 seems to have a problem actually "composing" the page in PCL? before it sends it down the fonts 13.3CPI x 6LPI that should fit on a page don't. I've changed to 15 CPI and the width is fine. I'm still working on the length.

Ensure that the print queue for the remote system exists before you start the pass-through process.

This completes the setup processing.

To start printer pass-through, do the following:

  1. Use the Start Remote Writer (STRRMTWTR) command.
  2. Specify the queue name on the local (LPR) system which you created in the previous section. This starts a writer in the QSPL subsystem which, when using TCP/IP, uses LPR to send print files to the remote (LPD) system.
  3. Ensure that LPD is operational on the remote system and in the case of the AS/400 that the remote printer writer is active.

In the event of problems with this processing, the writer's job log is often a useful source of problem analysis material. To access this while the job is running, enter the WRKACTJOB SBS(QSPL) command and take option 5 against the writer job. This shows the Work with Writers display, from which it is necessary to press F17 to see the job log. This sequence is different from the usual one for viewing batch and interactive job logs while the jobs are running.

_                 _       Create Printer File (CRTPRTF)       _

_Typechoices,pressEnter._

 File . . . . . . . . . . . . . . FILE         >_TEST_______
   Library  . . . . . . . . . . .              >  _LCLIB______
 Source file  . . . . . . . . . . SRCFILE       _*NONE______
   Library  . . . . . . . . . . .                 ____________
 Source member  . . . . . . . . . SRCMBR        _*FILE______
 Generation severity level  . . . GENLVL        _20_____
 Flagging severity level  . . . . FLAG          _0______
 Device specification:            DEV
   Printer  . . . . . . . . . . .               _*JOB_______
 Printer device type  . . . . . . DEVTYPE       _*SCS_______
 User specified DBCS data . . . . IGCDTA        _*NO__
 DBCS extension characters  . . . IGCEXNCHR     _*YES_
 Text 'description' . . . . . . . TEXT
_*SRCMBRTXT_________________________________________

 Source listing options . . . . . OPTION        ___________
                           + for more values    ___________
 Page size:                       PAGESIZE
   Length--lines per page . . . .               _66_______
   Width--positions per line  . .               _132______
   Measurement method . . . . . .               _*ROWCOL_
 Lines per inch . . . . . . . . . LPI           _6_____
 Characters per inch  . . . . . . CPI           _10____

The LPI and CPI that you can define here are limited.

 Front margin:                    FRONTMGN
   Offset down  . . . . . . . . .               _*DEVD_____
   Offset across  . . . . . . . .               __________


 Back margin:                     BACKMGN
   Offset down  . . . . . . . . .               _*FRONTMGN_
   Offset across  . . . . . . . .               __________
 Overflow line number . . . . . . OVRFLW        _60_____
 Fold records . . . . . . . . . . FOLD          _*NO__
 Unprintable character action:    RPLUNPRT
   Replace character  . . . . . .               _*YES_
   Replacement character  . . . .               _'_'_
 Align page . . . . . . . . . . . ALIGN         _*NO__
 Control character  . . . . . . . CTLCHAR       _*NONE_
 Channel values:                  CHLVAL      ___
   Channel  . . . . . . . . . . .               _*NORMAL_
   Line number for channel:
   Line . . . . . . . . . . . . .               _________
                           + for more values  ___
 Fidelity . . . . . . . . . . . . FIDELITY      _*CONTENT__

 Print quality  . . . . . . . . . PRTQLTY       _*STD_______
 Form feed  . . . . . . . . . . . FORMFEED      _*DEVD____
 Source drawer  . . . . . . . . . DRAWER        _1______
 Output bin . . . . . . . . . . . OUTBIN        _*DEVD_______
 Font:                            FONT
   Identifier . . . . . . . . . .               _*CPI_______
   Point size . . . . . . . . . .               ________
 Character identifier:            CHRID
   Graphic character set  . . . .               _*DEVD_____
   Code page  . . . . . . . . . .               ________
 Font character set:              FNTCHRSET
   Character set  . . . . . . . .               _*FONT_____
     Library  . . . . . . . . . .                 ____________
   Code page  . . . . . . . . . .               ___________
     Library  . . . . . . . . . .                 ____________
 Coded font . . . . . . . . . . . CDEFNT        _*FNTCHRSET_
   Library  . . . . . . . . . . .                 ____________
 Degree of page rotation  . . . . PAGRTT        _*AUTO_
 Pages per side . . . . . . . . . MULTIUP       _1______
 Reduce output  . . . . . . . . . REDUCE        _*TEXT_
 Print text . . . . . . . . . . . PRTTXT_*JOB_____________________________
 Hardware justification . . . . . JUSTIFY       _0______
 Print on both sides  . . . . . . DUPLEX        _*NO_____
 Unit of measure  . . . . . . . . UOM           _*INCH_
 Front side overlay:              FRONTOVL
   Overlay  . . . . . . . . . . .               _*NONE_____
     Library  . . . . . . . . . .                 ____________
   Offset down  . . . . . . . . .               __________
   Offset across  . . . . . . . .               __________
 Back side overlay:               BACKOVL
   Overlay  . . . . . . . . . . .               _*FRONTOVL_
     Library  . . . . . . . . . .                 ____________
   Offset down  . . . . . . . . .               __________
   Offset across  . . . . . . . .               __________
 Defer write  . . . . . . . . . . DFRWRT        _*YES_
 Spool the data . . . . . . . . . SPOOL         _*YES_
 Spooled output queue . . . . . . OUTQ          _*JOB_______
   Library  . . . . . . . . . . .                 ____________
 Form type  . . . . . . . . . . . FORMTYPE      _*STD_______
 Copies . . . . . . . . . . . . . COPIES        _1______
 Page range to print:             PAGERANGE
   Starting page  . . . . . . . .               _1___________
   Ending page  . . . . . . . . .               _*END________
 Max spooled output records . . . MAXRCDS       _100000______
 File separators  . . . . . . . . FILESEP       _0_
 Spooled output schedule  . . . . SCHEDULE      _*FILEEND_
 Hold spooled file  . . . . . . . HOLD          _*NO__
 Save spooled file  . . . . . . . SAVE          _*NO__
 Output priority (on OUTQ)  . . . OUTPTY        _*JOB_
 User data  . . . . . . . . . . . USRDTA        _*SOURCE____
 DBCS character rotation  . . . . IGCCHRRTT     _*NO__
 DBCS characters per inch . . . . IGCCPI        _*CPI_______
 DBCS SO/SI spacing . . . . . . . IGCSOSI       _*YES___
 DBCS coded font  . . . . . . . . IGCCDEFNT     _*SYSVAL___
   Library  . . . . . . . . . . .                 ____________
 Maximum file wait time . . . . . WAITFILE      _*IMMED_
 Share open data path . . . . . . SHARE         _*NO__
 Record format level check  . . . LVLCHK        _*YES_
 Authority  . . . . . . . . . . . AUT           _*LIBCRTAUT_
 Replace file . . . . . . . . . . REPLACE       _*YES_

And again IBM wins the worlds most verbose command award... the crowd goes wild!! :)

Return to top of page


SCO Unix

Michael Demker, Magistrat Salzburg

Scoadmin generates a printcap entry with a flag called "ex" by default. This flags means extended lineprinter protocol ... [which is not understood by any machine than] another SCO-machine. ("man printcap" was helpful).

Return to top of page


Unix "printcap" entry

Dave Brooks

I'm asked from time to time about printcap entries for Unix systems that use /etc/printcap. You will probably have the best results from man printcap or consulting a good Unix system administration book.

However, I was able to dig up an old printcap entry from a DEC Ultrix system (fields and values shown may not apply to your system):

dave|daves printer:\
	:lp=:\
	:of=/usr/lib/lpdfilters/lpf:\
	:mx#0:\
	:rm=davespc:\
	:rp=lp0:\
	:sd=/usr/spool/lpd:\
	:lf=/usr/adm/lpd-errs:

The important fields here are rm, which specifies the hostname or IP address of the PC that your LPD is running on (in this case "davespc"), and rp which is the name of a queue you have defined in that LPD (in this case "lp0"). Note that this is not necessarily the same as a Windows print queue. An LPD queue is closer to a receive queue, that is, an agreed on place to send requests. An LPD should support multiple queues, and each queue should have its own processing characteristics, which usually would include the Windows print queue or queues it should go to.

Return to top of page


[HOME] [NEWS] [COMPANIES] [PRODUCTS] [FEEDBACK]

Orders: (800)829-6163 -- FAX:(954)463-3355 -- Email: sales@ecc400.com