Gentoo Wiki


Please format this article according to the guidelines and Wikification suggestions, then remove this notice {{Wikify}} from the article

I bought a HP 1020 laserprinter and it is working well under Gentoo. It is faster and has better print quality than my old Lexmark 232E. It is also quieter and smaller than my old printer.

Here is how I installed it:


First try this

# FOO2ZJS_DEVICES="hp1018 hp1020" emerge -av foo2zjs

# emerge cups
# /etc/init.d/cupsd start

In browser: http://localhost:631

Add printer If you are lucky, that might be enough. If not, look below:

If that fails

Add USB Printer support to the Kernel

First ensure that your kernel is compiled with USB support and USB printer support. Code Listing 2.2: USB Port Printer Configuration

Device Drivers -->

 USB Support -->
   <*> Support for Host-side USB
   --- USB Host Controller Drivers
   (Select the HCD that your system uses. If you do not know which one
    to select, run "lspci -v | grep HCI" from another terminal)
   <*> EHCI HCD (USB 2.0) support ( or )
   <*> OHCI HCD support           ( or )
   <*> UHCI HCD (most Intel and VIA) support
   <*> USB Printer support

Quit the kernel configuration and rebuild your kernel. Don't forget to copy the new kernel image to the /boot location (and don't forget to mount /boot if needed) and update your boot loader configuration prior to rebooting your system.

Then follow the instructions at

Here are the relevant parts of the instructions: " Unpack:

$ wget -O foo2zjs.tar.gz
$ tar zxf foo2zjs.tar.gz
$ cd foo2zjs

(Optional) Uninstall:

$ su
# make uninstall


$ make

Get extra files from the web

$ ./getweb 1020 # Get HP LaserJet 1020 firmware file

Install driver, foomatic XML files, PPD files, and extra files:

$ su
# make install

(If this causes complaints about "foomatic-rip" being unavailable, then "emerge foomatic-filters" and try again.)

Install hotplug

$ su
# make install-hotplug

If you use CUPS to manage your printers, you must restart cupsd:

# make cups OR $ sudo make cups

Create printers

$ sudo gnome-cups-manager
$ sudo make cups

NOTE: to edit a queue hit "Properties" (click right mouse button).

OR Connect with a web browser to: http://localhost:631 And configure printer (HP example shown) to: HP LaserJet 2600n, Foomatic + foo2zjs (en) Then edit "Manage Printers->Configure Printer" to suit you, such as "Page Size" or "Color Mode".


These printers need their firmware downloaded to them every time they are powered up.

On Linux with USB connected printer: If you are running Linux and the printer is connected via USB, you can arrange for the firmware to be automatically downloaded to the printer by performing one more installation step:

# make install-hotplug

On another OS or with a parallel port connected printer:

You must send a firmware file to the printer each time you power it up. If you downloaded the extra files for the HP above, a typical command line to load the firmware would be:

$ cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/usb/lp0

These printers do not have a "button" when you run out of paper. But you can simulate this by reloading the paper and doing:

$ usb_printerid /dev/usb/lp0 "

It is always recomendable to check out /var/log/cups/error_log file to see if you have some issue in your config files at /etc/cups/

Sometimes you can get an error because cups server can't find the "foomatic-rip" tool. Check into /etc/cups/ppd/LaserJet-1020.ppd and fixit to look like this:

*cupsFilter:    "application/vnd.cups-postscript 0 /usr/bin/foomatic-rip"

Dont forget to restart the cups server using:

$/etc/init.d/cups restart
Retrieved from ""

Last modified: Sun, 31 Aug 2008 09:11:00 +0000 Hits: 4,940