#
Upgrading and Repairing Networks

# - 23 -

# Adding Network Printing

For many users, a network is little more than an elaborate device for producing printouts. Time and effort invested in your network's printing capabilities can enhance the perception of the network, just as printing problems can tarnish the image of an otherwise perfect installation.

This chapter looks at the provision of print services on a network, covering the configuration, management, and maintenance of printers, print servers, and queues.

## Networked versus Local Printing

Printers have traditionally been attached directly to stand-alone workstations. The path followed by data as it is printed is a straight one: The application running on the workstation sends data to a communications port; from there, the data travels directly to a printer that then processes the data.

As you might expect, networked printing is more complex. This is especially true in a client-server environment. The data must go from the application on the workstation, through the workstation's network interface to a server. From there it finds its way to one of an arbitrary number of printers, possibly a considerable time from when it was "printed" by the user and possibly following one of several viable paths. The data will then be processed by the printer as if the printer had been directly attached to the workstation.

Networked printing has some disadvantages. Users may not be willing to walk to a collection point that is any farther away than the end of their desk. They also may not trust the network to look after their printing needs--the rattle and hum of rollers and paper trays can be reassuring to many. Also, from the network manager's point of view, networking a printer is obviously more difficult than simply plugging a printer into the back of a PC.

You and your users need to decide before you start whether it's worth the effort. In fact, there are several compelling reasons why printing and networking go hand-in-hand. These include the following:

- Shared printers
- More access points
- Print spooling
- Central management
- Access control
- Flexibility

These benefits are described briefly in the following sections.

### Shared Printers

Perhaps the most obvious benefit of networked printing is the ability to share a single printer among many workstations. No workstation prints constantly, so why should a printer be permanently attached to it when there are other workstations around without printers?

This logic applies especially to expensive or specialized printers. A high-quality color printer, for example, may be an expensive purchase, but if it is set up on the network, it can be made available to many users at all times.

### Greater Access

A printer that is not available from the network can be accessed from one point only--the workstation to which it is physically attached. Setting the printer up on the network makes it available from all network access points--that is, from all workstations.

Consider a nonnetworked printer that is connected to User A's workstation. Not only is the printer unavailable to users who do not have physical access to that workstation, but also it is unavailable to User A when she is not at her desk. Setting it up on the network is therefore of benefit to all users, including any person who may have had sole use of it in the past.

### Print Spooling

An application that sends data directly to a printer must wait for the printer to finish processing the data before it can move on to its next task. To the user, this means an interruption in work--click the print button and then leave the workstation while the document is being printed. If the document is long or contains complex graphic material, the workstation may be unavailable to the user for other tasks for a considerable period of time.

The reason for the delay is generally not at the application end of things. The delay may be caused by a printer that is slow at processing the data or the communications link between, or a workstation may not be fast enough to transmit the data as quickly as the printer can process it.

Print spooling is the process of storing the data to be printed in an intermediate location. This location is rapidly accessible by the application so that the data can be written there quickly. The application (and the user!) can then move on to the next task. The data can be transmitted from the spool area to the printer at a later stage or slowly over time as the printer processes the data.

The DOS PRINT utility uses a RAM buffer as a spool area. Windows uses temporary files for the same purpose. In either case, control of the workstation is returned to the user shortly after the print request is made. The workstation may run more slowly than usual because it must now perform the additional background task of transmitting the data from the spool area to the printer.

Printing to a network printer makes even better use of spooling, in two ways:

  1. The spool area is on a server rather than on the workstation. This means that it is the server's job to transmit it to the printer, so the user does not have to endure the performance degradation of workstation-based spooling.
  2. The server's spool area will continue to hold the data until it has been processed. Even if the printer is unavailable or busy, the user can turn off the workstation without having to resend the data.

The printer will take the same amount of time to process the data with or without print spooling. But to the user, print spooling can mean much less time wasted on "printing."

### Central Management

Putting printers on the network can mean having them in a central location, perhaps near you so that you can monitor and maintain them easily. It may also mean having them scattered across the network, close to the users who will want to collect them. In either case, the printing system that brings the data from the workstation to the printer can be managed centrally.

### Access Control

You can make effective use of your network's security features to restrict access to printers to particular individuals or groups. This is possible because the spool area is on the server and access to it can be controlled in the same way as access to any other server-based service.

### Flexibility

The combination of central management and print spooling can provide a considerable degree of flexibility in print management. You can add a second printer to service a busy queue, take a printer offline for upgrade or maintenance, switch a printer from a serial connection to the server to an Ethernet connection direct to the network--all without affecting users.

## Printers and Interfaces

For all their differences in technology, type of mechanism, brand, and model, all printers on the market today use one of a small number of communications interfaces. The reason is simple: A printer must have an interface through which it can receive data, and this interface must be compatible with the communications interface on the computer that sends the data. There are three basic interface types at present:

- Parallel
- Serial (RS-232)
- Net-direct

The next few sections look at each interface type in turn.

### Parallel

Parallel ports are designed mainly for transmitting data from computers to peripheral devices. The original IBM PC printer port was unidirectional, meaning that it was capable of transmitting but not of receiving data. That limitation didn't matter too much at first, as the aim when printing was to get the data from the PC to the printer. Some printers, however, need to talk back to the computer--PostScript printers, for example. The more recent bidirectional parallel ports allow two-way communication between the computer and the peripheral device. In addition to allowing PostScript printers and PCs to coordinate printing, the wide availability of these ports has facilitated the development of a range of peripheral devices. Ethernet adapters that plug into the PC's parallel port are one example.

Parallel ports get their name from the way in which they send a byte of data. All eight bits are transmitted at the same time, or "in parallel." Parallel ports have eight separate wires for this purpose, one per data bit. Bidirectional ports use 16 wires for transmitting data bits.

The PC's parallel port has a female connector with 25-pin sockets as illustrated in figure 23.1. The functions of the pins are listed in table 23.1.

Figure 23.1
This is a typical PC parallel port.

#### Table 23.1 PC Parallel Port Pinouts

Pin | Signal | Direction
1 | Strobe | Out
2 | Data Bit 0 | Out
3 | Data Bit 1 | Out
4 | Data Bit 2 | Out
5 | Data Bit 3 | Out
6 | Data Bit 4 | Out
7 | Data Bit 5 | Out
8 | Data Bit 6 | Out
9 | Data Bit 7 | Out
10 | Acknowledge | In
11 | Busy | In
12 | Paper End | In
13 | Select | In
14 | Auto Feed | Out
15 | Error | In
16 | Initialize Printer | Out
17 | Select Input | Out
18 | Data Bit 0 Return | In
19 | Data Bit 1 Return | In
20 | Data Bit 2 Return | In
21 | Data Bit 3 Return | In
22 | Data Bit 4 Return | In
23 | Data Bit 5 Return | In
24 | Data Bit 6 Return | In
25 | Data Bit 7 Return | In

The parallel interface on the printer looks quite different, as can be seen from figure 23.2. It has a total of 36 contacts lined on the top and bottom of a wide slot. Pin connections vary a little from one printer to the next--consult the printer manual for specifics. A typical pinout for such an interface is listed in table 23.2. Note that unused connections are not listed.

> NOTE: The printer parallel port was designed by a company called Centronics. Such printer ports are often referred to as "Centronics ports," while the cables which plug into them have "Centronics connectors."

> CAUTION: Parallel printer cables should not be longer than two meters or so. The signal attenuation in longer cables may lead to the corruption or loss of data.

Figure 23.2
This is a typical printer parallel port.

#### Table 23.2 Typical Printer Parallel Port Pinouts

Pin | Signal | Direction | PC Port Pin
1 | Data Strobe | In | 1
2 | Data Bit 1 | In | 2
3 | Data Bit 2 | In | 3
4 | Data Bit 3 | In | 4
5 | Data Bit 4 | In | 5
6 | Data Bit 5 | In | 6
7 | Data Bit 6 | In | 7
8 | Data Bit 7 | In | 8
9 | Data Bit 8 | In | 9
10 | Acknowledge | Out | 10
11 | Busy | Out | 11
12 | Paper End | Out | 12
13 | Select | Out | 13
14 | Auto Feed | In | 14
16 | Ground |  |
19-30 | Ground |  |
32 | Fault | Out | 15
33 | Ground |  |
36 | Select Input | -- | 17

DOS supports up to three parallel ports. Each uses an I/O port address to communicate with the system; an IRQ may or may not be used. The standard setups for systems with two and three parallel ports are respectively shown in tables 23.3 and 23.4.

#### Table 23.3 Parallel Port Configuration (Two Ports)

Parallel Port | I/O Port | IRQ
LPT1 | 378h | None
LPT2 | 278h | 5/None

#### Table 23.4 Parallel Port Configuration (Three Ports)

Parallel Port | I/O Port | IRQ
LPT1 | 3BCh | 7
LPT2 | 378h | 5/None
LPT3 | 278h | None

