How to troubleshoot network printing problems in Windows XP (314073)



The information in this article applies to:

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional

This article was previously published under Q314073
Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

INTRODUCTION

This article describes some general troubleshooting steps for network printing issues that you may encounter in Windows XP. The article then describes symptoms and a resolution of some common network printing issues that can occur in Windows XP.



Back to the top

MORE INFORMATION

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

General troubleshooting steps

  1. Verify that basic network connectivity is working.

    Check user rights, protocols, share names, and so on to make sure that you can connect to the server. Copy files to a share on the print server by using Windows Explorer. If you cannot gain access to the server, you may not be able to gain access to the printer.
  2. Create a local printer, and then redirect the port to the network server. Follow these steps:
    1. Create a local printer and, under Ports, add a new port.
    2. Click Local Port, click New Port, and then type the server and printer name for the printer in \\ServerName\PrinterName syntax.
    3. Use the new port for the local printer.
    If you are prompted for a password, there may not be a field in Windows XP in which to enter a password. Reset the password on the destination computer to be blank. Example: On a Windows 98 computer that is hosting a Xerox printer, clear the password; set it to be blank. (Not the actual word "blank")

    This test shows whether there is a problem with copying files from the server to your computer. This copying occurs if you use Connect To Setup or if you click Network Printer in the Add Printer Wizard.
  3. If the printer is not a PostScript printer, see whether you can print from an MS-DOS-based program. (Printing from an MS-DOS-based program does not work on a PostScript printer unless a PostScript driver is selected in the program.)

    Check to see whether the net use command has been run to map the LPT port to the network share. If it has, delete the mapping, and then map the port again. Try again to print.

    If printing works, there may be an issue with ghosted connections. You might need to run a logon script command to remap the port each time you log on.

    If printing does not work, type dir > lptx at a command prompt, where x is the number of the port that is being mapped, and then press ENTER.

    If printing still does not work, double-check the networking connections.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

314067 How to troubleshoot TCP/IP connectivity with Windows XP

Back to the top

Troubleshooting specific issues

You cannot print to a network printer after you add Internet Connection Sharing

After you add Internet Connection Sharing to the network, you may not be able to print. This issue occurs because Internet Connection Sharing uses a Class C subnet that has an address range of 198.168.0.x. To resolve this issue, reset the IP address of the printer to match the subnet of the computers that are using Internet Connection Sharing.

Back to the top

You cannot send a print job to a Windows 98-based client

You may not be able to send a print job from Windows XP to a Microsoft Windows 98-based client that is using a password for the printer share. To resolve this issue, run the following command:

net use lpt1 \\computer\printer password /persistent:yes

Replace computer with the computer name of the Windows 98-based computer that is sharing the printer, replace printer with the name of the printer share, and replace password with the password for the printer share.

Back to the top

Error messages that are caused by local port monitor issues

When you restart the computer or restart the Print Spooler service, you may receive the following error message:
Spoolsv.exe failed to start
When you open the printer's properties, you may receive the following error message:
Out of Resources Error
When you try to print a document, you may receive an "Access violation" (Dr. Watson) error message. The Dr. Watson log points to Spoolsv.exe with error code C0000005.

You may receive the following error message, and the print spooler stops:
The instruction at 'address' referenced memory at 'address'. The memory could not be read.
An attempt to restart the Print Spooler service or to open the Printers folder may cause the same message.

These issues can occur if a third-party program changes the default local port monitor. To resolve these issues, correct the Local Port value in the registry. Follow these steps:
  1. Start Registry Editor (Regedt32.exe).
  2. Locate the Local Port value under the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port

  3. Double-click the Driver key, and then edit the value. Change the string value to Localspl.dll, and then click OK.
  4. Check the following registry key for third-party port monitors, and then remove any port monitors other than default port monitors:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors

    The default port monitors are:

    AppleTalk Printing Devices (if Services for Macintosh is installed)
    BJ Language Monitor
    Local Port
    PJL Language Monitor
    Standard TCP/IP Port
    USB Monitor
    Windows NT Fax Monitor

  5. Check the following registry key for third-party print providers, and then remove any print providers other than default print providers:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers

    The default print providers are:

    Internet Print Provider
    LanMan Print Provider

  6. Quit Registry Editor.
After you edit the registry, restart the print spooler:
  1. Click Start, click Run, type mmc, and then click OK.
  2. On the File menu, click Add/Remove Snap-in.
  3. Click Add, click Computer Management, click Add, and then click Finish.
  4. Click Close, and then click OK.
  5. Expand Computer Management, expand Services and Applications, and then click Services.
  6. Right-click Print Spooler, and then click Start.
Back to the top

You cannot add Windows XP printer drivers to Windows NT 4.0

To add a network printer that is managed by a Windows NT 4.0-based computer to a Windows XP-based computer, install the printer locally on LPT1 on the Windows XP-based computer. Follow these steps:
  1. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  2. Right-click the printer, and then click Properties.
  3. On the Ports tab, click LPT1.
  4. Click Add Port.
  5. Double-click Local Port.
  6. Type \\ServerName\PrinterShare, where ServerName is the name of the server and PrinterShare is the name of the printer share.
  7. Click OK.
Back to the top

You receive a "The device is not ready" error message

When you print a document, you may receive the following error message:
There was an error found when printing the document "Name of document" to LPT1:. The device is not ready.
If the printer is a network printer, try opening an interprocess communication (IPC) connection by using \\ServerName, to make sure that there is network connectivity and that the server can respond to share requests.

For a local printer, check the cables and the power to the locally attached printer.

