HP Jetdirect Print Servers - Printer Port Monitors Available in Windows for HP Jetdirect Connected Printers

Introduction
Several different types of port monitors exist under Windows 9x, NT, 2000, and XP that can be used for printing to HP Jetdirect-connected printers. Which one to choose depends upon many factors.
What is a port monitor?
A port monitor is responsible for the communication between the spooler and the printer. A port monitor controls the I/O port to which the physical printer is connected. It delivers the print job to the printer, and communicates the status of the print job and the device. You select a port (port monitor) when adding a printer or by using HP software. Below is an example of the port monitor selection in Windows XP:
Figure 1: Windows XP Add Printer example
When examining the major components used in printing under Windows, the printing process begins when the application creates the print job, and ends when the port monitor sends the print job to the printer.
This technical brief will compare the features of port monitors available in Windows 9x, NT, 2000, and XP to assist in deciding which one to use for printing to HP Jetdirect-connected printers. Topics such as availability, installation, protocols, status, and performance will be discussed for each port monitor.
The port monitors that will be discussed include the following:
- HP Standard TCP/IP Port
- HP Standard IPX/SPX Port
- Microsoft Standard TCP/IP Port
- Microsoft LPR Port
- Hewlett-Packard Network Port
HP Standard TCP/IP port
The HP Standard TCP/IP port monitor, written by Hewlett-Packard, provides a common port monitor that can support network-connected printers over TCP/IP using industry-defined standards.
HP Standard TCP/IP port can be used under any of the following operating systems:
- Microsoft Windows 9x
- Microsoft Windows NT
- Microsoft Windows 2000
- Microsoft Windows XP
It is provided through the following printer configuration/management utilities:
-
HP Web Jetadmin
- HP Install Network Printer Wizard
It can also be downloaded from the following external FTP site:
ftp://ftp.hp.com/pub/networking/
software
hpspmnt.exe (NT/2000/XP)
hpspm9x.exe (9x)
|
NOTE:
|
HP Web Jetadmin only includes the HP Standard TCP/IP Port for Windows NT/2000/XP, while the Install Network Printer Wizard includes the port monitor for Windows 9x as well as Windows NT, 2000, and XP.
|
Installation
The desired method of installation for the HP Standard TCP/IP port is to have either HP Web Jetadmin or the Install Network Printer Wizard automatically install the port monitor during print queue creation. However, the port monitor itself is also available for download from an FTP site, and installation through this method is merely a matter of running the executable file that is downloaded and following the instructions.
Once installed, the HP Standard TCP/IP port is represented by a handful of files and registry entries. The following files are installed under \Windows\system32:
Hptcpmon.dll
Hptcpmon.ini
Hptcpmib.dll
Hptcpmui.dll
Hptcpmui.hlp
When configuring printers to use the port monitor, the IP address or host name of the printer can be used. If the hostname is used, the port monitor can dynamically locate the printer if the IP address changes. The port name is automatically filled in but can be modified.
Protocols
HP Standard TCP/IP Port will use TCP/IP for printing and SNMP for status information and device properties. It can perform either raw TCP/IP (port 9100) or simplified LPR printing. Port 9100 is the default configuration.
For raw (port 9100) printing, a connection is created with a destination port number of 9100 (and 9101, 9102 for a 3-port HP Jetdirect device), and an open source port greater than 1023 as the source port.
For LPR printing, a TCP connection is created with a destination port number of 515. This technique differs from the Microsoft LPR Port in that it is a simplified LPR Port, meaning it only supports printer implementations of LPR. A machine running an LPD service, e.g. UNIX box, cannot be designated as the destination using the HP Standard TCP/IP Port. Only LPD capable printers can be destinations for print jobs using the HP Standard TCP/IP Port implementation of LPR.
Device Status
HP Standard TCP/IP Port uses SNMP polling to gather status information. If something goes wrong on the printer while sending a print job (e.g. out of paper), the HP Standard Port Monitor will effectively report that condition.
HP Jetdirect Configuration
An HP Jetdirect device must be configured with valid TCP/IP parameters, and TCP/IP must be enabled, before printing can occur through the HP Standard TCP/IP Port. If the HP Jetdirect device is not configured for TCP/IP, the IP address, subnet mask, and default gateway can be configured while creating the HP Standard port only if HP Web Jetadmin is being used to create the printer and port.
If the TCP/IP address has changed for a printer configured to use HP Standard TCP/IP port (such as in a DHCP environment), a name server such as WINS or DNS will be queried to determine the new IP address if the host name was used when creating the port. If a name server does not exist, or the host name was not used when creating the port, the port will have to be reconfigured.
Performance
HP Standard TCP/IP Port consists of very few files when installed, thus creating a very small footprint. Since it also does not have to rely on other components or architectures, such as the HP Jetadmin architecture that HP Jetdirect Port uses, it is able to consume very few system resources. The low overhead and small footprint of the HP Standard Port make it a very efficient port monitor.
HP Standard TCP/IP Port has performed reliably in tests of 500 or more ports created on a single NT 4.0 server. Therefore, it can be highly recommended in situations where a large number of ports are required on a single server.
HP Standard IPX/SPX port
The HP Standard IPX/SPX port monitor, written by Hewlett-Packard, provides a small and efficient port monitor that allows the user to print direct mode over the IPX/SPX protocol. Since Windows 9X has the default peer-to-peer network setup utilizing IPX/SPX, this monitor will allow small business users to install their printer and print without modifying their existing setup.
The HP Standard IPX/SPX port monitor can be used under any of the following operating systems:
- Microsoft Windows 9x
- Microsoft Windows NT
- Microsoft Windows 2000
- Microsoft Windows XP
It is provided through the following printer configuration/management utilities:
- HP Install Network Printer Wizard
It can also be downloaded from the following external FTP site:
ftp://ftp.hp.com/pub/networking/
software
hpspmnt.exe (NT/2000/XP)
hpspm9x.exe (9x)
Installation
The recommended installation method for the HP Standard IPX/SPX Port is to have the Install Network Printer Wizard automatically install the port monitor during print queue creation. However, the HP Standard IPX/SPX Port itself is available for download from an ftp site, and installation involves merely running the executable file that is downloaded and following instructions.
Once installed, the HP Standard IPX/SPX Port is represented by a handful of files and registry entries. The following files are installed under \Windows\system32:
Hpipxmon.dll
Hpipxmon.ini
Hpipxmib.dll
Hpipxmui.dll
Hpipxmui.hlp
Protocols
HP Standard IPX/SPX Port will use IPX/SPX for printing and SNMP for status information and device properties.
Device Status
HP Standard IPX/SPX Port uses SNMP polling to gather status information. If something goes wrong on the rinter while sending a print job (e.g. out of paper), the HP Standard Port Monitor will effectively report that condition.
HP Jetdirect Configuration
No prior HP Jetdirect configuration is necessary to use the HP Standard IPX/SPX Port. All that is required of the HP Jetdirect device is for the IPX protocol to be enabled.
Performance
Like the HP Standard TCP/IP port, the HP Standard IPX/SPX port consists of very few files when installed and contains the same performance benefits.
Microsoft Standard TCP/IP port
Microsoft Standard TCP/IP port, co-developed by Microsoft and Hewlett-Packard, provides a common port monitor to end-users that can support any network-connected printers over TCP/IP using industry-defined standards. It is functionally equivalent to the HP Standard TCP/IP port.
The Microsoft Standard TCP/IP port is included with Microsoft Windows 2000 and XP, and displays as "Standard TCP/IP port" under these operating systems.
Installation
The Microsoft Standard TCP/IP port is automatically included under Windows 2000 or XP. When configuring a printer to use a Microsoft Standard TCP/IP port, either the IP address or the host name of the printer can be used. If the host name is used, the port monitor can dynamically locate the printer if the IP address has changed. The port name is automatically filled in but can be modified.
Protocols
Microsoft Standard TCP/IP Port will use TCP/IP to print to network-connected printers. It can perform either raw TCP/IP (port 9100) or simplified LPR printing.
It uses port 9100 by default for the destination port, and randomly selects any open source port greater than 1023 as the source port.
Device Status
Microsoft Standard port uses SNMP polling to gather status information.
HP Jetdirect Configuration
A printer must be configured with valid TCP/IP parameters, and TCP/IP must be enabled, before printing can occur through the Microsoft Standard TCP/IP port.
If the TCP/IP address has changed for a printer configured to use HP Standard TCP/IP port (such as in a DHCP environment), a name server such as WINS or DNS will be queried to determine the new TCP/IP address if the host name was used when creating the port. If a name server does not exist, or the host name was not used during creation of the port, the port will have to be reconfigured.
Performance
The Microsoft Standard TCP/IP port monitor is comparable in performance to the HP Standard TCP/IP port monitor. It is a highly efficient port monitor consuming a very small footprint.
HP Standard TCP/IP port versus Microsoft Standard TCP/IP port
Since the Microsoft Standard TCP/IP port monitor was co-developed by HP, it is very closely related, if not nearly identical, to the HP Standard TCP/IP port monitor.
The difference between the two port monitors is basically what has changed in either port monitor since the introduction of the Microsoft Standard TCP/IP port. Ideally, both port monitors continually fix customer reported defects and add enhancements based upon customer recommendations. However, changes in one port monitor do not necessarily mean those same changes occurred in the other.
For example, enhancements and fixes known to be included in the latest version of the HP Standard TCP/IP port monitor include the following:
- Fixed case where Drum Low status caused the port monitor to no longer send data to printer.
- Added an editable network timeout registry setting to alleviate "unrecognized error 10035" errors when the spooler is unable to send data to the printer for over 90 seconds. Situations that would cause the spooler to be unable to send data to the printer include (but are not limited to) printer out of paper, offline, or buffer full.
- Fixed DNS time-to-live (TTL) issue, which caused jobs to be held in the spooler if the printer was assigned a new IP address.
- Host names starting with a numeral or number can now be used in defining the port.
- Host names can now be longer than 16 characters in length when defining a port.
- Under Windows 2000, if the "Keep printed documents" checkbox is selected, jobs will no longer be lost if the spooler process is stopped.
It is unknown whether these same changes may have occurred in the Microsoft Standard TCP/IP port or not. It is also possible that the Microsoft Standard TCP/IP port has changed in areas that the HP Standard TCP/IP port has not.
LPR port
Microsoft LPR Port, or Line Printer port, is a port monitor that Microsoft provides with Windows NT 4.0.
LPR Port is enabled once the Microsoft TCP/IP Printing Service is enabled under Windows NT 4.0.
|
NOTE:
|
In Microsoft Windows NT, the only way to natively print to a print device over TCP/IP is to install Microsoft TCP/IP printing. This component was by default an RFC 1179 compliant Line Printer Daemon (LPD) and Line Printer Resource (LPR). In Windows 2000, you can still have the same LPD/LPR (this is called Print Services for UNIX and is installed under Other File and Print Services). |
Protocols
LPR port sends print jobs over the TCP/IP protocol only to an LPD service running either on the same machine or another computer, which in turn sends the job to the printer. Windows NT supplies an LPD service when the TCP/IP Print Services are installed.
Creating an LPR port involves entering either a print server name or an IP address followed by a printer or print queue name. The print server can be any of the following:
- UNIX computer
- Windows NT computer
- Windows for Workgroups computer with 3rd party LPD
- Network adapter, such as an HP Jetdirect device or LPD capable printers
This differs from the LPR configuration of the HP Standard TCP/IP port, which can only direct print jobs to LPR capable printers.
For printing to HP Jetdirect devices directly, the print server name is the HP Jetdirect device itself. It can be entered as either an IP address or a hostname.
The LPR standard is published as RFC 1179, and Windows NT supports TCP/IP printing as documented in RFC 1179. However, Windows NT 4.0 has added enhancements to support the most popular and requested options. One such enhancement is increasing the possible source ports that LPR port can use.
Windows NT 4.0 uses a source port number between 512 and 1023, and a destination port number of 515 when sending print jobs to printers configured for LPR Port.
Device Status
LPR does not allow the passing of detailed error status information back to the host. Rather, when something goes wrong on the printer, such as being out of toner or having a paper jam, LPR would report a single generic error condition.
Printer Driver Compatibility
Some features of newer printer drivers, such as the Update Now button on the HP LaserJet 4000 or 5000, will not function with LPR port. These features rely solely on the architecture of HP Jetadmin and HP Jetdirect port.
HP Jetdirect Configuration
To print through LPR Port, the HP Jetdirect device must be configured with valid TCP/IP parameters. If the HP Jetdirect device is not configured, the IP address cannot be configured while creating the LPR port for that device.
If the IP address changes on a printer configured for LPR port (such as in a DHCP environment), the spooler service must be stopped and restarted in order for enumeration of the port to occur. This means that print jobs sent to an LPR port configured printer where the IP address has changed will hang until the spooler service is stopped and restarted.
Performance
LPR port is contained entirely within the Windows NT 4.0 operating system with no third-party files being required. The limited status information and small footprint of LPR port make it a very efficient port monitor.
HP is not aware of a limitation to the number of LPR ports that can be created on a single server.
Hewlett-Packard Network port
Hewlett-Packard Network port is a port monitor that Microsoft provides with Windows NT 4.0.
Hewlett-Packard Network port becomes enabled when the DLC protocol is enabled under Windows NT 4.0.
Once Hewlett-Packard Network port is enabled, ports can be created to printers by selecting Add Port while using the Microsoft Add Printer Wizard, or by changing ports through a Printer Properties
page.
Protocols
Hewlett-Packard Network port uses the DLC protocol to print to HP Jetdirect-connected printers.
The DLC protocol is bridgeable, but not routable. This means that if a Windows NT print server is on one physical subnet, and the HP Jetdirect-connected printer is on another physical subnet, the server cannot send jobs to the printer if the subnets are separated by a router. If the printer and server subnets are joined by a bridge, the server can then send print jobs to the printer.
Job-Based vs. Continuous
Hewlett-Packard Network Ports can be configured as either job-based or continuous. This setting affects all ports at once.
With a job-based connection, a print server connects to the HP Jetdirect device, sends a print job, and disconnects when the job is finished printing. This enables other print servers to connect and print.
With a continuous connection, a print server connects to the HP Jetdirect device and maintains the connection until either the print server or HP Jetdirect device is rebooted, preventing other servers from connecting.
Job-based would be recommended in most cases to minimize scenarios where the printer is monopolized by a single connection.
Device Status
Hewlett-Packard Network port supports bidirectional communications, and can provide status information about a printer through the data stream of the print job itself. A feature called "Advanced Job Status" must be enabled on the Hewlett-Packard Network port to support this feature.
Printer Driver Compatibility
Some features of newer printer drivers, such as the Update Now button on the HP LaserJet 4000 or 5000, will not function with Hewlett-Packard Network port. These features rely solely on the architecture of HP Jetadmin and HP Jetdirect port.
HP Jetdirect Device Change
Hewlett-Packard Network port uses the MAC address of the HP Jetdirect device when creating a port. Print jobs sent to a Hewlett-Packard Network port configured printer where the HP Jetdirect device has changed will hang until the port is recreated with the MAC address of the new device.
Performance
Hewlett-Packard Network port is contained entirely within the operating system with no third-party files being required. Also, it is very easy to install a printer using Hewlett-Packard Network port since no configuration of the HP Jetdirect device is required. The small footprint and ease of setup of Hewlett-Packard Network port make it a very efficient port monitor.
HP is not aware of a limitation to the number of Hewlett-Packard Network ports that can be created on one server.
Port monitor converter
A utility named portswap.exe exists to make converting HP Jetdirect ports into HP Standard ports, and vice-versa, a very simple task. This utility provides a simple user interface for quick and easy conversion, especially in cases where a large number of ports require conversion. The utility merely converts the registry entries from one type of port to the other, eliminating the need to recreate the ports. This saves valuable time and effort, especially if many ports require conversion.
The portswap.exe utility, and its corresponding readme file portswap.txt, can be downloaded from the following ftp site.
Summary
Port monitors are responsible for the communication between the spooler and the printer. When printing to HP Jetdirect-connected printers, there are various port monitors under Microsoft Windows from which to choose. Knowing the advantages of each port monitor will make the decision of choosing a port monitor much easier.