Use a system analysis utility such as Microsoft's MSD to check the configuration of the ports in a PC. Some PCs allow these values to be set from the CMOS setup utility.

> NOTE: A port that does not use an IRQ operates in polled mode, which means checking the port periodically, rather than allowing the port to interrupt the CPU when action is required. Interrupt-driven parallel ports--that is, those using an IRQ to communicate with the system--will give significantly better performance on NetWare print servers than those that operate in polled mode. Windows NT Server systems use interrupt mode only, so polled mode isn't an option in those cases.

### Serial (RS-232)

The RS-232 (RS stands for "Reference Standard") port, also known as the asynchronous or serial port, is designed for two-way communication between a computer and a peripheral device. Figure 23.3 shows the original 25-pin form, and table 23.5 lists its pinouts. Figure 23.4 shows the newer 9-pin version, and table 23.6 lists its pinouts.

Figure 23.3
This is a 25-pin RS-232 port.

#### Table 23.5 25-Pin Serial Port Pinouts

Pin | Signal | Abbreviation | Direction
1 | Chassis Ground |  |
2 | Transmit Data | TD | Out
3 | Receive Data | RD | In
4 | Request To Send | RTS | Out
5 | Clear To Send | CTS | In
6 | Data Set Ready | DSR | In
7 | Signal Ground | GND |
8 | Data Carrier Detect | DCD | In
9 | Transmit Current Loop Return | -- | Out
10 | (Not used) |  |
11 | Transmit Current Loop Data | -- | Out
12-17 | (Not used) |  |
18 | Receive Current Loop Data | -- | In
19 | (Not used) |  |
20 | Data Terminal Ready | DTR | Out
21 | (Not used) |  |
22 | Ring Indicator | RI | In
23 | (Not used) |  |
24 | (Not used) |  |
25 | Receive Current Loop Return | -- | In

Figure 23.4
This is a 9-pin RS-232 port.

#### Table 23.6 9-Pin Serial Port Pinouts

Pin | Signal | Abbreviation | Direction
1 | Data Carrier Detect | DCD | In
2 | Receive Data | RD | In
3 | Transmit Data | TD | Out
4 | Data Terminal Ready | DTR | Out
5 | Signal Ground | GND |
6 | Data Set Ready | DSR | In
7 | Request To Send | RTS | Out
8 | Clear To Send | CTS | In
9 | Ring Indicator | RI | In

The serial interface on the printer generally uses a 25-pin connector. Table 23.7 lists the typical pinouts.

#### Table 23.7 Typical Printer Serial Port Pinouts

Pin | Signal | Abbreviation | Direction
1 | Chassis Ground |  |
2 | Transmit Data | TD | Out
3 | Receive Data | RD | In
4 | Request To Send | RTS | Out
5 | Clear To Send | CTS | In
6 | Data Set Ready | DSR | In
7 | Signal Ground | GND |
8-19 | (Not used) | -- |
20 | Data Terminal Ready | DTR | Out
21-25 | (Not used) | -- |

The PC sends data from its transmit pin to the printer's receive pin. Likewise, the printer can send data from its transmit pin to the PC's receive pin. The serial ports at both ends use the RTS, CTS, DSR, and DTR signals to coordinate signals. Tables 23.8 and 23.9 show typical cable arrangements for connecting a printer to 25-pin and 9-pin PC ports respectively.

#### Table 23.8 Typical 25-Pin Serial Printer Cable

PC Pin Connects To... | ...Printer Pin
1 | 1
2 | 3
3 | 2
4 | 5
5 | 4
6,8 | 20
7 | 7
20 | 6,8

#### Table 23.9 Typical 9-Pin Serial Printer Cable

PC Pin Connects To... | ...Printer Pin
1 | 1
2 | 2
3 | 3
5 | 7
6,8 | 20

The data in the PC is in parallel form, in the sense that a byte moves around the bus eight or sixteen bits at a time. As you know from the previous section on parallel ports, transmitting data in parallel requires a complex cable that must be short. Serial communications links are often preferable to parallel links because they require fewer wires and can be transmitted over longer distances.

Serial ports convert the PC's data from parallel to serial form using a universal asynchronous receiver/transmitter (UART) chip. The UART also translates incoming serial data to parallel form. The 16550A UART is faster than the original 8250 version, which can still be found in many computers.

A serial port sends and receives characters one at a time at arbitrary intervals, either as they become available at the port or as the other device becomes ready to take the next one. Since the data can arrive at any time, the serial port needs to recognize when a character has started to arrive and when it has finished. This is done using a combination of mark, start, and stop bits that are sent in addition to the data bits.

Each byte is transmitted as a pattern of bits, with each bit having a value of either one or zero. The exact pattern of bits which is sent for a given byte depends on the mode settings for the serial port. The value of the byte can be transmitted using between five and eight data bits; another one or two stop bits are used to mark the end of transmission of the byte. The serial port at the receiving end of the transmission uses these stop bits to determine where the data for one byte ends and the next one begins.

An optional parity bit may also be sent for error-checking purposes. The serial port may be set to use odd, even, or no parity. If set to no parity, a parity bit is not sent. If parity is enabled, then for each byte transmitted, the data bits are added together. The serial port determines whether this sum is odd or even and compares it with the value of the parity bit:

- If the serial port is set to odd parity, then the parity bit should be 1 if the sum of the data bits is odd and 0 if the sum is even.
- If the serial port is set to even parity, then the parity bit should be 1 if the sum of the data bits is even and 0 if the sum is odd.

This is a little clearer if you think of the value of the parity bit as being either "true" (1) or "false" (0). If the sum of the data bits turns out to be odd, that's "true" for a port using odd parity or "false" for a port using even parity.

The following bits are transmitted for any given byte:

  1. The mark bit is always 1 and is sent continuously when no data is being transmitted.
  2. This stream of 1s is interrupted by a start bit, which has the value 0. When this 0 arrives, the serial port has been informed that a byte is about to be transmitted.
  3. The next five to eight bits (almost always seven or eight) make up the actual byte being transmitted. The precise number of bits depends on the serial port mode.
  4. A parity bit follows the data bits if parity has been enabled.
  5. One or two stop bits of value 1 mark the end of the transmission of that byte.

The serial port needs an IRQ and an I/O address to communicate with the motherboard. The standard configurations are shown in table 23.10. Some systems have additional ports, but the BIOS only supports the first two. DOS can handle four at most. If your system has more than two serial ports, or if you are unsure about the first two, use a system information program such as Microsoft's MSD to check their configuration. Your PC's CMOS setup utility may also allow you to check this.

#### Table 23.10 Serial Port Configuration

Serial Port | I/O Port | IRQ
COM1 | 3F8h | 4
COM2 | 2F8h | 3

Serial ports are inherently slower than parallel ports. This is partly because of the overhead of all of those start and stop bits but mainly because of the need for the UART chip to translate data between parallel and serial form.

They have one significant advantage over parallel ports though: Serial data can be transmitted over significantly greater distances than parallel data. Serial cables can be over 15 meters long. Modems can connect arbitrarily distant serial interfaces over a telephone line.

From the print services perspective, printers tend to be near to their print servers, so distance is generally not an issue. If you can't locate a printer near the print server computer, or if no faster interfaces are available, a serial port will do at a pinch. Try to avoid using serial however--the throughput is very much slower than through a parallel connection. Unless use of the print service is extremely low, printing will be very slow and your users may be dissatisfied.

### Net-Direct

Parallel and serial ports have their place in network printing. A workstation or file server can transmit data through a communications port to a printer, serving the printing needs of users at a different location on the network.

Apart from restrictions on transmission speed and cable length, such ports have one major limitation: They are designed to link the PC bus with a peripheral device, so the peripheral device can be used only by the PC to which it is physically connected. A more flexible arrangement in a network environment would allow all networked PCs to use the peripheral device.

Net-direct cards are network adapters for peripheral devices. They allow a device such as a printer to be connected directly to the network. No "host" computer is required. The net-direct adapter is in many ways more like a stripped-down workstation than a conventional communications interface. It has its own processor and RAM. It receives data from the network and passes it on to the peripheral in the "raw" format of the peripheral device itself. There is no need for the type of parallel-serial-parallel data transformation used by serial ports.

Net-direct adapters are available as options for many modern printers. Printer manufacturers produce adapters to suit their own range of devices, so there is no standard model or configuration. In general, they are available with a choice of network connectors (AUI, BNC, or RJ-45) and connect directly into a special socket on the printer. They are configured from a client PC on the network using proprietary software.

## Definitions

Print queues and print servers are the nuts and bolts of networked printing. The next few sections define some essential terms. Others are defined in context as they arise throughout the chapter.

### Print Queue

The server-based spool area described earlier is known as a print queue. It is a special directory, usually on the SYS volume.

Under NetWare 3.x, the print queue is registered in the bindery and the name of the queue directory is the queue's object ID with the extension QDR. So, for example, if you create a new print queue and it has an object ID of `27060024`, the corresponding queue directory will be SYS:SYSTEM\27060024.QDR. NetWare 4.x print queue directories are assigned a number at random when they are created.