If these methods work, you may need to reinstall the printer drivers. To completely remove the printers, edit the registry:
  1. Click Start, click Run, and then type regedit in the Open box.
  2. Locate the Printers value under the following key in the registry:

    KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

  3. Remove the printers that are installed under this key. For example, remove the following key for a Generic Text/Only printer:

    KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\Generic/Text Only

  4. Follow the instructions in the "Error Messages Typically Due to Local Port Monitor Issues" section of this article.
  5. Quit Registry Editor.
After you do this, reinstall the drivers for your printer.

Back to the top

You cannot print from a 16-bit MS-DOS-based program

In this situation, type the following line at a command prompt, and then press ENTER:

net use lpt1: \\servername\printershare /persistent:yes

In the 16-bit program, print to LPT1. You can assign other LPT ports to MS-DOS-based 16-bit programs if the program needs to use other ports.

For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

257859 BitWare causes Spoolsv.exe program error in Windows 2000

Back to the top

Error messages that are caused by incorrectly configured or incompatible point and print situations

Point and Print reduces administrative overhead and simplifies and automates printing. Point and Print functionality was introduced in Microsoft Windows 95, Windows 98, and Windows 98 Second Edition (as a client), and in Windows NT 3.5 and later.

When you connect to a printer on a print server, the connecting client looks for the appropriate drivers on the print server. If the drivers are installed on the server, the drivers are automatically downloaded and configured for the client. However, if the drivers are not present, you are prompted to select and install the drivers.

When you attempt to connect a Windows-based network client to a print server, you may receive the following error message:
The server on which the device name printer resides does not have the correct printer driver installed. If you want to install the driver on your local computer, click OK.
You may receive this error message in the following situations:
  • Server message block (SMB) is connected to the print server.
  • You connect to a printer by using the new Internet Printing Protocol (IPP) and the Internet print server does not have a suitable driver installed.
  • The computer has a third-party driver that is incompatible with Windows XP.
If you receive the error message in one of these situations, use the appropriate workaround.

Back to the top

Workarounds

SMB-connected print server

SMB print servers allow workstations on the network to send print jobs directly to a print server without going through an intermediate computer or print server. This type of configuration does not support Point and Print.

To work around this issue, follow these steps to install the print driver locally and create a connection to the SMB print share:
  1. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  2. Double-click Add a printer, and then click Next.
  3. Click Local printer attached to this computer, and then click Next.
  4. Click Create a new port.
  5. In the Type box, click Local Port, and then click Next.
  6. Type the SMB share name. For example:

    \\PrintServer\ShareName

  7. Continue the wizard and install the appropriate driver for the device.
Back to the top

Internet printing protocol

You can use IPP to print directly to a Uniform Resource Locator (URL) over an intranet or the Internet. In addition, you can install a printer from the Internet or intranet by using Microsoft Internet Explorer. The error message can occur if the IPP print server does not have a suitable driver installed.

To work around this issue, follow the steps for the appropriate method: Method 1 (administrators only) Install a compatible driver on the server.
  1. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  2. Double-click Add a printer, and then click Next.
  3. Click Local printer attached to this computer, and then click Next.
  4. Click Create a new port.
  5. In the Type box, click Local Port, and then click Next.
  6. Type the share name. For example:

    \\PrintServer\ShareName

  7. Continue the wizard and install the appropriate driver for the device.
Method 2 Install a suitable driver on the client computer, and then redirect the printer to the appropriate IPP URL.
  1. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  2. Double-click Add a printer, and then click Next.
  3. Click Local printer attached to this computer, and then click Next.
  4. Click Create a new port.
  5. In the Type box, click Standard Port Monitor, and then click Next.
  6. Type the Internet Protocol (IP) address of the IPP print server.
  7. Continue the Add Printer Wizard and install the appropriate driver.
Back to the top

Incompatible print driver

Some third-party drivers that are written for Windows NT 4.0 do not work properly in Windows XP. If you attempt to install an incompatible driver, the error message is displayed during Point and Print.

To work around this issue, follow the steps for the appropriate method: Method 1 (administrators only) Use an updated driver from the manufacturer's Web site:
  1. Download and install the updated driver.
  2. If the driver has an uninstallation tool, run the tool before you continue these steps.
  3. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  4. Double-click Add a printer, and then click Next.
  5. Click Local printer attached to this computer, and then click Next.
  6. Click the same port that you used for the previous driver.
  7. Click Have Disk, and then type the name of the installation folder for your updated driver.
  8. Continue with Setup, and share the driver for down-level clients.
Method 2 (administrators only) Install a Windows XP driver on the print server:
  1. If the original driver has an uninstallation tool, run the tool before you continue these steps.
  2. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  3. Double-click Add a printer, and then click Next.
  4. Click Local printer attached to this computer, and then click Next.
  5. Click the same port that you used for the previous Original Equipment Manufacturer (OEM) driver.
  6. Click the appropriate model in the Model/Manufacturer list.
  7. Finish Setup, and share the printer for network use.
Method 3 Install a compatible driver on the client, and then redirect the output to the server:
  1. Click Start, click Run, type control.exe in the Open box, and then click Printers and Faxes.
  2. Double-click Add a printer, and then click Next.
  3. Click Local printer attached to this computer, and then click Next.
  4. Click Create a new port.
  5. In the Type box, click Local Port, and then click Next.
  6. Type the share name. For example:

    \\PrintServer\ShareName

  7. Continue the wizard and install the appropriate driver for the device.
Back to the top

Modification Type:MajorLast Reviewed:6/24/2004
Keywords:kbhowto kberrmsg kbinfo kbnetwork kbprint kbtshoot KB314073