How to debug printing problems

From FedoraProject

Revision as of 16:54, 18 March 2010 by Twaugh (Talk | contribs)

Jump to: navigation, search


If you experiencing a problem with printing, please take a look at the common bugs page before filing a bug. If the problem you are seeing is not listed there or none of the workarounds seem to help, please consider filing a bug report to help us make Fedora run better on your hardware.


Identifying your problem area

Printing troubleshooter

The first thing to try is to run the printing troubleshooter: System > Administration > Printing from the main menu, then Help > Troubleshoot from the menu bar. This will ask a series of questions about the problem you are experiencing, with the aim of finding the reason for the problem.

One step in this process is to print a test page. There is a button in the troubleshooter to print a test page for you, but if the problem you are seeing is specific to printing from a certain application, or printing a certain document, just go ahead and print from that application or print that particular document. The print job will appear in the troubleshooting window -- just put a tick in the box next to that print job to say that it is the one you are having trouble with.

If the problem was not found automatically you will be given the option to save the diagnostic information collected during the troubleshooting process in a file named troubleshoot.txt. If you report a bug you should attach this file, not compressed, with the MIME type set as text/plain.

What make and model is my printer?

Each different printer has a model-specific Device ID. The printing troubleshooter attempts to collect this information from the printer, but you can do it yourself with the lpinfo command:

su -c "lpinfo -l -v"

This will output a series of blocks of lines, each one like this:

Device: uri = usb://HP/DESKJET%20990C?serial=U123456789AB
        class = direct
        info = HP DESKJET 990C
        make-and-model = HP DESKJET 990C
NTER;DES:Hewlett-Packard DeskJet 990C;SN:U123456789AB;S:00808880800010032C100000
0C2000000;P:0800,FL,B0;J:                    ;
        location = 

The line which identifies this particular model type is the long one that starts "device-id =" (shown here wrapping over three lines).

Which driver am I using?

The PPD file for the printer queue can tell you which driver is in use. For a queue called Charlie, you can use this command to find out which driver is being used:

grep '^*NickName:' /etc/cups/ppd/Charlie.ppd

You can also find this out using the system-config-printer application. Double-click on the icon for the queue and look at the Make and Model field.

To see the available drivers, click on the Change... button next to that field. You might find it useful to try another driver to see if that shows the same problem.

Finding where the problem lies

If you are having problems printing PDF files, try printing other types of file print to see if the problem is with printing anything or if it is specific to printing PDF files.

Try printing from a different application to see if the problem goes away or if it occurs regardless of how a file is printed. Try printing the document from the command line using the lp command.

Filing a bug report

Problems involving printing may relate to several components: the configuration GUI is system-config-printer, back end components include cups (the actual printing sytem used by default), foomatic (the main driver and printer information database), and hpijs (the drivers used for HP printers). If you are not sure, make your best guess.

Be prepared to include some information about your system as well. Some of this can be gathered automatically using the printing troubleshooter, but you may also need to include other information such as:

  • the PPD file for the print queue (from the /etc/cups/ppd directory)
  • the document you are attempting to print -- if this is large, please try to see if the problem also occurs with a smaller document