Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ x29printd(1M) — HP-UX 9.03

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

enable(1)

lp(1)

lpstat(1)

mail(1)

slp(1)

x25stat(1)

accept(1M)

lpadmin(1M)

lpsched(1M)

mklp(1M)

rcancel(1M)

rlp(1M)

rlpdaemon(1M)

rlpstat(1M)

sam(1M)

x25init(1M)

x29hosts(4)

x3config(4)

x29printd(1M)

NAME

x29printd − remote PAD printer server for LP requests over X.25 network

SYNOPSIS

/etc/x29printd [-l loglevel] [-w maxwrap] [-v]

DESCRIPTION

x29printd provides host access to remote PAD printers on X.25 networks.  x29printd and Packet Assembler/Disassember (PAD) devices use the CCITT X.3 and X.29 standards for communication protocol.  With x29printd, users on HP 9000 host systems with X.25 access can send print requests to be printed on selected printers connected via PAD on X.25 networks.  x29printd interfaces with the underlying X.25 software via the BSD sockets.  It initiates X.25 calls and sends print data to the remote PAD.  x29printd uses pty device pairs (see pty(7)) to communicate with the HP-UX line-printer spooling system.  The HP-UX line-printer spooler writes data to a slave device and x29printd reads data from the corresponding master device.  x29printd is thus basically a pipe through which data is passed from the pty to X.25. 

x29printd can be invoked at system initialization time from the /etc/netlinkrc file.  To ensure proper functionality, the X.25 subsystem should be initialized before invoking x29printd.  x29printd must work with the HP-UX line printer spooler to prevent intermixed listings, to provide control of printout routing, and to allow users to cancel, restart, and adjust the priority of print requests.  The remote PAD printers and the device interfaces must be configured in the HP-UX line printer spooler system. 

Options

x29printd recognizes the following options:

−l loglevel Set the logging level for error messages from the x29printd daemon to logfile /usr/adm/x29/x29printd/x29printd.log.  loglevel can be one of the following values:

0 No logging. 

1 Minimum session logging and error logging. 

2 PAD and X.25 network error logging plus 1. 

3 Information and status logging plus 2. 

Default is 1. 

-w maxwrap Specify maximum size for server daemon logfile.  Allowable range for maxwrap is 1-5000.  Default is no maxwrap (if the -w option is missing and loglevel is 1, 2, or 3, the daemon logfile grows indefinitely). 

-v The -v option turns verbose on.  Verbose is off when this option is not present.  When verbose is on, explicit CAUSE of the error condition and the ACTION required for the error condition is displayed in the logfile. 

Configuration

Configuration of remote PAD printers for use with x29printd is provided by two files, /etc/x25/x29hosts, and /etc/x25/x3config. 

/etc/x25/x29hosts defines the configuration for x29printd for each remote PAD printer.  A remote PAD printer configuration entry is identified by the keyword printer followed by information about the printer beginning with { and ending with }.  The information required between the opening and closing braces specifies the device file to be used by the line printer spooler system, the local X.25 programmatic access name for call set-up, the X.121 address of the remote PAD printer, the reverse charge option for X.25 calls, the logging level on a per-call basis, and the X.3 configuration set name.  A typical remote PAD printer entry in /etc/x25/x29hosts resembles:

printer{
    device          printer1
    name            hptndxk0
    x3              hp_printer
    remote_x121     408555111201
    reverse_charge  enable
    logging        1
}

/etc/x25/x3config provides the initial X.3 parameters for the remote PAD printers defined in /etc/x25/x29hosts.  The example above uses the hp_printer set name to specify the X.3 parameter set in the /etc/x25/x3config file.  An example of the hp_printer set is:

hp_printer {
     1    0
     2    0
     3    0
     4   10
     5    1
     6    0
     7    0
     8    0
     9    0
    10    0
    11   14
    12    1
    13    0
    14    0
    15    0
    16    8
    17   24
    18    0
    19    1
    20    0
    21    0
    22    0
}

The x29printd daemon should be invoked after the configuration for all remote PAD printers is set-up in /etc/x25/x29hosts and /etc/x25/x3config. 

After invoking x29printd, the remote PAD printer must also be configured in the spooler system for remote printing to work with the HP-UX line printer spooler commands.  The command to configure a remote PAD printer in the spooler system is lpadmin -p printer_name -v device_file_name -m printer_model where

