I used to be able to print to a HP printer (LaserJet 3055) via network on Ubuntu 11.10.  One day it suddenly refuses to do that any more, probably after some system updates to Ubuntu.  All print jobs become pending.  Upon checking the printer properties and status, the problem seems to be:

/usr/lib/cups/backend/hp failed

The solution is:

  • Open CUPS Administration page http://localhost:631/admin using a web browser
  • Click Manage Printers
  • Click the printer
  • In the drop down list box, choose “Resume Printer”
  • Enter username and password

Alternative solution:

  • Remove the printer from Ubuntu – when I did this, it hangs.  After waiting for a while, I decided to reboot Ubuntu.  Luckily after the reboot, the printer is really removed.
  • Add the printer again.  Then it works!

Other solutions (that I have not tried) usually involve reinstalling some software such as the HP Printer Toolbox.