Printers are strange beasts. They act as portals between the virtual and physical worlds, and they can be temperamental. This blog provides helpful suggestions for Windows printer troubleshooting.
Start by taking a look at Microsoft's handy Windows 10 printer troubleshooting page here (it also includes links to Windows 8.1 or Windows 7 instructions). This blog covers some of the same ground, with additional detail and suggestions to try.
Stuck Print Jobs
Stuck print jobs are an annoying issue that most people have run into. Here are some tips on getting rid of them:
- Cancel in print queue - try right clicking the printer in Windows and opening the print queue, then right clicking and cancelling all documents. This may clear stuck jobs, but oftentimes it isn't enough.
- Restart Print Spooler - run services.msc, go to the Print Spooler service, right click it and choose Restart.
- Clean spooler folder - are jobs still stuck? Run services.msc again and stop the Print Spooler service. Go to %WINDIR%\system32\spool\PRINTERS and delete everything in the folder, then start the Print Spooler service again. You may need to do this on the print server if it's a shared printer.
Printer Troubleshooting
You can troubleshoot printer issues from the printer itself, from the client side (client meaning the computer having the issue), or from the print server, if you are using one. Here are some troubleshooting steps for each of those situations:
Printer Troubleshooting From The Printer Itself
- Power cycle printer - cancel any remaining print jobs, power off the printer, then power it back on.
- Check cables - if the printer is unreachable make sure to check the network or USB cable it is using.
- Check warning lights/display - if it's an old printer with just warning lights, check the manufacturer's support site for documentation on how to interpret error codes. If it has a display, check for any error messages and then check the manufacturer’s site for how to resolve them.
- Firmware update - printer firmware rarely gets updated unless there's a problem, and printers tend to stick around offices much longer than other pieces of technology, so printer firmware is often way out of date. If you are troubleshooting a tough printer issue you might as well update the printer firmware to rule it out as a root cause, firmware updates fix all kinds of strange issues. You may be able to initiate a firmware update from the printer itself, more modern printers with touchscreen controls often have this feature. You may have to do it from a client - see the client-side troubleshooting section below for more information.
- Reset to defaults - if all else fails you can try resetting the printer to its default settings, generally this can be accomplished via display if the printer has one.If it doesn’t have a display, try browsing to the printer’s IP address and using the management page.
Client-Side Printer Troubleshooting
- Try another client - try printing to the same printer via another client. This will help you determine if the issue is with the client itself, the printer itself, or the print server.
- Reboot the client - rebooting is always a good troubleshooting step, especially if the printer worked in the past.
- Remove and re-add the printer on the computer - remove the printer in Windows. Make sure the drivers are gone by going into Print Management -> All Drivers, right clicking on the appropriate driver, and selecting Remove Driver Package. Then re-add the printer. Sometimes this is enough to fix things.
- Try different drivers - if you've already removed and re-added the printer on the client, try using a different driver. Go to Print Management -> All Printers, right click on the printer in question, choose Properties, and go to the Advanced tab. Click on New Driver and select a new driver to try. See if you can find an updated driver on the manufacturer's website. You can also try a more generic driver. For example, say the HP LaserJet 700 driver you are using isn't working, try the HP Universal Printing PS driver. You can also try switching from a Postscript driver to a PCL driver to see if that helps.
- Try printing directly - if you are using a printer shared from a print server, try adding the printer to your computer by IP address instead (or connecting via USB) and see if you can print that way. If that works, you know the problem is likely with the print server.
- Firmware update - if a firmware update can’t be initiated from the printer itself, you can generally do this via the web interface (by browsing to the IP address of the printer) or via a manufacturer's utility from the printer's support site. Make sure you follow the manufacturer's instructions and do not do anything to interrupt the firmware update while it's in progress.
Server-Side Printer Troubleshooting
If the printer is shared from a print server, especially if multiple people are having problems with it, check it out from the server side:
- Clearing the print spooler - if you have stuck jobs, run services.msc again and stop the Print Spooler service. Go to %WINDIR%\system32\spool\PRINTERS and delete everything in the folder, then start the Print Spooler service again.
- Try different drivers - as above, see if an updated driver exists, try a generic driver, or try switching from a postscript driver to a PCL driver.
- Type 3/4 drivers - Microsoft introduced Type 4 drivers with Server 2012, they were intended to replace the default drivers bundled with Windows. Type 3 drivers are usually downloaded from the printer manufacturer’s website. If a printer is using a Type 3 driver see if you can replace it with a Type 4. You can determine driver type in Print Management by referring to the Driver Type column.
- Remove and re-add the printer - typically this is something I do more often on the client side rather than on the print server, but it’s a valid step here too.
- Reboot the server - if all else fails and you suspect server issues you can try rebooting the server.
Also, here's some PowerShell you can use to view print queue statistics, from here:
Get-WMIObject Win32_PerfFormattedData_Spooler_PrintQueue |
Select Name, @{Expression={$_.jobs};Label="CurrentJobs"}, TotalJobsPrinted, JobErrors
Run this on a client with a local printer or on a print server and it will show you print queue statistics, including errors. Note that restarting the print spooler resets these statistics.
Hopefully these troubleshooting suggestions help you resolve your printer issues!
If you would like to talk more about printer troubleshooting, you can contact us.