Talen:

Almost 2 years ago, I bought a HP Laserjet
CP1025.
It was rather cheap. And it has crappy Linux support. Damn.

Every time I install a new Linux distribution, I have forgotten how to
use this printer. So I might as well document it here.

If you want to attach your printer to your PC using the USB cable. It's
not that difficult. You can install the
hplip package,
which is available in the Debian and Fedora repositories. Probably other
distributions' as well. When you run hp-setup, you get an ugly gui
tool to configure your printer, that downloads the correct freedom
hating driver. But it works. (You can also run it in the console:
hp-setup-i)

Now, where I live, I don't have room for a printer in the living room.
So the printer is in the attic, attached to a Raspberry Pi print
server. But for that to work, I need a client side
printer driver. And that is a problem. The hplip tools don't want to
believe me that there is a HP Laserjet CP1025 on the network. And I
could not find out how to configure a CUPS network printer with the
hplip drivers.

What you need, is the 'foo2zjs' printer driver. Which might be in your
package repository. Which might even be already installed on your
system. But don't use the one from the repositories! It does not
work. I don't know why either.

So uninstall foo2zjs from your system, and compile it yourself. It is
not hard to do. Go to the foo2zjs
website, and scroll down to 'Download and install'. You only need to
download the firmware for your printer model (in this case 1025).

Be careful now when you add your printer. The driver name is:
HP LaserJet Pro CP1025nw Foomatic/foo2zjs-z3 (en). Which is,
becasuse of the Pro in the name, on a completely different place in the
alphabetical list than the other (nonfunctional) cp1025 drivers, which
don't mention 'Pro'.