HP LaserJet P1006

Introduction
The HP LaserJet P1006 is a ZjStream-based printer which can be made to work with CUPS via the package, which is in portage.

Installation
First, make sure the appropriate USE flags are enabled by adding an entry in. This example assumes a USB connection:

Add the following to to tell portage to build foo2zjs with support for the P1006: FOO2ZJS_DEVICES="hpp1006"

Next, install the package:

The default configuration for foo2zjs does not support the P1006 model, so first we must edit. Add the following inside the 'case' statement: P1006)   MODEL="P1006"    MODELNAME="HP LaserJet P1006"    ;;

Finally, udev must be told to upload the firmware to the printer whenever the printer is connected. The foo2zjs package creates a file called. Append the following code to this file, or alternately to a new file called (to prevent it from being overwritten by updates of the foo2zjs package):

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", \ ATTRS{idProduct}=="3e17", RUN+="/sbin/foo2zjs-loadfw P1006 $tempnode"

Conclusion
That's it! The printer can now be installed via CUPS as a standard USB printer. Note that the script will be overwritten by any updates of the foo2zjs package and must be manually re-edited after the update.