> NOTE: Refer to chapter 8, "Novell NetWare," for more information about the bindery (NetWare 3.x) and NetWare Directory Services (NetWare 4.x).

Each NetWare queue directory contains two hidden configuration files with names based on the first four digits of the print queue ID. So if the print queue ID is `27060024`, the hidden files are Q_0627.SYS and Q_0627.SRV.

> TIP: NetWare saves deleted files on disk until the disk space that they used is required. This allows deleted files to be recovered using the SALVAGE utility. This is not necessary for files stored in print directories, so you can save some space by flagging the print queue directories on your file server to be purged automatically. Execute the following commands at the DOS prompt:

> `map t:=sys:system
> flagdir t:*.qdr p`

### Print Job

When a user requests a printout, her workstation writes the print data into a single file in the server's spool area. The data in this file may constitute text or graphics; it may produce one page or many when printed; it may be a few bytes in size or a few megabytes. As far as the file server is concerned, it forms a single print job. The job is "submitted" when it is first written to the spool area and "serviced" when it leaves it.

Print job files have names related to the name of the print queue directory where they are submitted. The name is a combination of the first two pairs of digits of the print queue directory name in reverse order, followed by a four-digit sequence number and the extension Q. For example, the first file submitted to a print queue directory called 27060024.QDR will be called 06270001.Q. If a second job is submitted before the first has been serviced, the second job will be contained in 06270002.Q. The sequence numbers are recycled when the print jobs are serviced; if the first job in this example is serviced and a third job is then submitted, the third job will be written to 06270001.Q.

### Print Server

A print server takes print jobs from a print queue and sends them to a printer for processing. The print server is registered in the bindery as a user (NetWare 3.x) or in the NDS tree as an object. It attaches to a file server like an ordinary user when servicing print queues.

The term "print server" can mean different things in different contexts. It is used to describe the software that handles the transfer of data, the physical device that transmits the data to the printer, and the bindery or NDS object that the print server software attaches to the file server.

The NetWare 3 print server can handle up to 16 printers, and the NetWare 4 print servers can handle up to 255 printers simultaneously.

Port Driver. The concept of a network port driver is new in NetWare 4. A port driver takes print jobs from print queues and passes them to a communications port. PSERVER.NLM and PSERVER.EXE performed this task in NetWare 3. In NetWare 4, the port driver functionality has been separated out into separate code. See the later "Types of Print Servers" section for details.

Printer. A printer, as far as NetWare is concerned, is a set of data related to communications port settings. In NetWare 3, a printer is a data structure owned by a print server. In NetWare 4, a printer is an NDS database object in its own right. This is a useful development, as a user need only identify a printer by name to print to it--he doesn't have to know anything about print queues or print servers.

## The Printing Infrastructure

This section describes the different types of print servers and looks at the issues involved in choosing one.

### Types of Print Servers

The previous definition of a print server is quite broad: The software or device that takes print jobs from a queue on a server and passes them on to a physical printer. It can be implemented in a number of ways:

- File-server based
- Nondedicated workstation
- Dedicated workstation
- Print server in a box
- Net-direct

The following sections describe each setup, how it works, and the advantages and disadvantages of each. In all cases, print queues must be created and print server objects added to the bindery or to the NDS tree; these steps are described in detail later in this chapter.

File-Server Based. This is perhaps the simplest way to get print jobs from a file server to a printer. Just plug a printer into the file server's printer or serial port and load PSERVER.NLM on the server to handle the data. PSERVER.NLM can service up to 16 printers at a time under NetWare 3.x, with up to 5 of these attached directly to the file server. NetWare 4's PSERVER.NLM can service up to 255 printers, with up to seven of these attached directly to the file server.

PSERVER.NLM attaches to the server on which it is running, taking up a connection slot on the server just like its workstation-based cousin PSERVER.EXE.

In NetWare 4, PSERVER.NLM will autoload NPRINTER.NLM to provide port driver functionality to service the printer or serial port. This functionality was built into NetWare 3's PSERVER.NLM.

Using PSERVER.NLM requires no extra hardware. However, if it is used heavily there can be a performance degradation on the server. The printer must also be located beside the file server, so you'll have to deliver printouts to your users or else give them access to the file server--neither of which is desirable.

Workstation Based (Nondedicated). A workstation can process print jobs in the background while being used to perform other tasks. Load PSERVER.NLM on the file server. Then attach a printer to a serial or parallel port on the workstation, log on to the file server and run either RPRINTER.EXE (NetWare 3) or NPRINTER.EXE (NetWare 4). These files load into the workstation's memory and communicate with the file server in the background while the workstation is being used for some other purpose. They allow PSERVER.NLM to communicate with the printer as if it were attached directly to a port on the file server.

This is a useful option if resources are scarce and if the printer must be located away from the file server. But it can have a severe impact on the workstation where it is run in terms of both performance and memory. There may be an impact on the server too because PSERVER.NLM needs to process the data just as if the printer were directly attached to the file server.

Workstation Based (Dedicated). This solution is available only on NetWare 3. If you are using NetWare 4, set up a print server using the previous nondedicated procedure instead.

A dedicated print server workstation is fairly straightforward to set up. Attach a printer to a serial or parallel port on the workstation and run PSERVER.EXE.

The workstation attaches to the file server using the appropriate print server bindery ID. It is not possible to exit from PSERVER.EXE to the DOS prompt--the workstation must be rebooted. This restriction is aimed at eliminating the risk of illegal access to the file server using the print server account.

This program is a DOS version of PSERVER.NLM with the same interface and the same functionality. It can also service up to 16 printers.

This solution has no performance impact on the server or on any workstations other than the print server workstation itself. It is expensive in terms of hardware, however, as it permanently ties up a workstation that could otherwise be used as an extra client machine. If printing performance is not an issue, a 286 or XT machine can be used to carry out this function to keep the cost down.

Print Server in a Box. A dedicated workstation running PSERVER.EXE is in many ways a waste of hardware. The floppy drive, monitor, keyboard, etc., are not used except, perhaps, when booting up and starting PSERVER.EXE. You may even decide to remove the keyboard and monitor from such a print server to avoid interference if it is located in a public area.

Intel and other manufacturers now supply print server modules that have all of the essential components of a conventional workstation-based print server: a network interface, communications ports, and a processor. They boot from a file server and run proprietary software rather than PSERVER.EXE. It is possible to manage the unit's setup and even to upgrade its firmware--the software that controls the print server module and which is stored in the module itself--remotely, while logged on to a file server.

Physically, the units are not much bigger than a modem. They are generally available with a choice of serial and parallel ports. One of these systems can provide a network connection for four or five printers (parallel and serial) for less than $500. You should be able to find an old PC or XT that can service your printers for less than that price. However, it will be much bulkier and will not have the same life expectancy, and you won't be able to manage it over the network.

Net-Direct. Network interfaces are now available as an optional extra for many printer models. They run proprietary software that performs approximately the same function as PSERVER.EXE; in effect, the adapter acts like a stripped-down dedicated workstation. Unlike PSERVER.EXE, however, these adapters work with NetWare 4.x as well as NetWare 3.x.

These net-direct interfaces are proprietary--each interface model is designed to work with a particular printer make and model. Hewlett Packard, for example, manufactures a range of excellent network adapters for many of their printer models, but the LaserJet III model is completely different from the LaserJet 4 version. Digital, QMS, and other major printer manufacturers also make net-direct adapters for their own printer lines. If you decide to purchase a net-direct adapter for your printer, check first with your supplier that the adapter is appropriate for your printer make and model.

These adapters are generally quite simple to configure using the proprietary software that ships with them. They eliminate the potential bottleneck of slow serial or parallel interfaces while giving you the luxury of being able to configure the printer, check its status, and reset it from any client workstation. With prices starting at $400 or so per adapter, they are an excellent value in any printing environment where performance is an issue.

Remember when comparing the cost of this solution to the Print-Server-in-a-Box module that each net-direct card services only one printer; a print server module with multiple parallel and serial ports can handle four or more printers through a single network connection. However, the net-direct card will give higher data throughput.

### Choosing a Configuration

Each of the previous types of print servers has its advantages. Consider these factors when choosing one for your network:

- Printer Performance The two main bottlenecks when printing are usually the communications port and the printer itself in that order. A net-direct card will give a significant performance boost to all but the slowest of printers.
- Client/Server Performance PSERVER.NLM will affect server performance if heavily used. RPRINTER.EXE and NPRINTER.EXE will use valuable memory on the host workstation as well as slow it down while printing. If at all possible, choose a dedicated print server. This can be a workstation running PSERVER.EXE (NetWare 3.x only), a print server box, or a net-direct card in the printer.
- Cost You may want to avoid spending money on extra hardware when you can attach a printer to an existing port on a file server or workstation. But bear in mind the performance impact on the server or workstation--the real cost of diminished server or client performance may far outweigh the capital cost of a specialized network interface, print server module, or cheap workstation.
- Location Attaching a printer to a file server is fine if you are providing a central printing service or if the file server is in a location accessible to users. Assuming that the file server is safely locked away, the printer will have to be somewhere else if users are to collect their own printouts.

