a linux printer driver for ZjStream protocol
e.g. HP Color LaserJet 1600/2600n, HP Color LaserJet CP1215
Tarball last modified: Tue Apr 16 08:46:57 2019 CDT
*** DON'T USE the foo2zjs package from:
*** Download it here and follow the directions below.
Arch, BSD, Debian, Fedora, Gentoo, MacOSX, Mandrake/Manrivia, RedHat, SUSE, Ubuntu, or Xandros!
foo2hp is an open source printer driver for printers that use the Zenographics ZjStream wire protocol for their print data, such as the HP Color LaserJet 2600n and the HP Color LaserJet CP1215. These printers are often erroneously referred to as winprinters or GDI printers. However, Microsoft GDI only mandates the API between an application and the printer driver, not the protocol on the wire between the printer driver and the printer. In fact, ZjStream printers are raster printers which happen to use a very efficient wire protocol which was developed by Zenographics and licensed by most major printer manufacturers for at least some of their product lines. ZjStream is just one of many wire protocols that are in use today, such as Postscript, PCL, Epson, etc.
This driver uses Ghostscript to perform all of the heavy lifting (image processing). There are five major components to the foo2hp printer driver.
- foo2hp - the page image to protocol conversion engine of the driver.
- foo2hp2600-wrapper - a shell script (compatible with foomatic) which runs ghostscript and foo2hp in a pipeline.
- icc2ps - converts an ICM color profile to a Postscript CRD, which is then fed into Ghostscript before the users Postscript program.
- foomatic-db - foomatic database entries which describe the supported printers and their options so that printer spoolers know how to access the printer using foo2hp2600-wrapper.
- zjsdecode - a tool for developers to inspect ZJS protocol.
You can read the manual pages for more information.
With the foo2hp driver, you can print to some HP and possibly other ZJS protocol printers:
Driver Notes HP Color LaserJet CP1215 Yes Yes Yes Yes foo2hp Tested by the author HP Color LaserJet 1600 Yes Yes Yes Yes foo2hp Tested by simong HP Color LaserJet 2600n Yes Yes Yes Yes foo2hp Tested by the author
These printers are not supported by this driver:
Unsupported Printer Notes HP LaserJet Pro CP1025nw Supported by my foo2zjs driver HP LaserJet Pro M12a/M12w Supported by my foo2zjs driver HP LaserJet Pro P1102/P1102w Supported by my foo2zjs driver HP LaserJet Pro P1566 Supported by my foo2zjs driver HP LaserJet Pro P1606dn Supported by my foo2zjs driver HP LaserJet P2035 Supported by my foo2zjs driver HP LaserJet 1018/1020/1022 Supported by my foo2zjs driver HP LaserJet 1000/1005 Supported by my foo2zjs driver HP LaserJet M1319 MFP Supported by my foo2zjs driver HP LaserJet P1005/P1006/P1007/P1008 Supported by my foo2xqx driver HP LaserJet P1505/P2014 Supported by my foo2xqx driver HP LaserJet M1005/M1120/M1132 MFP Supported by my foo2xqx driver HP LaserJet Pro M1212nf MFP Supported by my foo2xqx driver Minolta-QMS magicolor 2200/2300 DL Supported by my foo2zjs driver Konica Minolta magicolor 2430 DL Supported by my foo2zjs driver HP Color LaserJet 2605dn Unsupported. Use Postscript Konica Minolta magicolor 2480/2490 MF Supported by my foo2lava driver Konica Minolta magicolor 2530 DL Supported by my foo2lava driver Konica Minolta magicolor 1680MF/1690MF Supported by my foo2lava driver Konica Minolta magicolor 1600W Supported by my foo2lava driver Oki C110 Supported by my foo2lava driver Xerox Phaser 6121MFP Supported by my foo2lava driver Samsung CLP-300/310/315/325/360/365/600/610/620 Supported by my foo2qpdl driver Samsung CLX-2160/3160/3175/3185 Supported by my foo2qpdl driver Xerox Phaser 6110 Supported by my foo2qpdl driver Lexmark C500n Supported by my foo2slx driver Oki C301dn/C310dn Supported by my foo2hiperc driver Oki C511dn Supported by my foo2hiperc driver Oki C810 Supported by my foo2hiperc driver Oki C3100n/C3200n/C3300/C3400n Supported by my foo2hiperc driver Oki C5100n/C5200n Supported by my foo2hiperc driver Oki C5500n/C5600n/C5650n/C5800n Supported by my foo2hiperc driver Olivetti d-Color P160W Supported by my foo2hiperc driver HP Color LaserJet 1500 Supported by my foo2oak driver Kyocera KM-1635/KM-2035 Supported by my foo2oak driver Dell 1355 Supported by my foo2hbpl driver Epson AcuLaser CX17NF Supported by my foo2hbpl driver Epson AcuLaser M1400 Supported by my foo2hbpl driver Fuji Xerox DocuPrint CM205 Supported by my foo2hbpl driver Fuji Xerox DocuPrint M215 Supported by my foo2hbpl driver Fuji Xerox DocuPrint P205 Supported by my foo2hbpl driver Xerox Phaser 3010/3040 Supported by my foo2hbpl driver Xerox WorkCentre 3045 Supported by my foo2hbpl driver Xerox WorkCentre 6015 Supported by my foo2hbpl driver Ricoh SP 112 Supported by my foo2ddst driver Ricoh SP 201 Supported by my foo2ddst driver Minolta/QMS magicolor 2300W/2400W/2500W Try the m2300w driver Minolta/QMS PagePro 12xxW Try Beetman's 1200W driver or Schiller's 1xxW driver Minolta/QMS PagePro 13xxW Try Beetman's 1200W driver or Schiller's 1xxW driver Konica Minolta PagePro 14xxW Try Schiller's 1xxW driver
foo2zjs is open source software that is downloaded over the internet. No media (CD) will be shipped in exchange for your donation.
I keep a record of everyone who has contributed to this driver, in terms of 1) money or equipment, 2) usable bug reports, 3) code and advice.
There are over 501,481 unique IP addresses that have downloaded this driver. There are only a handful of people who have ever contributed to this project (and my thanks go out to them).
Click the link, or cut and paste the whole command line below to download the driver.
$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
Now unpack it:Unpack: $ tar zxf foo2zjs.tar.gz $ cd foo2zjs
Now compile and install it. The INSTALL file contains more detailed instructions; please read it now.Compile: $ make Get .ICM profiles for color correction. Select the model number for your printer: $ ./getweb 1215 # Get HP LaserJet CP1215 .ICM files $ ./getweb 1600 # Get HP LaserJet 1600 .ICM files $ ./getweb 2600n # Get HP LaserJet 2600n .ICM files Install driver, foomatic XML files, and extra files: $ su OR $ sudo make install # make install (Optional) If you use CUPS, restart the spooler: # make cups OR $ sudo make cups
Now create printer entries for your spooler. Create at least one queue for monochrome, and another queue for color printing. Create the queues first, then edit them and set the device options as desired. Set bits per pixel to a "1" (default). See your operating system documentation for further details on creating a printer queue. Click any hyperlinks below for sample screenshots.For Redhat 7.2/7.3/8.0/9.0 and Fedora Core 1-5 users:For Fedora 6/7/.../30, and Ubuntu 7.10/8.x/.../19.x users:# printconf-guiFor Mandrake/Mandriva users:$ system-config-printerFor openSUSE 10.x/11.x/.../Leap 15.x users:# printerdrakeFor Ubuntu 5.10/6.06/6.10/7.04 users:# yast2 printerFor Debian 3.x, 4.x, and other systems that use CUPS http://localhost:631$ sudo gnome-cups-manager $ sudo make cups # IMPORTANT: gnome-cups-manager has a BUG in itCommand line using CUPS:$ firefox http://localhost:631# lpadmin -p "NAME" -v "URI" -E -P /usr/share/cups/model/file.ppd.gz # lpadmin -d "NAME" # Set the default
For low level testing, you could also create a "raw queue", which will accept ZJS files as-is and send them directly to the printer.
If you installed as per the above instructions, then click on our forums for questions and support.
If you installed a THIRD PARTY (e.g. Ubuntu, Gentoo, etc.) foo2zjs package, then read the INSTALL file and follow the directions. No third party support is given. You MUST install using the above procedure.
- Must use ghostscript 7.07 (Redhat FC4 and previous) or 8.54 or later. ghostscript 8.14/8.15 (Redhat FC5, Ubuntu 6.06/6.10, etc.) has bugs in it with color.
- The ICM file "ICCFactory 1" is the default now, and pictures are really good looking (06/02/06).
- Can output in 1 or 2 bit monochrome and color, but 2 bit has not been tuned yet, even on a gross level.
- Need to support a better input color file format which includes explicit page boundary indications. The current use of the Ghostscript bitcmyk format precludes having pages of different sizes within a Postscript stream.
- How to Disable System Integrity Protection (rootless) in OS X El Capitan - Mac OS X 10.11+: Do this first!!!
- MacOSX INSTALL.osx - Directions for Mac OSX
- Laserjet-1005-Series-MacOSX-10.pdf - Directions for Mac OSX 10 from Paul Saesen
- www.worldlabel.com - Worldlabel.Com: A Brand Name in Laser Labels & Inkjet Labels
- Gnome Manual Duplex - Manual Duplex for Gnome
- www.linuxprinting.org - Home of foomatic
- ZjStream Reference - Overview of ZjS data format
- Argyll Color Management System - Argyll is an open source, ICC compatible color management system
- Profiles By Rick - Possible source for buying a custom .ICM color profile ($25)
- Great Printer Profiles - Possible source for buying a custom .ICM color profile ($35)
- Dry Creek Photo - Possible source for buying a custom .ICM color profile ($50)
- ColorValet - Possible source for buying a custom .ICM color profile ($100)
- The Digital Dog - Possible source for buying a custom .ICM color profile ($100)
- http://www.color.org/ - The International Color Consortium