Printing Troubleshooting
Issue 1: Print jobs are failing on my 4x6 Photosmart printer.
Solution:
For printers that only support 4x6 page sizes, make sure the page size setting is correct in the CUPS queue. The default page setting may not be correct and print jobs will fail.
Issue 2: I'd like to view the CUPS error log for debugging and troubleshooting purposes.
Solution:
Edit the /etc/cups/cupsd.conf file, find the section "loglevel" change "info" to "debug" save and exit then restart cups
# /etc/init.d/cups restart
or for Ubuntu
$ sudo /etc/init.d/cupsys restart
then enter this command to view the log
tail -f /var/log/cups/error_log
With the CUPS LogLevel set to debug, the CUPS error_log will show all programs that are executed during the print job. Generally there are two data paths taken during a print job; 1) HPIJS driver path 2) Postscript driver path. Both data paths will use the "hp" backend.
For the HPIJS path, look for errors near the ghostscript command (gs) command. The gs command will invoke the HPIJS driver.
For the Postscript path, there will be no gs command. Postscript will be passed directly to the "hp" backend and then to the printer.
Issue 3: When printing Letter media, the bottom row is printed incompletely.
Solution:
Some applications use enscript for printing, make the following changes to /etc/enscript.conf. This tip came from Patricio Paez.
From:
DefaultMedia = Letter
To:
DefaultMedia = Letterdj
Issue 4: The "/dev/usb/lp0" device node is deleted after using HPLIP.
The "/dev/usb/lp0" device node is created by usblp. HPLIP does not use usblp, instead HPLIP uses libusb. Libusb uses the "/dev/bus/usb/xxx/xxx" device node instead of the "/dev/usb/lp0" device node.
Since usblp and libusb cannot claim the the same usb device, any HPLIP device I/O usage (ie: scanning, printing or faxing) will remove usblp from the "/dev/usb/lp0" device node. Once usblp has been removed from the device node, the device node is deleted and cannot be restored except by another UDEV plug-n-play event.
If you are using CUPS this means in general you should always use the HPLIP's "hp" backend (ie: "hp:/usb/...") instead of the standard CUPS "usb" backend (ie: "usb://...").
The "hp" backend will always use the libusb device node. If you try to use the "usb" backend the "/dev/usb/lp0" device node may not be available.