Page 1  
  Setting up a Network Printer on MPE/iX
1) Identify the printer you want to use. Write down the IP address of the printer. Note: MPE's network printing is designed to work with printers connected with HP JetDirect cards (or equivalents).

NOTE: before proceeding, we will "ping" the printer from your HP 3000 to check that the printer is actually accessible
on the network.

a) logon as MANAGER.SYS

b) ", 5"

NOTE: replace the in the example above with the IP address of your printer!

If the printer is reachable, the output should look like:

-------- PING/XL (ICMP Echo Requestor) : Version B0600000 --------

Remote IP address in hex : $C0641704
Number of packets : 5
Number of data bytes : Default of 64 bytes

---- PING $C0641704 : 64 byte packet(s), 5 packet(s) ----

64 byte(s) from $C0641704 : icmp_seq = 1, time = 4 ms
64 byte(s) from $C0641704 : icmp_seq = 2, time = 4 ms
64 byte(s) from $C0641704 : icmp_seq = 3, time = 4 ms
64 byte(s) from $C0641704 : icmp_seq = 4, time = 4 ms
64 byte(s) from $C0641704 : icmp_seq = 5, time = 4 ms

---- $C0641704 PING Statistics ----

5 packet(s) transmitted, 5 packet(s) received, 0 % packet loss round trip (ms) min/avg/max = 4 / 4 / 4

2) Configure the printer in NPCONFIG.PUB.SYS

a) logon as MANAGER.SYS

b) run your favorite editor, and text in NPCONFIG.PUB.SYS

Note: if NPCONFIG does not exist, then create a new file that looks like:

#<-------column 1 (this line isn't in the file)
# See for documentation.
# defaults:
# program_file = OUTSPTJ.PUB.SYS
# poll_interval = 10 seconds
# poll_interval_max = poll_interval = 10 seconds
# data_timeout = 10 seconds
# snmp_timeout = 5 seconds
# snmp_max_retries = 3

global (message_interval = 60 # Repeat msgs every >= 60 secs.
banner_header = FALSE # SS: don't want a header page
banner_trailer = FALSE # dont want a trailer
data_tray = 0 # SS: don't ask for a tray
jam_recovery = TRUE # Reprints jammed pages by itself
pjl_supported = TRUE) # LJ4Si is a full PJL device.

c) add an entry for the printer's ldev:

Let's choose 16 for this example. The ldev can be any unused ldev of your choice. (The ldev starts in column 1.)

16 (setup_file = PCLELITE.HPENV.SYS
network_address =

NOTE: replace the in the example above with the IP address of your printer!

In other words "" is VERY BAD. This will cause errors that are difficult to diagnose. Remove all leading zeroes, and use ""

e) Keep the edited file, unnumbered

with QEDIT: kq npconfig
with EDITOR/3000: k npconfig, unn

3) Configure the same ldev for the printer in SYSGEN

a) logon as MANAGER.SYS

b) add ldev via SYSGEN:

adev 16, none, HPTCPJD;class=netlp,lp

If you have other classes you would like the printer to appear in, add it to the class= list. This can be a useful method of identifying individual printers.

For example, a printer at my desk might be in class LPSTAN, which would let me direct output to it via: file lp; dev=LPSTAN

NOTE: the printer need not be in class LP. (It may not need to be in class NETLP, but it's convenient to be able to see the status of all of your networked printers via: SHOWDEV NETLP)


tape verbose

We're creating a backup SLT tape, which should always be done when making SYSGEN changes. Don't worry, we won't have to use the tape to install ldev 16.

NOTE: You may want to create something a bit more useful than a standard SLT tape, for example, one that includes the entier SYS account. Create a flat ASCII file with the following two text lines:

@.@.SYS - NL.PUB.SYS - XL.PUB.SYS - DUMPAREA.MPEXL.SYS ; directory; progress; show; compress

(omit "compress" if you don't have the expensive version of STORE)

Keep it unnumbered as SLTSTUFF.PUB.SYS.

Change the above SYSGEN command "tape verbose" to:

tape verbose; store = ^sltstuff

Now, the "tape" command will create an SLT tape and append to it a STORE of the SYS account and a copy of the accounting system directory. At our site, we include more than the SYS account...we generally add our web server account and some tools accounts (@.@.ALLEGRO, @.@.LPSTOOLS, @.@.TELESUP).


4) Apply SYSGEN changes

The classic method, and safest method, is to reboot, issuing a "START NORECOVERY".

An alternative method is to ask MPE to apply the changes we just made now:

:print log4onln

Examine the output from the above...if the text is *ONLY*

ad 16,none, [...]

then we can proceed with the online update:


The above runs IOCONFIG.PUB.SYS with a special entrypoint, telling it to apply the changes logged by the recent run of SYSGEN.

If the text has any other commands in it, you should review them to make sure that applying them would be correct. It's possible that the log4onln file was an old file, with inappropriate commands in it ... to which your "ad 16" was appended!

If you choose to use the reboot method, purge the log4onln file first:

:purge log4onln

If you use the ":doionow" method, the new ldev should immediately be available, and should appear in:

:showdev 16

5) Ldev 16 should now be available

NOTE: if ldev 16 was not initially spooled (via SYSGEN), you may need to do a "STARTSPOOL 16" command.

NOTE: if you did not reboot, then 16 will be available only to the "SHOWDEV" command, but it will not yet be available for printing because the network software hasn't seen it yet.

To force the network software to immediately recognize the printer without doing a reboot:

:startspool 16

6) Test the new printer

Logon, and issue a file equate like:

:file lp; dev=16 or :file lp; dev=LPSTAN

showme > *LP

It should start printing within a couple of seconds.

7) Additional Information regarding network port numbers:

The HP 3000 Network Printing facility will use the JetDirect TCP port 9100 by default, but this can be changed using the TCP_port_number item in the NPCONFIG.PUB.SYS file. 9100 is the default "raw TCP" printing port supported by most HP JetDirect interfaces. Some JetDirect EX interfaces support multiple ports, and typically use the port numbers 9100-9103 to select which interface on the box you want to talk to. For more information please see Table 3-3 in the HP Native Mode Spooler Reference Manual. (Part No. 32650-90848; Customer Order No. 32650-90166)   Resource 3000 - NEWS - Issue No. 1 - JANUARY 2005