I have a HP DeskJet 648C connected to the parallel port of my computer, and the following Debian packages are installed:
- cupsys, cupsys-client, cupsys-bsd
- gs-esp, gs-common, gsfonts, gsfonts-other
- a2ps, enscript, mpage
I have
not installed any of the foomatic packages.
I download the hpijs driver tarball from
http://sourceforge.net/projects/hpinkjet into /usr/src/, untar it, ./configure, make, make install, and do killall -HUP cupsd to reset the CUPS server. I then point my web browser to localhost:631, log in as root, and configure the printer.
- Name: lp
- Location: local
- Description: deskjet_648c
- Device: Parallel Port No. 1
- Driver Make: HP
- Driver: Deskjet 648c
And the printer works as advertised. Periodically, HP ships a newer tarball which I download, untar it, ./configure, make, make install, and do killall -HUP cupsd. Sometimes I have to set up the printer again after doing this; sometimes not. I see no method to the madness.
This morning, I deleted my current printer setup and wiped from my hard drive all of the HP drivers built from source, then installed Debian's hpijs package and reset the CUPS server. (Current hpijs tarball is version 2.1.4; current Debian hpijs package is version 2.1.3. Identical for all practical purposes.) I then proceeded to re-define my printer setup. When I got to the point where I select the driver, instead of seeing the long list of HP printers (including my 648C) that I am accustomed to seeing, I saw only five generic selections.
I then installed the Debian's foomatic-db-hpijs package, which also installed foomatic-db and foomatic-filters, and would have installed hpijs had it not already been installed. The Debian maintainer's notes indicate that these packages
might not work unless foomatic-db-engine was also installed. ?!?!?! Foomatic-db-engine is listed as recommended, not required! Just to be on the safe side, I installed foomatic-db-engine, then reset the CUPS server and proceeded to re-define the printer only to discover... still only five generic choices of drivers!
At that point, I uninstalled all of the foomatic packages (freeing 18.5 meg on my hard drive), re-installed HP drivers from the tarball and am back to my original setup, which works just dandy.
I have also noticed that ghostscript is
not a dependency for Debian's CUPS packages. This is a bad decision on the part of the Debian maintainers, since a user can install and configure CUPS and still not have a working printer. Sort of like having an engine and transmission, but no driveshaft. You can rev the engine and shift the gears, but you never leave the parking lot.
I assumed that HP LaserJets are all postscript devices and therefore ghostscript is not required. I realize now that this is not the case. In fact, hpijs may be completely worthless if ghostscript isn't installed. There are multiple Debian ghostscript packages. Those people using CUPS, which is about 99.9% of the people reading this post, want to install gs-esp, which is the version that is optimized for use with CUPS.
All-in-all, I'm not overly fond of CUPS. A print command, once issued, cannot be cancelled, and I've wasted a lot of ink because of this. I much prefer LPRng, which is LPR done properly. But the person who created LPRng has lost interest or no longer has free time to work on it or
something. CUPS is now the only game in town. :-(