HP LaserJet 4000 on Ubuntu

The HP LaserJet 4000 is an ancient, 17 pages per minute monochrome laser printer that has served me for many years and that you can pick up very, very cheaply today (or free, from all good dumpsters). It also works perfectly almost out of the box with Ubuntu, and even better with a couple of cheap upgrades.

I'd have a picture at the top of thise page of mine, like I do everything else but it's so old and crusty that I'm sure you don't want to see a picture of it. Nope, you really don't.

Bringing it into the 21st century

The 4000 is a great printer, but it's still old technology. Hey, people my age feel old when we're reminded that the 1990s were the decade before the last decade. Fortunately, the 4000 was designed to be upgraded, and there's a couple of cheap and essential additions you want. Namely:

From here, I'll be assuming you've done the above. Hey, it's £20: go do it.


Short version: use the hpijs driver. Easy step-by-step instructions follow.

I had all sorts of problems with the PostScript driver, particularly long delays in loading the standard GTK+ print dialog. There were also jobs seemingly disappearing: being sent to the printer, which would display PROCESSING JOB for a few minutes and then go back to READY without ever printing the job. Using the hpijs driver fixes this.

Note: these instructions are for Ubuntu 10.04.

To add a network printer with a JetDirect card, go to System -> Administration -> Printing. Hit Add. In the resulting dialog box, click Network Printer, then AppSocket/HP JetDirect, and enter the IP address of your printer:

Hit Forward again. You'll be presented with a dialog asking you for your printer options:

If you've not added additional memory, you want to set this to 4-7mb, unless you've got the 4000TN variant, in which case you want to set it to 8-11mb. If you have added memory to it, you want to add the memory card's capacity to the internal (4mb) memory; specify 12mb if you've got an 8mb card, for example. If you don't know what the other settings should be, leave them at their defaults.

Hit "Forward" again, then "Apply" in the next dialog box. Print a test page if you want to.

Next, we need to tell the computer to use the hpijs driver. In the Printing window, right click on HP-LaserJet-4000, click Properties, then in the resulting window hit Change next to Make and Model:

Change make and model

Make sure "HP" is selected under "Makes":

'Makes' dialog for adding a printer in Ubuntu

Hit Forward. In the next window:

Select the hpijs driver

...make sure the entry in the right-hand column beginning with HP LaserJet 4000 Series hpijs pcl3 is selected. Hit Forward. If you get the following dialog:

Copy the option settings over from the old PPD

Select "Try to copy the option settings over..." (and nope, I don't know why the text is screwy on my screen). Hit Apply to close this window. (The "Printer properties" dialog will still be open; you can close this now.)

Huzzah! You're now using the hpijs driver.

Oh no, it doesn't work!

Make sure your router isn't automatically assigning the IP you've given your printer to another computer on your network. My Netgear DG834 router does this from time to time. Manually assign that machine a different IP address if needs be. Power-cycling your router might fix it, too.

Versus inkjet printers

Some people might wonder why I'm using an old LaserJet printer, given that inkjets are cheap and have a rated page-per-minute speed much higher than the 4000s. 30 pages a minute from a £60 printer! Here's the thing:

Printer manufacturers are liars.

I'm not singling out Epson; they're the same as all the other manufacturers. When they say "up to 30 pages a minute", they're probably talking about the printer's feed motor speed, and unless you're printing a single line of text on each page there is no way you are ever going to get 30 pages a minute out of one. Not happening. I've used one, and I don't mind telling you that in the real world you might get half that, at draft quality, and half that again for non-atrocious print quality, and even then it doesn't look as good as the ancient LaserJet does.

With the 4000, 19 pages per minute means 19 pages per minute. There are inkjets that can do 30 ppm, but you're not going to be paying £60 for one.

By the way, did you know one of those will cost you 10p per page (probably using some fudged figure just like their PPM rating)? Look around and you'll find LaserJet 4000 toner cartridges for about £30, which at their rated 6000 pages, is going to be about 0.5 pence a sheet, or twenty times cheaper. I got my printer used with a part-used toner cartridge, and despite printing Goodness-knows-how-much stuff I haven't needed to replace the toner cartridge in the 5 or 6 years I've had it. Hooray!

Inkjets are cheap, just as "Rottweiler puppy, free to good home" is actually free. On the other hand, the SX215 works great as a cheap photocopier, so don't mind me.

Around the Internets