Overall, the best bet is usually a fast printer with lots of RAM and a net-direct adapter. This gives excellent performance with no performance degradation on the server or on any workstations. It can also be managed over the network from a client, and many have the added advantage of being able to handle print jobs from NetWare, Macintosh, and UNIX clients at the same time.

> NOTE: There are some good third-party print server software products on the market. An example is Pcounter, a shareware accounting print server produced by A.N.D. Technologies. Each user is given a balance, and Pcounter deducts a set amount for each page printed. Pcounter can be used with file-server-based, dedicated workstation, or net-direct printers.

## Configuring Print Servers

Every networked printer requires a certain amount of setup work on the file server. This section focuses on NetWare print queues and print servers and the logical connections between them. By the end of this section, you should know how to create and manage both queues and server objects.

> CAUTION: You might be able to get by without knowing how to do this; some print server modules and net-direct adapters come with proprietary menu-driven software that sets up queues and print server objects on the server for you. But it's always best when installing hardware or software to know what you're really doing and what the automatic installation software is doing behind the scenes on your behalf. It certainly helps when you're trying to diagnose problems at a later stage.

The logical relationship between queues, print servers, file servers, and printers can be confusing. Before digging into configuration details, it is worth pausing to consider the elements of networked printing.

- In the simplest case, there is a set of one-to-one relationships between the components. So to use your LaserJet 4 printer, you might create a queue called LJ4QUEUE. You need a print server to take the data from LJ4QUEUE and pass it on to the LaserJet printer; call it LJ4SERVER. The data goes to LJ4QUEUE from where LJ4SERVER takes it and passes it on to the LaserJet printer.
- If you want to use the same printer from multiple file servers you must create a queue on each file server. (You don't have to give it the same name on each server, although doing so can help you keep the logical connection clear in your mind.) All print queues can be serviced by a single print server. The queue to printer and queue to print server ratios are both many-to-one in this case.
- If you have more than one printer, the simplest thing is to create a separate queue for each one. There is no need to create multiple print servers, though--a single print server can handle up to 16 printers.
- It may be necessary to use more than one printer to print jobs from a single queue, for example when a queue is extremely busy and a single printer cannot handle the load. In this case, the additional printers can be regarded as a logical extension of the first. The print servers that service them, however, must be told about each printer individually. In cases like this, there are many printers to one queue and many printers to one print server.

Figure 23.5 shows a case with three file servers, two print servers, and four printers.

Figure 23.5
This is an example of printing entity relationships.

- Printers LASER1 and LASER2 act together, both taking jobs from the LASERQ queues. They are available to users on all three file servers.
- The TEXT printer is available to users on SERVER2 and SERVER3 via the TEXTQ queues.
- The COLOR printer is available to users of SERVER4 only via the COLORQ queue.

> NOTE: Whether the print server machine is a file server or a workstation, you need to be certain that the printer and port are properly configured and that all components function correctly together. So attach the printer to the print server computer, configure its communications port, and test it thoroughly as a stand-alone printer. Make note of the port settings used: IRQ, I/O port address, and serial communications parameters for RS-232 ports.

### PCONSOLE

PCONSOLE.EXE is usually copied into SYS:PUBLIC when NetWare is installed. It is a menu-driven program that can be used to perform most of the tasks associated with managing printing on a NetWare network.

PCONSOLE: NetWare 3.x. The main menu that appears when PCONSOLE is invoked under NetWare 3.x consists of the following three options:

Change Current File Server

Print Queue Information

Print Server Information

Each of these menu options is described briefly below. More detailed information on the relevant options follows later, under the "Managing Print Queues" and "Managing Print Servers" sections.

- Change Current File Server The first option allows you to attach to additional file servers and to change your default server so that you can manage queues and print servers on more than one file server in a single PCONSOLE session.
- Print Queue Information Selecting this option brings up a list of the currently defined print queues. The queues may be examined or deleted by a privileged user or new ones created.
- Print Server Information Selecting this option brings up a list of the currently defined print servers. The servers may be examined or deleted by a privileged user or new ones created.

PCONSOLE: NetWare 4.x. PCONSOLE under NetWare 4.x has a different main menu:

Print Queues

Printers

Print Servers

Quick Setup

Change Context

Each of these menu options is described briefly below. More detailed information on the relevant options follows later, under the "Managing Print Queues" and "Managing Print Servers" sections.

- Print Queues Selecting this option brings up a list of the currently defined print queues. The queues may be examined or deleted by a privileged user or new ones created.
- Printers Selecting this option brings up a list of the currently defined printers. The printer objects may be examined or deleted by a privileged user or new ones created.
- Print Servers Selecting this option brings up a list of the currently defined print servers. The servers may be examined or deleted by a privileged user or new ones created.
- Quick Setup This option provides a convenient way to define new printers and print servers. A certain amount of customization will usually be necessary afterwards, however.
- Change Context Use this option to change your default NDS context. This allows you to manage queues and print servers in more than one NDS context during a single PCONSOLE session.

Using PCONSOLE. Whether using NetWare 3 or 4, most of the work is done using the Print Queue and Print Server options. Both are based on lists of objects. The objects are either print queues or print servers, depending on which option is chosen from the main menu. In either case, objects in the list are manipulated in the same way:

- Create a new object by pressing the Insert key. Enter the name for the new object when prompted.
- Delete an existing object by highlighting it and pressing the Delete key. Answer Yes when asked to confirm deletion or No to cancel deletion and leave the object as it is.
- Select multiple objects for deletion by tagging them first and then pressing the Delete key. To tag an object, highlight its name and press the F5 key.
- Rename an existing object by highlighting its name in the list and pressing the F3 key. Edit the name and press Enter.
- Edit an existing object by highlighting its name in the list and pressing Enter. A configuration menu for the object will appear.

Creating and deleting works just the same for Print Queues and Print Servers. Editing is quite different for the two types of objects, as the following sections will show.

Managing Print Queues. This section takes you through the steps involved in configuring a print queue. If you're working on a new queue, create it first as previously described: Start PCONSOLE, select Print Queue Information if using NetWare 3.x or Print Queues if using NetWare 4.x, press Insert, and name the queue.

> NOTE: NetWare doesn't care what names you give to your print queues, but your users might. When you create a queue, choose a name that signifies the printer which will eventually print the data. For example, names such as CENTRAL_LASER or DIV_INVOICE are preferable to QUEUE1 or LJQ2.

The default queue configuration under NetWare 3.x is as follows:

- All users (members of group EVERYONE) can place print jobs in the queue.
- Only SUPERVISOR can operate the queue--deleting print jobs, changing priorities, etc.

Under NetWare 4.x, the default queue configuration is quite similar:

- All users in the current NDS context can place print jobs in the queue.
- Only ADMIN is a print queue operator, with privileges to delete print jobs, change print job priorities, etc.

This default configuration is quite adequate in many cases. If so, you need only create the queue and assign a print server.

The following procedures explain how to adjust the configuration of an existing print queue. In all cases, start from the configuration menu for the queue that you want to configure: Start PCONSOLE, select Print Queue Information, (NetWare 3.x) or "Print Queues" (NetWare 4.x), highlight the name of the queue, and press Enter. The configuration options menu for the chosen print queue will then appear.

Restricting Access to Print Queues. All users can place jobs in the print queue by default. To restrict access, start by denying access to all users and then selectively granting access to the users and groups you want to use the queue.

To deny access to the queue--for example, to group EVERYONE--follow these steps:

  1. Display the configuration options menu for the queue.
  2. Select the Print Queue Users option. A list appears showing the users and groups currently allowed access.
  3. Highlight the user or group to be denied access--for example, EVERYONE.
  4. Press the Delete key and answer Yes when asked to confirm deletion.

To allow access to the queue--for example, to group ACCOUNTS--follow these steps:

  1. Display the configuration options menu for the queue.
  2. Select the Print Queue Users option. A list appears showing the users and groups currently allowed access.
  3. Press the Insert key to add a user or group.
  4. A list appears showing the currently defined users and groups on the server. This may take several seconds if the bindery is large.
  5. Select the user or group to be granted access--for example, ACCOUNTS. You can select multiple users, multiple groups, or a combination of users and groups by tagging them with the F5 key.
  6. Press Enter to grant access. The name or names of the chosen users or groups is added to the list of Print Queue Users.

Changing Print Queue Operators. Queue operator privileges are assigned on a queue-by-queue basis. You may want to allow a user or group to exercise control over one print queue--the queue which services their departmental printer, for example--but not over others.

Queue operators can perform the following tasks on the print jobs of any user in the queues which they operate:

- Delete print jobs from the queue
- Put individual print jobs on hold indefinitely
- Defer printing of individual print jobs until a specified date and time
- Change the priorities of individual print jobs
- Edit the properties of individual print jobs, including banner pages, file content type, number of copies, etc.

By default, only SUPERVISOR (NetWare 3.x) or ADMIN (NetWare 4.x) or users with supervisor equivalence can perform queue operator tasks on a new queue. To add, for example, the MANAGERS group as print queue operators:

  1. Display the configuration options menu for the queue.
  2. Select the Print Queue Operators option. A list appears showing the current print queue operators.
  3. Press the Insert key to add a user or group.
  4. A list appears showing the currently defined users and groups on the server. This may take several seconds if the bindery is large.
  5. Select the user or group to be granted operator rights for the queue--for example, MANAGERS. You can select multiple users, multiple groups, or a combination of users and groups by tagging them with the F5 key.
  6. Press Enter to grant access. The name or names of the chosen users or groups is added to the list of Print Queue Operators.

Assigning Print Servers to Queues. Each queue must have at least one print server to service its print jobs. The print server must be defined before it can be assigned--refer to the following "Managing Print Servers" section for details.

> NOTE: This step can also be carried out at the print server configuration stage. See the later "Assigning Queues to Printers" procedure for details.

There is no default print server, so the following procedure must be carried out in each case:

  1. Display the configuration options menu for the queue.
  2. Select the Queue Servers option. A list of the current print servers for this queue appears. The list is empty if the queue is new.
  3. Press the Insert key. A list of currently defined print servers appears.
  4. Highlight the name of the print server that is to service this queue.
  5. Press Enter to assign the print server to this queue. Its name appears in the list of print servers for the queue.

Managing Print Servers. This section takes you through the steps involved in configuring a print server account. If you're working on a new server, create it first as described in the previous PCONSOLE section: Start PCONSOLE, select Print Server Information, (NetWare 3.x) or "Print Servers" (NetWare 4.x), press Insert, and name the server.

The minimum steps required to configure an existing print server account are defining a printer and assigning it to a queue. Remember that each print server can handle up to 16 printers, each attached to the print server using a separate communications port. The print server needs information on the configuration of each communications port if it is to pass the right data to each port in the correct form. The print server must also know where to print the jobs from each queue that it services.

The following procedures describe how to configure these items and a lot more besides. In all cases, start from the configuration menu for the print server that you want to configure: Start PCONSOLE, select Print Server Information, (NetWare 3.x) or Print Servers (NetWare 4.x), highlight the name of the print server, and press Enter. The configuration options menu for the chosen print server then appears.

Defining Printers. Each of the print server's printers must be configured separately. Apart from the printer name, most of the information required is related to the print server's communciations ports.

The printer type describes the way that the printer is connected to the print server:

- Local Parallel printers are attached directly to a parallel port on the print server.
- Local Serial printers are attached directly to a serial port on the print server.
- Remote Parallel printers are attached to a parallel port on a workstation running RPRINTER or NPRINTER.
- Remote Serial printers are attached to a serial port on a workstation running RPRINTER or NPRINTER.
- Remote Other printers may be attached to either a parallel or serial port on a workstation running RPRINTER or NPRINTER. The print server is told the specific port that is being used when RPRINTER or NPRINTER starts.
- Defined Elsewhere printers have been configured on another file server. It is not necessary to enter the configuration details more than once if a print server is to service print queues on several file servers (using a separate print server account on each file server).

So a printer attached to the file server's parallel port is Local Parallel, a printer attached to the parallel port of a dedicated workstation running PSERVER.EXE is also Local Parallel, and a printer attached to a serial port on a nondedicated workstation running RPRINTER.EXE or NPRINTER.EXE is Remote Serial.

You should have the communications port information in hand before starting to configure printers. If you haven't already tested the printer and print server computer together, do so now and note which communications port settings were used.

Defining Printers: NetWare 3.x. The following PCONSOLE procedure defines a printer under NetWare 3.x:

  1. Display the configuration options menu for the print server.
  2. Select the Print Server Configuration option. You see a list of the 16 available printer slots on the print server. Any printers not already defined will be listed as Not Installed.

  3. Select a printer slot by highlighting it and pressing Enter. Start with the first slot, printer 0. A Printer Configuration dialog box appears.
  4. Enter a name for the printer.
  5. Select the Type field and press Enter. A list of printer types appears.
  6. Choose the appropriate printer type. Refer to the previous list for explanations of the different types. The remaining fields are filled in with default values depending on what printer type you specify.
  7. Edit the Interrupts and IRQ fields to match the print server computer's port configuration. Refer to the notes you made when testing the printer and computer.
  8. If the printer is attached to a serial port, enter the appropriate values in the Baud Rate, Data Bits, Stop Bits, and Parity fields. You should have noted these values when you tested the printer.
  9. Press the Esc key to exit the Printer Configuration dialog box.
  10. Enter Yes to save your changes.

Defining Printers: NetWare 4.x. NetWare 4.x treats printers as objects in their own right, rather than as properties of Print Servers as in NetWare 3.x. This is an advantage as it allows printers to be moved from one print server to another without the need to re-enter the printer data again. Communications-specific information may, of course change if the printer is moved to a different print server.

The basic procedure for defining a printer under NetWare 4.x is as follows:

  1. Select PCONSOLE's Printers option.
  2. Press the Insert key and enter the name of the new printer.
  3. To edit the properties of the new printer, make sure its name is highlighted in the list of printers and then press the Enter key.
  4. The Printer Configuration dialog box for that printer will appear.
  5. Choose a print server from the list of defined print servers.
  6. Select a printer type from the list of defined types: parallel, serial, etc.
  7. Edit the Interrupts and IRQ fields to match the print server computer's port configuration. Refer to the notes you made when testing the printer and computer.

Printers can also be created under the Print Servers menu by pressing the Insert key while browsing the Printers list.

Assigning Queues to Printers. A print server may work with several printers and several print queues. You must configure the print server to associate each printer with the correct queue.

The following takes you through the necessary steps:

  1. Display the configuration options menu for the print server.
  2. Choose the Queues Serviced by Printer option.
  3. Choose the printer from the list.
  4. Press the Insert key. A list of queues appears.
  5. Select the queue that this printer is to service.
  6. You are prompted to change the print queue priority. Leave this at its default value, 1, unless you have a particular reason to change it. Refer to the following tip for more information on this.
  7. Press Enter to save this printer assignment.

> TIP: You may want to give some users higher printing priority than others. To do this for a single file server, create multiple print queues and restrict access to one (for example, LJ4HIPRI) to the high-priority users; then create another (for example, LJ4LOPRI) for the low-priority users. Finally, configure LJ4SERVER to handle LJ4HIPRI with a priority level of 1 and LJ4LOPRI with a priority level of 2 or more.

Setting Print Server Name and Password. You can optionally set a full name and a password for a print server. The full name is purely informational, while the password is a security feature.

The full name is the name displayed for the print server connection on the file server when you view a list of users using the USERLIST command. It is not the same as the print server name you used when you created the print server. For example, a print server called CENTRAL_SRV might have a full name of "Central Print Server, Accounts."

To set or change the full name of a print server, follow these steps:

  1. Display the configuration options menu for the print server.
  2. Select the Full Name option.
  3. Type or edit the full name of the print server.
  4. Press Enter to save the new name.

A print server account without a password is a security risk. If the real print server is not attached to the file server, another workstation with the same printer configuration can be used instead of it, acting as a print server and printing possibly sensitive data. Setting a password on the print server account can help prevent this kind of abuse because the person setting up the dummy print server has to know the print server account password.

There is a minor inconvenience of course, as the password must be typed every time the print server starts up. This can be more than a hindrance if the print server is in a remote location and there is a long delay in restarting printing every time the print server or file server is restarted.

> TIP: You can secure your print server without a password by restricting the print server account to a specific workstation address. Start SYSCON, choose User Information, and select the print server account name. Choose Station Restrictions and press Insert to add the network number and workstation address of the print server machine.

To set or change a print server's password, follow these steps:

  1. Display the configuration options menu for the print server.
  2. Select the Change Password option.
  3. Type the new password for the print server and press Enter. The password does not appear displayed on-screen.
  4. Retype the new password and press Enter. This is a precaution in case you mistyped the password the first time.

Use the same print server password on all file servers serviced by the print server. Only one password is then needed when the print server attaches to the file servers.

Attaching Extra File Servers. A print server works by attaching to a file server using a special print server account, taking data from its queues, and passing it on to its printers. Attaching to several file servers is nearly as easy as attaching to just one, so with a little more work, you can get a single print server to service queues on more than one file server.

All of this happens automatically under NetWare 4.x as the NDS tree is distributed across servers. Refer to chapter 8, "Novell NetWare," for more information about NDS.

The procedure under NetWare 3.x is straightforward, but it can be confusing to perform multiple configuration tasks on more than one file server at a time, especially if the printers and queues have different names on each of the file servers. For simplicity, think of the task in terms of accurate advertising: One server knows about your print server, the queues it uses, and the printers it serves. All you need to do is tell the rest of the servers about the existing print server.

> NOTE: The print server picks up its printer configuration details (printer ports, communications parameters, etc.) when it attaches to the first file server using the special print server account. There is no need to define these printer details on subsequent file servers.

The next procedure takes you through the steps needed to get an existing print server to work with an additional file server. It assumes that you have already set up and tested a print server using the preceding procedure. It refers to the preceding procedures for defining print queues and servers and for assigning printers and queues. Refer to those procedures as needed as you go through this procedure.

  1. If you haven't already done so, log on to the first file server--that is, the one on which the print server is already defined.
  2. Display the configuration options menu for the print server.
  3. Take note of the exact spelling of the print server name, the names of each defined printer, and the names of the queues serviced by this print server.
  4. Press Esc to return to PCONSOLE's main menu. Choose the Change Current File Server option. You see a list of the file servers that you are already attached to.
  5. If you are already attached to the additional file server, skip to step 10.
  6. If you are not attached to the additional file server--if it does not appear in the list--press the Insert key. You now see a list of the file servers that you are not attached to.
  7. Select the additional file server from the list and press Enter.
  8. Enter your user ID on the additional server. Note that you need to attach as SUPERVISOR or as a user with SUPERVISOR equivalence. Enter your password when prompted. The additional file server now appears in the list of servers that you are attached to.
  9. Make sure the additional file server is highlighted and press Enter.
  10. Press Esc to go back to the main menu; then choose the Print Queue Information option.

  Use the procedure described in the earlier "Print Queue" section to create any print queues that you need. In the simplest case, you will just be duplicating an existing print server so create queues that duplicate the relevant queues on the first file server. That means creating a set of queues with the same names and access rights as the queues you listed in step 3.
  11. Press Esc to go back to the main menu; then choose the Print Server Information option.
  Use the procedure described in the earlier "Print Queue" section to create a print server with the same name as the print server account on the first file server. The spelling must be identical.
  12. Select the Print Server Configuration option. For each printer in the list you made in step 3, define a printer for this print server. Use the procedure described in the earlier "Defining Printers" section.
  13. In each case, define the printer type as Defined Elsewhere. The print server picks the port configuration information up from the first file server.
  14. Use the procedure described in the earlier "Assigning Queues to Printers" section to assign each queue to the correct printer. Refer again to the list you made in step 3 to make sure you get the assignments right.

## Managing Print Servers

Once a print server has been configured, it must be started and managed. The following sections describe how to start the various types of print servers and how to use the PSC utility to control them once started.

### Starting a Print Server

The next sections show how to start and stop each of the various types of print server. You must complete print server configuration before starting the print server. The print server types are

- File-server based
- Dedicated workstation
- Nondedicated workstation
- Print server in a box
- Net-direct

File-Server Based. Load PSERVER.NLM at the file server console using the LOAD command. Specify the name of the print server account--for example, `LOAD PSERVER ACCSERV`.

If the print server account has a password, you are prompted to enter it before the print server attaches and starts working. If you enter the wrong password, PSERVER.NLM unloads, and you are returned to the console prompt.

If PSERVER.NLM loads successfully you will see eight boxes on-screen, each indicating a printer number, type, and name along with the current status of each. Press any key to see the other eight printers.

PSERVER.NLM can be unloaded from the console prompt using the UNLOAD command--for example, `UNLOAD PSERVER ACCSERV`.

Dedicated Workstation. Load PSERVER.EXE on the dedicated workstation and specify the name of the print server account:

    PSERVER ACCSERV

If you log on to the file server before running PSERVER, all necessary files will be available in SYS:PUBLIC. PSERVER will then log you out from the server as soon as it loads. If you prefer to run PSERVER from a local disk without having to log on, copy the following files from SYS:PUBLIC to the local disk:

PSERVER.EXE

IBM$RUN.OVL

SYS$ERR.DAT

SYS$HELP.DAT

SYS$MSG.DAT

If the print server account has a password, you are prompted to enter it before the print server attaches and starts working. If you enter the wrong password, the workstation does not attach to the file server, you are logged off, PSERVER.EXE does not load, and you are returned to the DOS prompt.

If PSERVER.EXE loads successfully, you see a screen similar to the PSERVER.NLM screen. It is not possible to exit from PSERVER.EXE to the DOS prompt because that presents a security risk as the workstation is still attached to the file server using the print server account. The workstation must be rebooted to get back to the DOS prompt.

Nondedicated Workstation: NetWare 3.x. Start PSERVER.NLM on the file server first. Then load RPRINTER.EXE on the nondedicated workstation once for each printer that is attached.

You can specify the print server and printer number on the command line:

    RPRINTER ACCSERV 0

If you omit the parameters you are prompted to select values from a menu. If you defined the printer type as Remote/Other when configuring the print server, you are also prompted to specify port parameters at this stage.

It is not necessary to log on to the file server before loading RPRINTER. If you prefer to load RPRINTER from a local disk without necessarily logging on, copy the following files from SYS:PUBLIC to the local disk:

RPRINTER.EXE

RPRINTER.HLP

IBM$RUN.OVL

SYS$ERR.DAT

SYS$HELP.DAT

SYS$MSG.DAT

Disconnect a printer from the print server using the -R option:

    RPRINTER ACCSERV 0 -R

RPRINTER unloads from memory if no other printers are attached.

Nondedicated Workstation: NetWare 4.x. Start PSERVER.NLM on the file server first. Then load NPRINTER.EXE on the workstation once for each printer that is attached.

You can specify the print server and printer number on the command line:

    NPRINTER ACCSERV 0

Alternatively, because printers are database objects in NetWare 4, you can specify the printer name on the NPRINTER command line:

    NPRINTER CENTRAL_LASER

If you omit the parameters, you are prompted to select values from a menu. If you defined the printer type as Remote/Other when configuring the print server, you are also prompted to specify port parameters at this stage.

It is not necessary to log on to the file server before loading NPRINTER. If you prefer to load NPRINTER from a local disk without necessarily logging on, copy the necessary files from SYS:PUBLIC to the local disk. To find out which files are required by your version of NPRINTER.EXE, issue the command

    NPRINTER /V

at the DOS prompt.

You can disconnect a printer from the print server by unloading its port driver using NPRINTER's /U option. If you have only loaded NPRINTER once, the command

    NPRINTER /U

unloads the printer's port driver and disconnects it. If the print server has more than one printer and you have loaded multiple port drivers, you must unload each of the port drivers in reverse order until you have unloaded the port driver for the printer you want to disconnect.

Print Server in a Box. Connect the device to the network and power it on. It may look for a boot or configuration file on a file server. It should attach to the file server automatically, using whatever print server ID was specified for it during configuration. Refer to the documentation for your particular model for details.

Net-Direct. Reset the printer to force it to attach to a file server. Once it does so, it will begin to act as a print server. Refer to the documentation for your particular model for details.

### The PSC Utility

PSC (Print Server Control) is a DOS command-line utility in SYS:PUBLIC. It can be used to control most aspects of the operation of a print server, including starting and stopping one. Most of the functionality of PSC is also available within PCONSOLE. PSC commands can be issued more quickly however.

The syntax of a PSC command is

    PSC ps=PrintServer p=PrinterNumber command

`PrintServer` is the name of the print server to act on, `PrinterNumber` is the number of the printer on that print server to be controlled, and `command` is the action to be carried out. Some commands apply to all printers, in which case you can omit `p=PrinterNumber`.

The available PSC commands are explained in the following sections. Command abbreviations are indicated in parentheses.

Abort (AB). Cancels the current print job. The print server continues to run, moving on to the next job. Use the Keep (`k`) option to resubmit the job at the bottom of the queue.

Examples:

    PSC ps=accserv p=0 ab
    PSC ps=accserv p=1 ab k

Canceldown (CD). PCONSOLE can be used to schedule the print server to go down when the current print jobs have been serviced. This command cancels the downing of the print server.

Example:

    PSC ps=accserv cd

Formfeed (FF). Force a printer to go to the start of the next page.

Example:

    PSC ps=accserv p=0 ff

Mark (M). Print a line of asterisks at the current position on the page. This can be used to check whether the print head of a dot-matrix printer is correctly lined up with the top of the page.

Example:

    PSC ps=accserv p=0 m

Mount Form (MO F=). Notify the print server that the form has been changed on one of its printers. Include the form number.

Example:

    PSC ps=accserv p=0 mo f=2

Pause (PAU). Pause the printer temporarily--for example, while forms are changed.

Example:

    PSC ps=accserv p=0 pau

Private (PRI). Disable sharing of a remote printer. The printer is then available only to the workstation to which it is attached.

Example:

    PSC ps=accserv p=0 pri

Shared (SH). Enable sharing of a remote printer. The printer is then available to other network users.

Example:

    PSC ps=accserv p=0 sh

Start (STAR). Restart a printer after it has been paused or stopped.

Example:

    PSC ps=accserv p=0 star

Status (STAT). View the status of one or more printers. Omit the printer number to see the status of all printers on a print server.

Examples:

    PSC ps=accserv p=0 stat
    PSC ps=accserv stat

Stop (STO). Stop a printer. The current job will be deleted unless you specify the Keep (`k`) option, in which case it will be resubmitted at the top of the queue.

Examples:

    PSC ps=accserv p=0 sto
    PSC ps=accserv p=1 sto k

## Print Service Upgrades

You can improve your print services in a number of ways. Buying a new printer is one way, improving an existing one is another. This section takes a look at some of the options available to you.

### Upgrading Existing Printers

There are many ways to enhance a printer, just as there are many reasons for wanting to do so. Do you want your printer to print faster? On different media? From additional platforms? The broad areas that you can enhance are

- Performance
- Accessibility
- Functionality
- Media handling

The next few sections look at each of these areas in turn.

Performance. Printers can generally receive data faster than they can process it. If a printer is busy processing data, any additional incoming data is stored in a RAM buffer to be processed later. The printer's processor dips into this buffer when it is ready to process some more data. If the buffer is small, the processor will handle the data quickly and will then have to wait while more data is sent from the host computer. Ideally, the buffer will be so large that the processor only exhausts it when there is no more data to be printed. Adding more memory increases the buffer size and can significantly improve printer throughput.

> NOTE: PostScript printers also need RAM to run the PostScript interpreter, the program that processes the PostScript code. The interpreter must be loaded into memory before it can run; it also grabs memory for stack space while it runs. All in all, several hundred K of printer RAM can be written off to the PostScript interpreter. If your printer comes with 2M of RAM the data buffer will be tiny. 6M is a more realistic starting point.

Memory upgrades come in a variety of forms depending on the printer model. Some printers have a slot into which a memory card or cartridge can be plugged. Others use SIMM slots like the ones on a PC motherboard. In either case, consult your printer manual for part numbers for memory options.

Examine each printer before you order a memory upgrade. If there is a single adapter slot, is it already in use? If so, you will have to remove the currently installed adapter. So if a printer has 2M consisting of 1M built-in and a 1M memory option, you will have to buy a 2M memory option to upgrade to 3M. Similarly, if the printer uses SIMMs, are there enough free slots to cope with additional SIMMs? If not, you may have to remove some of the current SIMMs and replace them with SIMMs of higher capacity. In either case, you will still have the old memory options and you may be able to reuse them in other printers.

Adding a network interface may also help performance, particularly in the case of a fast printer. A slow communications interface on a fast printer can mean that the printer spends a lot of time waiting for the data to arrive. Adding a network interface can remove the communications bottleneck and allow the processor to spend more time processing and less time waiting.

Finally, some PostScript printers can benefit from a change of PostScript interpreter. For example, Pacific Data Products manufactures a range of upgrades for HP III printers, including a PostScript interpreter cartridge with built-in RAM that outperforms the original HP III Postscript interpreter. Options such as this can be costly, however, with list prices of a few hundred dollars. Unless you can find them at a discount, the money is generally better spent on more memory.

Accessibility. Making an existing printer accessible to a greater range of clients can be an efficient way to enhance print services on a network. For example, installing NetWare for Macintosh on a file server can allow Macintosh clients to access network printers that you have already configured, without any need for changes to the printer. You will, of course, need to supply your users with an appropriate Macintosh printer driver for each particular printer model, just as you would for Windows users.

Net-direct interfaces can also be used to enhance the accessibility of a printer. They generally handle a range of protocols, including

- IPX Novell clients
- TCP/IP UNIX and other clients
- EtherTalk Macintosh clients

You can configure the interface to use one of these protocols and ignore the rest, or you can configure it to switch automatically between protocols as different types of clients send data to be printed. A net-direct interface can allow a printer to be shared by a much wider range of users than any purely NetWare setup.

Functionality. It may be possible to upgrade an existing printer so that it handles more types of data.

Installing a PostScript cartridge in a non-PostScript laser printer is one such example. Many applications that cannot generate print data in proprietary print formats such as PCL can produce PostScript output. Users of such applications would benefit from a PostScript upgrade. However, many older applications cannot produce PostScript; you should check with your users first on whether the upgrade will be of benefit to them.

> CAUTION: Adding a PostScript interpreter may mean a loss of functionality. For example, a HP LaserJet III can handle PCL data including plain text. Adding HP's PostScript cartridge switches the printer completely to PostScript mode, so when non-PostScript data such as PCL or text is sent to the printer it is discarded. If you want the printer to handle all types of data--PostScript in addition to PCL rather than instead of PCL--consider a third-party option such as Pacific Data Products' Page Express PE cartridge.

Adding additional font cartridges to non-PostScript printers is another functionality enhancement. A huge range of such cartridges exists: Discuss the issue with your users and identify their needs before you start searching for a product. In particular, make sure you don't swap out a cartridge that someone uses unless you are sure that the replacement cartridge will meet their requirements.

Media Handling. Additional print trays allow you to provide your users with a choice of print media. Store plain bond in the default tray and headed paper or transparencies in another, and the users can select the tray they need when they print (Windows printer drivers allow the user to override their default tray selection).

When you consider the possibility of making additional media available, remember that the printer may not be able to handle some types of media. Refer in particular to the "Print Media for Laser Printers" later in this chapter.

Duplexing units are available for some printers. These allow users to generate output printed on both sides of the page, saving paper and money and reducing waste. They will need a special printer driver to do this. Make sure that users have a choice as to whether their output is printed double- or single-sided. They may want to photocopy their hard copy, and not all photocopiers can handle double-sided sheets.

Other Enhancements. There are many other ways to enhance a printer. Special security cards that provide password protection for printer configuration, special sheet and envelope feeders, acoustic covers, and more are available for specific printers. Ask your supplier for information on the range of add-ons available for your printer model.

### New Printers

Printers, like PCs, are becoming commodity items and prices are falling. This means that you can add an extra networked printer for a relatively small cost, providing a significant improvement in service to users.

Replacing an old printer may be a more attractive option than upgrading it. Adding a network interface, RAM, and PostScript cartridge to an existing printer may cost nearly as much as a new PostScript printer with the same amount of RAM. A new printer can be expected to keep working for considerably longer than an old one, and it will come with a warranty to cover the first year of service.

Your choice of printer model and its detailed specifications will depend on your budget and the requirements of your users. Some of the factors to consider when buying a new printer are:

- RAM The more the better. 12M or 16M is recommended if you expect the printer to be busy. 6M should be seen as the bottom line, particularly for PostScript printers.
- Interface A built-in network interface or net-direct card makes a lot of sense if you are buying a printer specifically for network use. If you don't buy a network interface for the printer, you will need to provide a connection to the network either via a workstation or directly from a file server. If a net-direct adapter seems expensive, consider the cost of a dedicated print server workstation or of the performance impact on a nondedicated or file-server based connection.
- Functionality Check with your users before replacing an existing printer. If you decide to buy a PostScript printer, make sure it can auto-detect different types of data and that it can handle plain text as well as PostScript. If you are replacing a PCL printer, make sure the replacement can handle PCL data too. If it cannot, your users will have to reconfigure their applications to produce PostScript output.
- Color Noncolor printers generally can't be upgraded to handle color. If color printing is likely to become a requirement during the life of the printer, consider buying a color printer now. There are a number of different color printing systems designed to meet different needs and budgets, so define your needs and price limit before you start shopping.
- Media You can't upgrade an existing letter-size or A4 printer to handle A3 paper. Decide what media are to be catered for and consider whether these requirements may change during the life of the printer. Also check the media specifications of any printers before buying them--they may not be able to handle some of the media you've been using in the past, for example transparencies or printed forms.
- Warranty Most printers come with a one-year warranty. Check what the warranty covers. Some warranties are void if you use refilled toner cartridges or adapters not manufactured by the printer manufacturer. Other warranties do not cover damage that, in the opinion of the printer manufacturer, was caused by third-party products, but they do not explicitly forbid the use of such products.
- Service Will the supplier service the printer on-site, or will you need to ship it back to the manufacturer for service?

## Printer Cleaning and Maintenance

Printing can be a messy business, with ink and toner being scattered around at high pressures and temperatures. Printer mechanisms being so delicate, it's not surprising that they often fall foul of their own actions. Regular cleaning and maintenance can help extend your printer's life and maintain high print quality as well.

This section describes typical routine maintenance and cleaning procedures for a selection of printers. It is impossible to be exhaustive here, so refer to your printer manual for detailed instructions on the particular maintenance procedures most suitable for your printer model.

A section on print quality troubleshooting is also provided for each type of printer. Please note however that print quality problems are not network related, even on networked printers. You should consult your printer documentation for full details of how to rectify any print quality problems which you encounter.

### Maintenance: Laser Printers

Laser printers use high pressures and temperatures to fuse toner to paper. This is an overview of the sequence of events involved in producing a printout:

  1. A wire carrying an electric current (the primary corona wire) places a static electric charge on a photosensitive drum called the electro-photostatic (EP-S) drum.
  2. A laser beam casts light on selected (image) areas of the EP-S drum. The electric charge on these areas changes as a result.
  3. The EP-S drum is rotated so that the image areas pick up particles of toner.
  4. A sheet of paper passes over another wire carrying an electric current (the transfer corona wire), which puts a static electric charge on the paper. The paper and the image area of the EP-S drum now have opposite charges.
  5. The paper picks up the toner particles from the EP-S drum.
  6. The paper is passed into the fusing unit, where a combination of high temperature and high pressure act to fuse the toner to the paper.

Figure 23.6 shows this process.

Figure 23.6
The components of a typical laser printer. The paper path is indicated by the dotted line.

Modern laser printers use combination EP-S cartridges that have a built-in primary corona wire, photosensitive drum, and toner hopper. Some older models require separate replacement of the primary corona wire, and they may use a separate receptacle for used toner.

Print Media for Laser Printers. The high temperature and high pressure of the fusing unit mean that many types of media cannot be used in laser printers. Check your printer documentation for details specific to your model. In general, print media for laser printers must be able to withstand temperatures of 200°C for 0.1 seconds. This means

- Do not use thermal printing paper
- Do not use carbon paper
- Do not use colorized paper where the color has been applied as a coating to the paper
- If using media with adhesive--for example, envelopes or sheets of labels--make sure the adhesive is acrylic-based
- If using media with adhesive, make sure no adhesive is exposed.
- Do not use envelopes with clasps, snaps, or transparent windows.
- Do not use envelopes that do not require moistening to seal. These use a pressure-activated adhesive that will be sealed by the fusion process.
- Preprinted paper such as letterheads, forms, etc., may not be appropriate. If in doubt, check on a small sample.
- Check the specification of any transparencies before trying to print on them. Your printer documentation should give acceptable ranges of weight, moisture, content, etc.

Store replacement EP-S cartridges in their sealed, foil wrappers to enhance shelf life. Store paper in its wrapper in a normal office environment.

Routine Maintenance for Laser Printers. Stray particles of toner or paper dust can adversely affect voltage levels on the corona wires, paper and EP-S drum. Regular, careful cleaning of the inside of the printer can help to keep print quality problems to a minimum. Check your printer documentation for detailed instructions on how to clean your particular model.

> CAUTION: The fusing assembly of a laser printer can be extremely hot. There may be other hot or electrically live components. Always exercise extreme caution when working inside a laser printer: Disconnect main power, allow to cool, and do not use excessive amounts of water or solvent.

In general:

  1. Clean the transfer corona wire with the special tool provided with your printer. If you can't find such a tool, use an unmoistened cotton swab. Slide the tool or swab gently from side to side along the length of the corona wire. Take care not to break any monofilament separation wires that may be arranged diagonally across the transfer corona wire.
  2. The primary corona wire applies a charge to the whole area of the EP-S drum. It does not have such a critical effect on output quality as the transfer corona wire, so clean it only occasionally or when print quality deteriorates.
  3. Brush out any dust from the antistatic teeth near the transfer corona wire. This can help to prevent paper jams.
  4. Replace the fusing roller cleaning pad every time you replace the EP-S cartridge. Replace it between cartridge changes if necessary (see "Laser Printer Quality Problems"), but this is normally not necessary.
  5. Wipe the exposed parts of the paper path inside the printer with a lint-free cloth, slightly dampened with water.
  6. The fuser separation pawls are two little claws that peel the paper away from the fusing roller. Clean the tips of the pawls with a cloth lightly dampened with water. Do not touch the rest of the fusing assembly.
  7. Replace the printer's ozone filter every 50,000 pages or so. This does not affect printer performance in any way, but excessive levels of ozone in the air may cause health problems.

Leave the printer open for a while after cleaning it to allow any moisture to dissipate.

Laser Printer Quality Problems. People have come to expect extremely high quality output from laser printers. When print quality deteriorates, as it will occasionally, take a few minutes to examine the problem and try to identify where in the printing process described above the problem occurred.

Some of the more common laser print quality problems and their solutions are as follows:

- Large amounts of vertical fading Shake the toner cartridge to try to improve toner distribution. If that fails, replace the cartridge.
- Blurred vertical lines Replace the fuser roller cleaning pad.
- Stray toner fused to paper Replace the fuser roller cleaning pad.
- Vertical black streaks Clean the primary corona wire. If the problem persists, there may be scratches on the photosensitive drum. Replace the EP-S cartridge.
- Small amounts of fading across the page Clean the transfer corona wire.
- Light printouts Clean the corona wires. Adjust the density setting if necessary.
- Faded-out blotches Clean the transfer corona wire. If the problem persists, the paper may have an uneven moisture content. Try paper from a different batch.
- Streaks on leading edge of paper Clean the fuser separation mechanism and all paper guides.
- Toner shadow in the background The paper may be too heavy or the environment may be too dry. Try lighter paper and adjust the humidity. If the problem persists, replace the toner cartridge.
- Page completely black The primary corona wire is broken or not making contact. Reseat the EP-S cartridge; if that doesn't fix it, replace the EP-S cartridge.

### Maintenance: Dot-Matrix Printers

These are relatively simple machines with a purely mechanical mechanism.

Routine Maintenance for Dot-Matrix Printers. Preventive maintenance consists of little more than an occasional wipe around the outside and exposed inside parts of the printer with a slightly damp cloth to remove excess dust. Use a pair of tweezers to remove any small objects that may have fallen into the printer.

If there is an excessive build-up of paper dust inside the printer, you may want to try using a low-power vacuum to remove it. Be careful though--there are many delicate components and you may end up worse off after such an exercise. If you must vacuum, make sure you remove the printer ribbon first!

After prolonged use and if print quality problems persist, you may want to clean the print head. This is generally done by removing the print head from the printer and dipping the hammer end of it into rubbing alcohol. Consult your printer documentation to find out how best to do this for your printer model.

Dot-Matrix Printer Quality Problems. Some of the more common dot-matrix print quality problems and their solutions are as follows:

- Characters too light Check if the printer ribbon is jammed. If not, check if the ribbon is out of ink. If not, move the print head closer to the paper. Consult your printer documentation to find out how to do this for your printer model.
- Characters smudged Check if ribbon is twisted. If not, move the print head farther from the paper. Consult your printer documentation to find out how to do this for your printer model.
- Paper jams when using the tractor mechanism Adjust the tractor units so that the paper is neither pulled tight nor sagging.
- Paper tears when using multipart paper Move the tractor units closer together to reduce the tension in the paper. If the problem persists, move the print head farther from the paper. Consult your printer documentation to find out how to do this for your printer model.
- Lines of text overlap Check if the paper is jamming.
- Lines of text are slanted If printing cuts sheets, make sure the paper release lever is not in the tractor position.
- Missing dots, always in the same row Replace the print head.
- Poor print clarity Check that the printer has the correct type of ribbon and that you are printing on approved stock.
- Print carriage vibrates The print head path may be blocked. Switch off the printer and check for obstructions.

### Maintenance: InkJet Printers

InkJet or BubbleJet printers use a small nozzle with a heating element to squirt drops of ink onto the page. The nozzles are usually of quite simple construction, consisting of simple tubes with a heating element embedded along the side. The print head consists of an array of these nozzles, and the printer in other respects works quite like a dot-matrix printer--the print head moves across the page, the paper is fed through rollers, etc.

Routine Maintenance for InkJet Printers. The ink in the nozzle can dry out over time. The best way to prevent this from happening is to make sure you store the printer with a nonempty ink cartridge installed.

Many inkjet printers have built-in print head cleaning procedures that can be activated from their control panel. These procedures, which usually consist of a variation or two on the theme of squirting a lot of ink onto a test page, should be used in the event of print quality problems or after several months of storage.

Apart from the print head, maintenance is similar to a dot-matrix printer. Keep the outside reasonably dust-free and clean out the paper dust and debris from the inside occasionally.

InkJet Printer Quality Problems. The first answer to all InkJet printing problems is the same: Clean the print head using the built-in cleaning procedure. If that fails to improve matters, check that the paper and ink you are using are appropriate for this type of printer. Consult your printer documentation for details of acceptable paper stock and ink.

## Summary

Printing is a core service in practically every computerized environment. This chapter explained how well-planned and implemented network printing can enhance print services and how poor network printing can make a good network look bad. Detailed instructions on print service implemetation were provided, as were upgrade options and troubleshooting procedures for a range of common printer types.

Network printing can take many forms. Consider the needs of your users and your management needs as network administrator before planning and implementing your network printing solution.

© Copyright, Macmillan Computer Publishing. All rights reserved.