Printing to LPD Printer Is Slow or Fails with Windows (141708)



The information in this article applies to:

  • Microsoft Windows NT Server 4.0 Terminal Server Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Workstation 4.0 SP1
  • Microsoft Windows NT Workstation 4.0 SP2
  • Microsoft Windows NT Workstation 4.0 SP3
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0
  • Microsoft Windows NT Server 4.0 SP1
  • Microsoft Windows NT Server 4.0 SP2
  • Microsoft Windows NT Server 4.0 SP3

This article was previously published under Q141708

SYMPTOMS

Delays may result when you print to a Windows print server connected through line printer remote (LPR) to a shared printer using the Line Printer Daemon (LPD) service.

CAUSE

In Windows NT version 3.51 Service Pack 4 (SP4) and earlier, the LPR service used TCP ports 721 through 731 for LPR connections. This complied with RFC 1179 but limited performance because it only enabled 11 TCP ports to be in use by the service at one time. Per RFC 1122, each port must not be reused for four minutes (2 * Maximum Segment Lifetime as defined in RFC 1122).

A change in Windows NT 3.51 SP5 and Windows NT 4.0 up to Service Pack 2 (SP2) provides a performance enhancement for LPR printing. This enhancement enables TCP ports 512-1,023 to be used for outbound LPR connections but deviates from RFC 1179 and therefore causes problems with some applications.

RESOLUTION

To revert back to the RFC 1179 specification, use the steps listed in the appropriate section below.

Windows NT 3.51 SP5

To revert Windows NT 3.51 SP5 back to being RFC compliant, obtain the hotfix mentioned below or regress back to the SP4 files, by copying the following files into your %Systemroot%\System32 folder:

(from the Windows NT 3.51 SP4 CD)

Lprmon.dll

(from the original Windows NT 3.51 CD)

Lprhelp.dll
Lpdsvc.dll

NOTE: It is necessary to restart the Spooler service for the changes to take affect. To stop the Spooler service, type the following command at an MS-DOS command prompt:

net stop spooler

To restart the Spooler service, type the following command at an MS-DOS command prompt:

net start spooler

Windows NT 4.0 SP2 and Earlier

Windows NT 4.0 SP2 and earlier can become RFC compliant by applying the latest service pack for Windows NT 4.0.

To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

152734 How to Obtain the Latest Windows NT 4.0 Service Pack


STATUS

Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.

MORE INFORMATION

With Windows NT 4.0 Service Pack 3, the default TCP Ports for LPR are 721-731. Changes can also be made so that ports greater than 1,023 can be used to prevent LPR from running out of available ports or conflicting with reserved ports.

For more information about available LPR port options with Service Pack 3, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 179156
TITLE : Updated TCP/IP Printing Options for Windows NT 4.0 SP3 and Later


For more information about changes to LPR in Windows NT 3.51, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: 153666
TITLE : Updated TCP/IP Printing Components for Windows NT 3.51


Modification Type:MinorLast Reviewed:10/7/2005
Keywords:kbfix kbprb kbprint KB141708