printer_name is the name given to this printer at the user level.  It is the value that the user would give for the -d option in the lp command when a file is to be printed (see lp(1)).

device_file_name is /dev/x29/devicename.  The value for device_name is the same as that entered in the device entry in /etc/x25/x29hosts. 

printer_model is the HP printer model name.  Examples are thinkjet, laserjet, hp2563a, and so forth. 

The lpadmin command associates a printer name with a device file name and /etc/x25/x29hosts associates the device file name with the remote printer’s X.121 address (see lpadmin(1)).  lp can then be used for printing to remote PAD printers. 

The x29printd daemon forks a child for each one or more consecutive lp requests received from the line printer spooler system.  The daemon continues waiting for requests from the line printer spooler system while the child transmits data to the remote PAD printer.  After all print requests are sent to the remote PAD printer, the child clears the virtual circuit and terminates. 

EXTERNAL INFLUENCES

x29printd is implemented with native language support.  The logging can be in a foreign language by setting the LANG environment variable to correct NLS values and putting corresponding message catalog files in /usr/lib/nls/.  See nlsinfo(1).

DIAGNOSTICS

x29printd exits if error conditions exist and cannot be corrected at start-up. 

x29printd: Must have root capability to start server. 
x29printd can be invoked only by the super-user. 

Error accessing the configuration file. 
Unrecoverable errors exist either in /etc/x25/x29hosts or in /etc/x25/x3config.  Correct the errors in the files and start x29printd again. 

Open error on all master devices

Open error on all slave devices
x29printd could not allocate pty master slave device pairs.  Examine the state of the pty devices, correct any discrepancies between the master and slave pty devices and try again. 

x29printd does not exit if errors occur on specific print requests or X.25 connections to remote PAD printers.  Errors of this nature are logged to the logfiles in the directory /usr/adm/x29/x29printd.  The daemon logfile is x29printd.log.  There are also logfiles for x29printd children forked by the daemon.  The logfiles for the children are identified by the device name in /etc/x25/x29hosts followed by the process ID of the child.  The daemon forks a child for each X.25 connection established. 

Error messages in either the daemon or the child logfiles are timestamped and identified by a system error code, a x29printd error code, and a brief error message.  The format of the error message is:

<date> <time> <system error code>.<x29printd error code> <error message>

A typical error message resembles:

03/10/92 12:30:37 239.2303 Unable to connect to remote node

which says error code 239 was returned when x29printd tried to establish a connection to the remote PAD printer.  Error 239 in /usr/include/sys/errno.h is ECONNREFUSED which means the connection request is refused by the remote PAD. 

WARNINGS

x29printd has no spooling capability.  It does not enable, disable, accept, or reject printers.  It does not schedule or cancel print requests. 

If a new x29printd is invoked when a previous x29printd daemon already exists and is running on the host system, the existing x29printd is killed before the new x29printd becomes a daemon. 

x29printd supports 250 remote PAD printers.  There must be one pty master-slave device pair for each remote PAD printer configured.  The X.25 subsystem must have enough virtual circuits available to allow one virtual circuit for each PAD printer being used. 

x29printd does not support permanent virtual circuits.  It can only be used on switched virtual circuits. 

x29printd does not support the fast-select feature in X.25. 

AUTHOR

x29printd was developed by HP. 

FILES

/etc/x25/x29hosts
/etc/x25/x3config

SEE ALSO

enable(1), lp(1), lpstat(1), mail(1), slp(1), x25stat(1), accept(1M), lpadmin(1M), lpsched(1M), mklp(1M), rcancel(1M), rlp(1M), rlpdaemon(1M), rlpstat(1M), sam(1M), x25init(1M), x29hosts(4), x3config(4). 

Installing and Administering X.25/9000. 
Troubleshooting X.25/9000.
HP 9000 Series 800 System Administration
HP 9000 Series 300/400 System Administration
HP 9000 Series 700 System Administration

STANDARDS CONFORMANCE

The implementation of X.29 and X.3 protocols in x29printd conforms to the 1984 CCITT standards. 

Hewlett-Packard Company  —  HP-UX Release 9.03: April 1994

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026