HP Linux Imaging and Printing Project

hpinkjet.sourceforge.net

# Hewlett-Packard Linux Imaging and Printing Project

The Hewlett-Packard Linux Imaging and Printing Project provides a unified single and multi-function connectivity solution for Linux. The goal of this project is to provide "radically simple" printing, faxing, scanning, photo-card access, and device management to the consumer and small business desktop Linux users. This project is based open source software and uses GPL compatible licenses.

## Table of contents

- 1 Overview
- 2 License
- 3 System Requirements
- 4 Product Support
- 5 Updates
- 6 Installation
- 7 Usage and Troubleshooting
- 8 Project Development

## 1 Overview

The Hewlett-Packard Linux Imaging and Printing project (HPLIP) provides a unified single and multi-function connectivity solution for Linux. The goal of this project is to provide "radically simple" printing, faxing, scanning, photo-card access, and device management to the consumer and small business desktop Linux users. This project is based open source software and uses GPL compatible licenses.

HPLIP is comprised of several major components; applications, driver, backend, daemons, and PPD files. HPLIP is designed to work with the CUPS spooler system. A CUPS/HPLIP system provides bi-di communication which is necessary for full HPLIP support. HPLIP provides a new CUPS backend called "hp" which supports bi-di printing connectivity.

HPLIP uses HPIJS for generating printer-ready-data for non-postscript print jobs. HPIJS has been available since 2001 as a uni-di solution. HPIJS has been modified to support HPLIP, but HPIJS is still backward compatible with existing spoolers.

HPLIP supports connectivity over USB, parallel and network (JetDirect). The following figure is an overview of the CUPS/HPLIP system with major components highlighted.

Each print job has an associated PPD file. Print job properties are set with the PPD file. Each HP printer has a unique PPD file and is generated from the foomatic database and distributed with the HPLIP tar ball. The foomatic system is available at www.linuxprinting.org.

The "hp" CUPS backend supports printing via USB, parallel, and JetDirect connectivity. The "hp" backend can be used in place of the normal "usb" and "parallel" backends provided by CUPS.

The "hp" backend provides in-bound print job status. Job status is sent to CUPS via stderr "ERROR:" and "INFO:" messages and to the HP Device Manager.

Out-of-bound printer status is available in the HP Device Manager. For example, ink levels for most inkjets can be viewed in the device manager. Also pen alignment can be performed from the device manager.

HPLIP provides a "hpaio" sane backend for scanning. Both flatbed and ADF scanning is supported via xsane/sane applications.

A photo-card application allows the user to download and delete pictures from printers that support photo-cards.

Faxing will not be in the first release. Only PC fax send will be supported, no PC fax receive. PC fax send will look like a CUPS printer spool queue.

A distribution can mix and match the HPLIP package in order to support a bi-di or uni-di solution. HPIJS is part of the HPLIP package, but HPIJS can still be installed separately. The HPLIP package includes two makefiles one for HPLIP and one for HPIJS.

HPLIP is intended to replace HPOJ. They both support USB, parallel and JetDirect connectivity. HPLIP is similar to HPOJ, but different. HPLIP has persistent daemons (hpiod, hpssd) like HPOJ, but is more friendly. HPLIP does not require a "ptal-init setup". The "hp" backend will look like any other CUPS backend that can install printers as needed. The daemons use a standard init.d start/stop script.

HPLIP provides a MLC/1284.4 transport for talking to Multi-Function Peripherals (MFPs), but HPLIP does not dedicate the port to MLC/1284.4 like HPOJ does. HPLIP brings MLC/1284.4 up and down as needed. This means a MFP can use raw I/O for printing and MLC/1284.4 for scanning.

HPOJ performs all parallel I/O directly to the hardware port in User Mode. This is problematic with other Linux/Unix platforms. Many kernels do not allow direct communication to the parallel port from User Mode. HPLIP also performs parallel I/O in User Mode, but HPLIP uses the ppdev/parport kernel modules. Which provides kernel management and a better sharing mechanism for other applications.

All IEEE 1284 functions needed for HPLIP are performed with low-level ppdev ioctl(s). This includes data reads and writes. For MLC/1284.4, hardware ECP Mode is not always available so only software ECP Mode is supported.

In most cases USB I/O will be faster than parallel I/O. The reason for this is all USB I/O takes place in Kernel mode via the USB hardware controller. Where most parallel I/O takes place in User Mode via software control. If your peripheral supports both USB or parallel use USB.

Generally HPOJ and HPLIP cannot co-exist on the same PC. The parport kernel module will conflict with HPOJ. Use "ptal-init setup" to remove HPOJ devices.

## 2 License

In general all applications are covered by the GNU General Public License (GPL) and the backend is covered by a MIT license. The printer driver HPIJS uses a BSD license. See the COPYING file in the HPLIP tar ball for more details.

## 3 System Requirements

Linux kernel 2.4.19 and above. Linux is the target distribution. Other Unix platforms may work if they have similar kernel drivers, but have not been tested.

GNU software tools are required to build from source code. This includes the ANSI C compiler, ANSI C++ compiler and POSIX compliant environment.

GNU Ghostscript 7.05 or higher.

Foomatic 3.0.2 or higher.

Qt 3.x or higher for UI toolkit.

PyQt 3.11 or higher for Qt wrapper for Python.

Python 2.2 or higher and python-devel.

CUPS 1.15 or higher and cups-devel.

libjpeg 6b or higher and libjpeg-devel.

net-snmp 5.0.9 or higher and net-snmp-devel for network support.

HPLIP has been tested on most major Linux distributions, but only 32-bit and little-endian systems have been tested.

chkconfig or install_initd for HPLIP startup/shutdown script.

## 4 Product Support

Color and Monochrome (B&W) Inkjet Printers | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP 2000c | No | Yes | No | DJ9xx | No | No | No | No
HP 2500c | No | Yes | No | DJ9xx | No | No | No | No
HP Business Inkjet 1000 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Business Inkjet 1100 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Business Inkjet 1200 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Business Inkjet 2200 | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Business Inkjet 2230 | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Business Inkjet 2250 | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Business Inkjet 2280 | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Business Inkjet 2300 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Business Inkjet 2600 | No | Yes | No | DJGenericVIP | No | No | No | No
HP Business Inkjet 2800 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Business Inkjet 3000 | No | Yes | Yes | LJColor | No | No | No | No
HP Color Inkjet Printer cp1700 | No | Yes | Yes | DJ9xxVIP | No | No | No | Yes
HP Color Inkjet cp1700 | No | Yes | Yes | DJ9xxVIP | No | No | No | Yes
HP Deskjet 1100 | Yes | No | No | DJ850 | No | No | No | No
HP Deskjet 1120 | Yes | No | No | DJ8xx | No | No | No | No
HP Deskjet 1125 | Yes | No | No | DJ8xx | No | No | No | No
HP Deskjet 1220c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 1280 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3320 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3325 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3420 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3425 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3500 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3600 | No | Yes | Yes | DJ3600 | No | No | No | Yes
HP Deskjet 3740 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3810 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3816 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3819 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3820 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3822 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3840 | No | Yes | No | DJ3600 | No | No | No | Yes
HP Deskjet 3870 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 3900 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3920 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 3940 | No | Yes | No | DJ3320 | No | No | No | Yes
HP Deskjet 400 | Yes | No | No | DJ350 | No | No | No | No
HP Deskjet 400l | Yes | No | No | DJ350 | No | No | No | No
HP Deskjet 500 | Yes | No | No | DJ540 | No | No | No | No
HP Deskjet 500c | Yes | No | No | DJ540 | No | No | No | No
HP Deskjet 505j | Yes | No | No | DJ540 | No | No | No | No
HP Deskjet 510 | Yes | No | No | DJ540 | No | No | No | No
HP Deskjet 5100 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 520 | Yes | No | No | DJ540 | No | No | No | No
HP Deskjet 540 | Yes | No | No | DJ540 | No | No | No | No
HP Deskjet 5400 series | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5550 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5551 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5552 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5600 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5650 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5652 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5700 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 5800 | No | Yes | Yes | DJGenericVIP | No | No | No | Yes
HP Deskjet 5900 series | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 600 | Yes | No | No | DJ6xx | No | No | No | No
HP Deskjet 610c | Yes | No | No | DJ6xxPhoto | No | No | No | No
HP Deskjet 610cl | Yes | No | No | DJ6xxPhoto | No | No | No | No
HP Deskjet 6120 | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Deskjet 6122 | No | Yes | Yes | DJ9xxVIP | No | No | No | Yes
HP Deskjet 6127 | No | Yes | Yes | DJ9xxVIP | No | No | No | Yes
HP Deskjet 612c | Yes | No | No | DJ6xxPhoto | No | No | No | No
HP Deskjet 630c | Yes | Yes | No | DJ630 | No | No | No | Yes
HP Deskjet 632c | Yes | Yes | No | DJ630 | No | No | No | Yes
HP Deskjet 640c | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 648c | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 6500 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 656c | Yes | Yes | No | DJ630 | No | No | No | Yes
HP Deskjet 660 | Yes | No | No | DJ6xx | No | No | No | No
HP Deskjet 6600 | No | Yes | Yes | DJGenericVIP | No | No | No | Yes
HP Deskjet 670tv | Yes | No | No | DJ6xx | No | No | No | No
HP Deskjet 672c | Yes | No | No | DJ6xx | No | No | No | No
HP Deskjet 680 | Yes | No | No | DJ6xx | No | No | No | No
HP Deskjet 6800 | No | Yes | Yes | DJGenericVIP | No | No | No | Yes
HP Deskjet 682 | Yes | No | No | DJ6xx | No | No | No | No
HP Deskjet 690 | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 692 | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 693 | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 694 | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 695 | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 697 | Yes | Yes | No | DJ6xxPhoto | No | No | No | Yes
HP Deskjet 810c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 812c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 815c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 816c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 825c | No | Yes | No | DJ8x5 | No | No | No | Yes
HP Deskjet 830c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 832c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 840c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 841c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 842c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 843c | Yes | No | No | DJ8xx | No | No | No | Yes
HP Deskjet 845c | No | Yes | No | DJ8x5 | No | No | No | Yes
HP Deskjet 850c | Yes | No | No | DJ850 | No | No | No | No
HP Deskjet 855c | Yes | No | No | DJ850 | No | No | No | No
HP Deskjet 870c | Yes | No | No | DJ850 | No | No | No | No
HP Deskjet 880c | Yes | No | No | DJ8xx | No | No | No | No
HP Deskjet 882c | Yes | No | No | DJ8xx | No | No | No | No
HP Deskjet 890c | Yes | No | No | DJ8xx | No | No | No | No
HP Deskjet 895c | Yes | Yes | No | DJ8xx | No | No | No | Yes
HP Deskjet 916c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 920c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 9300 | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 930c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 932c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 933c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 934c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 935c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 940c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 948c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 950c | No | Yes | No | DJ9xx | No | No | No | No
HP Deskjet 952c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 955c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 957c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 959c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 9600 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 960c | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Deskjet 970c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 975c | No | Yes | No | DJ9xx | No | No | No | Yes
HP Deskjet 9800 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP Deskjet 980c | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Deskjet 990c | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Deskjet 995c | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP Mopier 320 | No | Yes | No | LJMono | No | No | No | Yes
HP Officejet | Yes | No | No | DJ540 | No | No | No | No
HP Officejet lx | Yes | No | No | DJ540 | No | No | No | No
HP Officejet series 300 | Yes | No | No | DJ540 | No | No | No | No
HP Officejet series 310 | Yes | No | No | DJ540 | No | No | No | No
HP Officejet series 320 | Yes | No | No | DJ540 | No | No | No | No
HP Officejet series 330 | Yes | No | No | DJ540 | No | No | No | No
HP Officejet series 350 | Yes | No | No | DJ540 | No | No | No | No
HP Photosmart 7150 | No | Yes | No | DJGenericVIP | No | No | No | Yes
HP apollo 2100 | Yes | No | No | AP21xx | No | No | No | No
HP apollo 2150 | Yes | No | No | AP21xx | No | No | No | No
HP apollo 2200 | Yes | No | No | AP2xxx | No | No | No | No
HP apollo 2500 | Yes | No | No | AP2560 | No | No | No | No
HP apollo 2600 | Yes | No | No | AP2560 | No | No | No | No
HP apollo 2650 | Yes | No | No | AP2560 | No | No | No | No
HP apollo p2000-u | Yes | No | No | AP21xx | No | No | No | No
HP apollo p2250 | Yes | No | No | AP2xxx | No | No | No | No
HP cp1160 | No | Yes | No | DJ9xxVIP | No | No | No | Yes
HP dj450 | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
Inkjet Photo Printers | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP Photosmart 100 | No | Yes | No | PSP100 | No | Yes | No | Yes
HP Photosmart 1115 | No | Yes | Yes | DJ9xxVIP | No | Yes | No | Yes
HP Photosmart 1215 | No | Yes | No | DJ9xxVIP | No | Yes | No | Yes
HP Photosmart 1218 | No | Yes | No | DJ9xxVIP | No | Yes | No | Yes
HP Photosmart 130 | No | Yes | No | PSP100 | No | Yes | No | Yes
HP Photosmart 1315 | No | Yes | No | DJ9xxVIP | No | Yes | No | Yes
HP Photosmart 140 series | No | Yes | No | PSP100 | No | Yes | No | Yes
HP Photosmart 230 | No | Yes | No | PSP100 | No | Yes | No | Yes
HP Photosmart 240 series | No | Yes | No | PSP100 | No | Yes | No | Yes
HP Photosmart 320 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 330 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 370 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 380 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 420 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 470 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7200 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7350 | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7400 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7550 | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7600 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7700 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7800 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 7900 series | No | Yes | Yes | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 8000 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 8100 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 8200 series | No | Yes | No | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 8400 series | No | Yes | Yes | DJGenericVIP | No | Yes | No | Yes
HP Photosmart 8700 series | No | Yes | Yes | DJGenericVIP | No | Yes | No | Yes
HP Photosmart p1000 | No | Yes | No | DJ9xx | No | Yes | No | Yes
HP Photosmart p1100 | No | Yes | No | DJ9xx | No | Yes | No | Yes
Color LaserJet Printers | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP Color LaserJet 2500 | No | Yes | No | LJColor | No | No | No | Yes
HP Color LaserJet 2550 | No | Yes | Yes | Undefined | No | No | No | Yes
HP Color LaserJet 2550 series | No | Yes | Yes | Undefined | No | No | No | Yes
HP Color LaserJet 3500 | No | Yes | No | LJJetReady | No | No | No | Yes
HP Color LaserJet 3500n | No | Yes | No | LJJetReady | No | No | No | Yes
HP Color LaserJet 3550 | No | Yes | No | LJJetReady | No | No | No | Yes
HP Color LaserJet 3550n | No | Yes | No | LJJetReady | No | No | No | Yes
HP Color LaserJet 3700 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 3700n | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 4500 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 4550 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 4600 | No | Yes | No | LJColor | No | No | No | Yes
HP Color LaserJet 4610 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 4650 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 4700 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 5500 | No | Yes | No | LJColor | No | No | No | Yes
HP Color LaserJet 5550 | No | Yes | Yes | LJColor | No | No | No | Yes
HP Color LaserJet 5m | No | Yes | No | LJColor | No | No | No | No
HP Color LaserJet 8500 | No | Yes | No | LJColor | No | No | No | Yes
HP Color LaserJet 8550 | No | Yes | No | LJColor | No | No | No | Yes
HP Color LaserJet 9500 | No | Yes | Yes | LJColor | No | No | No | Yes
Color LaserJet MFPs | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP Color LaserJet 2800 | No | Yes | Yes | Postscript | Yes | Yes(2) | No | Yes
HP Color LaserJet 2820 | No | Yes | Yes | Postscript | Yes | Yes(2) | No | Yes
HP Color LaserJet 2830 | No | Yes | Yes | Postscript | Yes | Yes(2) | No | Yes
HP Color LaserJet 2840 | No | Yes | Yes | Postscript | Yes | Yes(2) | No | Yes
HP Color LaserJet 4730 MFP | No | Yes | Yes | LJColor | No | No | No | Yes
Color Inkjet All-in-Ones | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP Officejet 4100 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP Officejet 4105 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP Officejet 4110 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP Officejet 4115 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP Officejet 4200 series | No | Yes | No | DJ3600 | Yes | No | No | Yes
HP Officejet 5100 series | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP Officejet 5105 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP Officejet 5110 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP Officejet 5500 series | No | Yes | No | DJ3600 | Yes | No | No | Yes
HP Officejet 5600 series | No | Yes | No | DJ3600 | Yes | No | No | Yes
HP Officejet 6100 series | No | Yes | No | DJGenericVIP | Yes | No | No | Yes
HP Officejet 6150 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP Officejet 6200 series | No | Yes | No | DJGenericVIP | Yes | No | No | Yes
HP Officejet 7100 series | No | Yes | Yes | DJ9xx | Yes | Yes | No | Yes
HP Officejet 7200 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Officejet 7300 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Officejet 7400 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Officejet 9100 series | No | Yes | Yes | LJColor | Yes | Yes | No | Yes
HP Officejet d series | No | Yes | Yes | DJ9xxVIP | Yes | Yes | No | Yes
HP Officejet g55 | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet g55xi | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet g85 | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet g85xi | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet g95 | No | Yes | Yes | DJ9xx | Yes | Yes | No | Yes
HP Officejet k60 | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet k60xi | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet k80 | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet k80xi | No | Yes | Yes | DJ9xx | Yes | No | No | Yes
HP Officejet pro 1150c | Yes | No | No | DJ850 | Yes | No | No | Yes
HP Officejet pro 1170c series | Yes | No | No | DJ890 | Yes | No | No | Yes
HP Officejet r40 | Yes | No | Yes | DJ8xx | Yes | Yes | No | Yes
HP Officejet r40xi | Yes | No | Yes | DJ8xx | Yes | Yes | No | Yes
HP Officejet r45 | Yes | No | Yes | DJ8xx | Yes | Yes | No | Yes
HP Officejet r60 | Yes | No | No | DJ8xx | Yes | No | No | Yes
HP Officejet r65 | Yes | No | Yes | DJ8xx | Yes | Yes | No | Yes
HP Officejet r80 | Yes | No | Yes | DJ8xx | Yes | Yes | No | Yes
HP Officejet r80xi | Yes | No | Yes | DJ8xx | Yes | Yes | No | Yes
HP Officejet series 500 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 520 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 570 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 580 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 590 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 600 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 610 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 630 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 700 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 710 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 720 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet series 725 | Yes | No | No | DJ660 | Yes | No | No | No
HP Officejet t series | Yes | No | No | DJ8xx | Yes | No | No | Yes
HP Officejet v30 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP Officejet v40 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP Officejet v40xi | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP Officejet v45 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP PSC 1100 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP PSC 1200 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP PSC 1300 series | No | Yes | No | DJ3600 | Yes | Yes | No | Yes
HP PSC 1310 series | No | Yes | No | DJ3600 | Yes | No | No | Yes
HP PSC 1400 series | No | Yes | No | DJ3320 | Yes | No | No | Yes
HP PSC 1500 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 1600 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2100 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2150 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2170 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2200 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2300 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2350 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2400 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 2500 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP PSC 500 | Yes | No | No | DJ8xx | Yes | No | No | Yes
HP PSC 720 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP PSC 750 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP PSC 750xi | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP PSC 760 | No | Yes | No | DJ9xx | Yes | No | No | Yes
HP PSC 900 series | No | Yes | No | DJ9xx | Yes | Yes | No | Yes
HP Photosmart 2570 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Photosmart 2600 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Photosmart 2700 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Photosmart 3100 series | No | Yes | No | DJGenericVIP | Yes | Yes | No | Yes
HP Photosmart 3200 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Photosmart 3300 series | No | Yes | Yes | DJGenericVIP | Yes | Yes | No | Yes
HP Printer scanner copier 300 | Yes | No | No | DJ6xx | Yes | No | No | No
Monochrome (B&W) LaserJet Printers | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP LaserJet 1010 | No | Yes | No | LJFastRaster | No | No | No | No
HP LaserJet 1012 | No | Yes | No | LJFastRaster | No | No | No | No
HP LaserJet 1015 | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 1022 | No | Yes | Yes | LJMono | No | No | No | No
HP LaserJet 1022n | No | Yes | Yes | LJMono | No | No | No | No
HP LaserJet 1150 | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 1160 | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 1200 | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 1300 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 1300n | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 1320 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 2100 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 2100 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 2200 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 2300 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 2410 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 2420 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 2430 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 4 plus | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 4000 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 4050 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 4100 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 4150 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 4200 | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 4240 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 4250 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 4300 | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 4350 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 4si | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 5000 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 5000 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 5mp | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 5p | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 5si | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 6mp | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 6p | No | Yes | No | LJMono | No | No | No | No
HP LaserJet 8000 | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 8000 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 8100 series | No | Yes | No | LJMono | No | No | No | Yes
HP LaserJet 9000 series | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 9050 | No | Yes | Yes | LJMono | No | No | No | Yes
Monochrome (B&W) LaserJet MFPs | Parallel | USB | Network(1) | Print Class | Scan | Photo | Fax | Services/Status
HP LaserJet 1100 | Yes | No | No | LJMono | Yes | No | No | Yes
HP LaserJet 1220 | No | Yes | No | LJMono | Yes | No | No | No
HP LaserJet 3015 | Yes | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3020 | Yes | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3030 | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3200 | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3200m | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3200se | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3300 3310 3320 | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3330 | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 3380 | No | Yes | No | LJMono | Yes | No | No | Yes
HP LaserJet 4100 MFP | No | Yes | No | LJMono | Yes | Yes | No | Yes
HP LaserJet 4345 MFP | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 9000 MFP | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 9040 MFP | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 9050 MFP | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 9055 MFP | No | Yes | Yes | LJMono | No | No | No | Yes
HP LaserJet 9065 MFP | No | Yes | Yes | LJMono | No | No | No | Yes

Notes:

All information provided is believed to be accurate but is not guaranteed.

(1) Network support indicates built-in ethernet and/or wireless networking. Alternatively, many devices may be operated on the network using an external JetDirect print server. Not all network configurations are supported. Please refer to the HPLIP FAQs for more information.

(2) USB mass storage only. You may mount the photocard as a storage drive over USB only. Refer to your distribution's documentation for setup and usage instructions.

## 5 Updates

- HPLIP 0.9.5 - This release has the following changes.

       1. Added parallel port support for printing and scanning. See Product Support table for supported devices and features.
       2. Fixed most gcc4 warnings.
       3. Changed the PS8700 PPD inputslot from "default" to "upper".
       4. Fixed gcc uninitialized varable warning in udevice.cpp.
       5. Removed unused jdprobe code from hp.c backend.
       6. Fixed miser mode MLC credit problem in hpiod.
       7. Fixed MLC credit problem with short timeouts.
       8. Rewrote most of the pml scanning code in libsane-hpaio.
       9. Fixed "condrestart" typo in HPLIP startup script (as per Red Hat request).
      10. Fixed many known hp-toolbox issues.
      11. Fixed case where hp-toolbox crashed if models.xml entry was missing.
      12. Fixed hp-colorcal incorrect parameter passing to maint routines (reported on forum)
      13. Fixed a bug in hpssd.py that caused hal:\\ devices to crash hpssd.
      14. Fixed supplies status for CLJ28xx.
      15. Fixed powersettings for DJ4x0.
      16. Fixed LJ1022 status problem.
      17. Fixed a 4-sided full bleed printing issue in HPIJS.
      18. Added support for the following new printers.

          HP Photosmart 420 (PSP100)
          HP Photosmart 470 (PSP100)
          HP Photosmart 2570 (DJGenericVIP)
          HP PSC 1400 (DJ3600)
          HP Officejet 5600 (DJ3600)
          HP Photosmart 3100 (DJGenericVIP)
          HP Photosmart 3200 (DJGenericVIP)
          HP Photosmart 3300 (DJGenericVIP)
          HP Photosmart 8000 (DJGenericVIP)
          HP Photosmart 7800 (DJGenericVIP)
          HP Deskjet 5940 (DJGenericVIP)
          HP Deskjet 5440 (DJGenericVIP)
          HP Color laserJet 4700 (LJColor/PS)

- HPLIP 0.9.4 - This release has the following changes.

       1. Fixed a bi-di problem with all LIDIL printers in HPIJS. This fixes a printing problem which occurred in HPLIP 0.9.3.
       2. Fixed a 64-bit problem with LJJetReady printers in HPIJS.
       3. Fixed a KRGB issue in the VIP path in HPIJS. This fixes a problem where black text would drop some pixels.
       4. In order to accommodate 4-sided full bleed, PS320/330/370/380 were moved to DJGenericVIP device class.
       5. Added uni-di device support to "hp" backend.
       6. Added hplip_api convenience library. Converted HPLIP clients (hp, libsane-hpaio, hpijs, ptest) to hplip_api.
       7. Added device ID mode to hp-info utility (Tim Waugh of Red Hat request).
       8. Added new DeviceOpen() parameters to accommodate different backend types.
       9. Changed and added new "io" support tags to models.xml.
      10. Added LJ1022 to models.xml file.
      11. Desensitized model names generated by hpiod. This will eliminate leading, trailing and double spaces in the model name.
      12. Made change to the models.xml file for Photosmart 120 and 240 series which had pen 57 mislabeled as black.
      13. Added LJ 8000 series entry to models.xml.
      14. Added LJ 1160 series entry to models.xml.
      15. Removed LJ 3100 from models.xml. There are no plans to support this printer.
      16. Fixed a scanimage problem with OJ d135 and OJ 7110.
      17. Fixed "Invalid color calibration type" error in hp-colorcal.
      18. Fixed "Unknown internal error" when executing command "hp-probe -bnet".
      19. Fixed a intermittent SNMP problem reading signed integers in hpiod. This will fix some network scanning issues.
      20. Fixed a problem where bi-di was not turned off correctly in hpijs. This caused extra deviceid queries.
      21. Enhanced hp-info and hp-makeuri as per Red Hat and Suse request.
      22. Changed SLP detection to detect more devices based on forum feedback.
      23. Fixed postscript PPD file case sensitivity issue. This issue caused a problem with kprinter.
      24. Added support for the following new printers.

          HP Color LaserJet 2800 (see support details below)
          HP Photosmart 8200
          HP Photosmart 330
          HP Photosmart 380
          Deskjet 1280
          Deskjet 3040
          Deskjet 3920

          Current HP Color LaserJet 2800 support is limited to the following functionality.
          1. Only postscript printing is supported.
          2. Photo Card access is not available via hp-photo. Photo Card access is available via USB mass storage.
          3. Network scanning is supported, but USB scanning is not.
          4. Hp-toolbox status is not complete.

- HPLIP 0.9.3 - This release has the following changes.

      1. Modified models.xml Deskjet_1220C panel_check_type to be 0 to solve a forum
      issue.
      2. A change was made to fix the Test Email Alert.
      3. Added MlcInit retry to hpiod.
      4. Fixed some gcc warnings (debian request).
      5. Converted hp backend, hpiod, hpijs and libsane-hpaio to INADDR_LOOPBACK
      (debian request).
      6. Removed images.tgz.
      7. Added configure check for libjpeg-devel support.
      8. Changed hplip_readme.html "Photo" support to yes for OJ 7200/7300/7400.
      9. Fixed intermittent device hang problem with LJ 1010/1012/1015 in hp.c. These
      devices cannot handle in-band USB deviceid queries.
      10. Added OfficeJet V40 to models.xml solving a forum issue.
      11. Fixed models.xml so that LJ 1010, 1012, 1015, and 1022 all print using "raw"
      io.
      12. Fixed "hp-probe -s*" error.
      13. Fixed error while clicking the"Access Photo Cards" without any photo card.
      14. Fixed error while running hp-testpage command to print to testpage after
      disconnect the usb cable.
      15. Added LJ 1010 and 1012 to models.xml, and made sure the OJ K80xi had both a
      single spaces and a double spaced entry.
      16. Now "make install DESTDIR=path" automatically creates prerequisite
      directories and files.
      17. Fixed error which occurs after launching the toolbox in the terminal.
      18. In models.xml cloned HP LaserJet 4050 Series to the same thing with a
      trailing underscore to solve a forum issue.
      19. Increased the printable region for DJGenericVIP. This resolves a HPIJS left
      margin issue.
      20. Fixed a HPIJS problem printing more than one page with LJ 1010/1012.
      21. Modified hpijs to ignore bi-di errors so the "hp" backend can handle them.
      This fixed a problem where hpijs would hang forever.

- HPLIP 0.9.2 - This release has the following changes.

      1. Fixed "Invalid color calibration type" error occurs when executing command
      "colorcal" in terminal.
      2. Fixed issue reported in forum (AlignType3() number of arguments error in
      hp-align).
      3. Made UI architectural change (removed hpguid.py, removed popup feature, etc).
      4. Fixed a scanning issue with Laserjet flatbed scanners (PML scanners). Scan
      would fail at end of scan.
      5. Removed images.tgz after install.
      6. Fixed a problem when all function buttons are grayed out when toolbox is
      launched at the first time.
      7. Fixed DJ450 battery check issue.
      8. Fixed issue when Toolbox does not launch with PyQt 3.14-1mdk. All .py files
      produced by compiling .ui files with pyuic have been updated to fix the
      QSizePolicy() problem.
      9. Added new print mode "FastDraft Grayscale" to DJGenericVIP.
      10. Rebuilt PPD files with new "FastDraft Grayscale" support.
      11. Put limit (max=5) on syslog messages when output device write() fails
      (Debian request).
      12. Removed specified gcc options in hpijs configure.in (Debian request).
      13. Fixed a 64-bit compile issue in ljjetready.cpp.

- HPLIP 0.9.1 - This release has the following changes.

      1. Changed configure to check for libnetsnmp instead of libsnmp.
      2. Made some $DESTDIR changes in configure.in for package maintainers.
      3. Changed most "make install" symlinks from full path to relative path names.
      4. Added a "front panel" enable/disable flag to models.xml. Some printers were
      disabled (ie: deskjets).
      5. Ink level and status displays have been fixed for CP1160/1700, OJ 7100 series
      and OJ D series.
      6. Added battery level check for mobile deskjets (DJ 450, etc).
      7. Fixed issue that could cause DJ 450 to lock-up during panel check (miser
      mode).
      8. Fixed extraneous hpiod error. Corrected pml iod in scl path that was in
      libsane-hpaio.
      9. Fixed gcc warnings in libhpip.
      10. Fixed hpijs bi-di assert issue with business inkjet 1100.
      11. Added "hp-check" that checks SIP, Qt, PyQt, etc. dependencies.
      12. Added PSC 750xi, OJ 5110 to models.xml file.
      13. Added device manager *.ui files to package.
      14. Added PPD files for the following printers.

      HP LaserJet 4240
      HP LaserJet 9040
      hp color LaserJet 4610
      HP LaserJet 1022
      HP Business Inkjet 1000

- HPLIP 0.9 - This release has the following changes.

      1. Added network scanning support.
      2. Added full status and supply information for most LaserJets. See Product
      Support table.
      3. Added HPLIP commands to $(bindir) path (ie: hp-toolbox, hp-probe, hp-unload,
      ...).
      4. Added hp-makeuri command for generating "hp" URIs from an IP address or
      device node.
      5. Fixed some network issues with hp-probe.
      6. Fixed a problem with multiple files using the same name in photo card.
      7. Fixed a snmp compile issue in configure.in (hplip-0.8.8.patch).
      9. Fixed a bug in the cancel job code in hp-toolbox.
      10. Fixed some dialog cancel defects in clean and align.
      11. Reversed order of status history in hp-toolbox.
      12. Added photo card access status.
      13. Added hp-toolbox right click menu.
      14. Hpssd no longer scans devices at startup, devices are scanned when
      hp-toolbox is first started.
      15. Removed power-up from the probe command in hpiod. This means that when CUPS
      queries the "hp" backend for devices, the printer will not power-up.
      16. Added non-zero exit codes to hp-toolbox as per Johannes Meixner's request.
      17. Modified hp-toobox locale string formation for the date so that we avoid
      issue with locale not supporting various languages for %a and %b.
      18. Added changes to display EXIF data in photo card.
      19. Added channel cleanup code to hpiod. This will fix some issues when
      canceling print jobs from the host.
      20. Added new configure option --enable-network-build [default=yes].
      21. Added a non-scrolling "front panel display" feature to hp-toolbox.
      22. Added Color Calibration for various printer platforms.
      23. Added two new device classes - LJFastRaster and LJJetReady. LJFastRaster
      will replace the pxl1010 driver.
      24. Added HP postscript PPD files to the hpijs package. This will allow
      postscript printing instead of printing via hpijs.
      25. Added PPD files for the following printers. See HPIJS 2.1 hpijs_readme.html
      for more information.

      LJFastRaster:
      LaserJet 1010/1012/1015

      LJJetReady:
      Color LaserJet 3500/3550

      DJGenericVIP:
      HP Photosmart 8750
      HP Deskjet 6600
      HP Deskjet 9800 Series

- HPLIP 0.8.8 - This release has the following changes.

      1. Added low ink infrastructure to device manager.
      2. Made fixes to cleaning procedure.
      3. Added security patches from Henrique de Moraes Holschuh (Debian).
      4. Made pychecker fixes.
      5. Offline devices will now show supplies list with "Unknown" levels (was blank
      before).
      6. Fixed the display for black cartridge number 15 on the Supplies Tab.
      7. Added tech-type to models.xml.
      8. Added pidfile locking to hpiod.
      9. Fixed gcc warning in pcardext.c.
      10. Removed "killall -HUP cupsd" from /etc/init.d/hplip. Changed the hplip
      chkconfig priority so cups will run after hplip.
      11. Makefile.am now copies /etc/init.d/hplip and /etc/hp/hplip.conf instead of
      symlinking.
      12. Fixed Laserjet 1220 model.xml entry.
      13. Changed hard coded /usr/lib/sane directory to $(libdir)/sane in the
      makefile. This will fix a lib64 issue.
      14. Fixed an issue with the Alert email service.
      15. Merged multiple makefiles into two. One for hplip and one for hpijs.
      16. Added lib64 to cups search path in configure.in.
      17. Added configure check for net-snmp-devel and cleaned up error checking.
      18. Disable static library builds in configure.in.
      19. Top level Makefile.in is now created from automake 1.9 or higher.
      20. Added PPD files for the following new printers.

      DeskJet 3535
      HP Business Inkjet 2800

- HPLIP 0.8.7 - This release has the following changes.

      1. Changed HPLIP base directory from prefix/hplip to datadir/hplip (ie:
      /usr/hplip to /usr/share/hplip).
      2. Changed hpiod install from bindir/hpiod to sbindir/hpiod (ie: /usr/bin to
      /usr/sbin).
      3. Hpiod.conf and hplip.sh are now installed to DESTDIR/etc.
      4. Fixed a issue with the max setting for input trays in APDK (HPIJS 2.0.1).
      5. Added OfficeJet k series support.
      6. Changed scanning default compression from none to jpeg. This speeds up device
      I/O significantly during scanning. This option is settable from within xsane.
      7. Cleaned up cancel button functionality in device manager.
      8. Added r value caching to hpssd to increase responsiveness of some printers
      when doing dynamic counters.
      9. Fixed a defect in strings.py (wrong string for not installed cart).
      10. Added DeviceIDs to the models.xml file
      11. Fixed issue with hpssd pidfile locking.
      12. Added PPD files for the following new printers.

      LJMono:
      LaserJet 4345 mfp
      LaserJet 3015/3020/3030

  Note, if you want to remove any previous HPLIP release you will need to manually remove the old /usr/hplip base directory and the /usr/bin/hpiod executable.

- HPLIP 0.8.4 - This release has the following changes.

      1. Updated the device manager.
      2. Added makefile DESTDIR support to cupsext and pcardext.
      3. Added ./configure option --enable-rpm-install to allow package managers to
      configure sane, icon, /etc/hp and /etc/init.d options.
      4. Fixed a problem with 600dpi scanning.
      5. Configure now checks for cups-devel and python-devel and fails if not found.
      6. Configure now prints a warning message if network support could not be built.
      7. Fixed some 64-bit warnings and corrected "pragma pack" problem in hpip.h.
      8. Fixed "/etc/init.d/hplip status|stop" issues.
      9. Set StartupNotify to false in .desktop file to remove prolonged launch busy
      cursor.
      10. Fixed a probe.py problem with jetdirect 500x.
      11. Made several improvements to the photo card UI.
      12. Fixed a supplies problem with OJ9100/BIJ2300.
      13. Fixed hpguid "busy-loops".
      14. Fixed problem with 95/97 pens showing "not installed" status.
      15. Added PPD file for LJ3380.
      16. Updated Product Support table.

- HPLIP 0.8.2 - This release has the following changes.

      1. Startup/Shutdown script now kills all hpguid instances.
      2. Fixed fat.c warnings.
      3. Replaced "mkdir" and "cp" commands with "install" in makefiles.
      4. Cleaned up DESTDIR support in makefiles.
      5. Corrected HPIJS 2.0 revision number. It was 1.7.1x.
      6. Updated appropriate PPD files with fastdraft support.

- HPLIP 0.8.1 - Initial Release

      1. Provides unified connectivity for printing, scanning, photo-card access, and
      device management.

  Issues/TODO

      1. Add network scanning support (done HPLIP 0.9).
      2. Add status and supply information on selected LaserJet (done HPLIP 0.9).
      3. Add fax-send support.
      4. Validate 64-bit support.
      5. Validate big-endian support.

## 6 Installation

This section addresses how to install HPLIP from source code. Note, most distributions already have a HPLIP package available. Check your distribution before installing HPLIP from source code. This section assumes all System Requirements listed in the previous section have been met and any pre-existing HPLIP install uses the same "./configure --prefix=/usr" parameters. For the latest information and more details see hpinkjet.sourceforge.net.

This section does not address how to install your printer. See your distributions documentation regarding any spooler questions. Additional information is available at www.linuxprinting.org and hpinkjet.sourceforge.net.

You can download HPLIP here. The download includes the HPLIP source code and a platform-independent automake/autoconf master makefile. The master makefile will compile and install HPLIP. After downloading to your directory use the following instructions.

    tar xzvf hplip-0.8.x.tar.gz
    cd hplip-0.8.x
    ./configure --prefix=/usr
    make
    make install
    /etc/init.d/hplip restart

If HPLIP built and installs correctly you should get the following response. Note, our example assumes hpiod and hpssd were already running.

    Stopping hpiod:                                            [  OK  ]
    Stopping hpssd:                                            [  OK  ]
    Starting hpiod:                                            [  OK  ]
    Starting hpssd:                                            [  OK  ]

Now we must restart cupsd in order to let CUPS see the new "hp" backend.

    /etc/init.d/cups restart

Caveats

     1. Network support requires libsnmp. HPLIP can be build without network support. At configure time use the following command.
        ./configure --prefix=/usr --disable-network-build
     2. The HPLIP startup/shutdown script is Red Hat (chkconfig) and LSB
        (install_initd) compliant. If your distribution is not compliant the script may not work.
     3. In order to get HPLIP to compile with libsnmp on SUSE 9.1 you need add the following symlink for libcrypto.
        ln -s /usr/lib/libcrypto.so.0.9.7 /usr/lib/libcrypto.so
     4. For distribution package managers the following ./configure options are available. This allows the package
        manager to configure these options.
        --enable-rpm-install         disables sane, icon, /etc/hp and /etc/init.d install
        --disable-foomatic-install   disables foomatic install
        --disable-cups-install       disables cups install
        --enable-network-build       disables building network support, will not link with libsnmp
     5. The HPLIP startup script must be executed before the CUPS startup script at boot time.
     6. For Mandrake be sure to include the net-snmp-mibs package for network support.
     7. In order to run the HP Device Manager, PyQt needs to be installed. Also Fedora C3 requires the "sip" module,
        see the following Fedora C3 instructions.
        yum install PyQt
        yum install sip
     8. In SUSE 9.2 and above PyQt is now part of kdebindings3-python.
     9. In order to run HPLIP with Fedora C4 you must disable SELinux protection for cupsd. Under "Security Level Configuration",
        select SELinux tab, click "SELinux Service Protection", then check "Disable SELinux protection for cupsd daemon". This
        solves a "hp" backend problem reading /var/run/hpiod.port.
    10. HPLIP can be uninstalled with the "make uninstall" command.

## 7 Usage and Troubleshooting

### 7.1 Compiling and Installation Troubleshooting

Issue 1: make exists with error: "g++: not found"
Solution: gcc is not properly installed. Follow the instructions for your distribution to install gcc.

### 7.2 Setup and I/O Troubleshooting

Issue 1: 'hp-probe' fails to find my network printer
Solution:
Note: This is a known problem with hp-probe
1. Determine the IP address of your printer by printing out the network configuration page (or if you know it or can determine it in another way)
2. Run:

    $ hp-makeuri <ip-address>

For example:

    $ hp-makeuri 192.168.1.1

3. This will result in a device URI printed to the console. For example:

    hp:/net/Officejet_9100_series?ip=192.168.1.1

4. Copy this device URI
5. Open the CUPS UI:

    http://localhost:631

(or YasT, etc) and install the printer by pasting the generated URI.

Issue 2: There is no listing in CUPS or my printer installation tool for the exact model number of my printer.
Solution:
1. Check to see if there is another model in the list that is in the correct "series". For example, a "DeskJet 5510" will use a "DeskJet 5500 Series" driver.
In general, you "round down" the model number that appears on the case of the printer to the next lowest number that is available in the software.
2. If this doesn't work, visit this page and follow the instructions to download and install a new PPD file for your printer: http://linuxprinting.org/

Issue 3: I've plugged in my USB printer, but it doesn't show up in the CUPS interface.
Solution:
Restart CUPS. There are two basic methods: (Note: You must be root to execute these commands)

    # /etc/init.d/cupsd restart

or:

    # killall -HUP cupsd

Issue 4: I can 'ping' my network printer but 'hp-makeuri' won't generate a device URI for it.
Solution:
1. Check to make sure SNMP is properly installed. Check your distribution documnetation on how to do this.
2. Check your network firewall and make sure it is configured so that access to port 9100 is not blocked.

Issue 5: I am sharing a printer from another Linux machine using CUPS and I am unable to print to it.
Solution:
This configuration is unsupported currently in HPLIP. To print in this configuration, use HPIJS only.

Issue 6: I am sharing a printer from a Windows machine and I am unable to print to it.
Solution:
This configuration is unsupported currently in HPLIP. To print in this configuration, use HPIJS only and the SAMBA backend (smb:)

Issue 7: I am trying to setup my printer in SUSE using CUPS and am having problems.
Solution:
To install on SUSE, unless you have created a CUPS admin, you must use YaST. Otherwise, printer setup using CUPS will fail. Follow the YaST instructions here.

### 7.3 Printing Troubleshooting

Issue 1: Print jobs are failing on my 4x6 Photosmart printer.
Solution:
For printers that only support 4x6 page sizes, make sure the page size setting is correct in the CUPS queue. The default page setting may not be correct and print jobs will fail.

Issue 2: I tried printing a document with 'hp-print' but it didn't work.
Solution:
'hp-print' is only designed to print raw printer ready data to the printer. 'hp-print' by-passes the CUPS backend and is not intended for general use. To print raw printer ready data use the "lpr -oraw" command line.

Issue 3: I'd like to view the CUPS error log for debugging and troubleshooting purposes.
Solution:
Refer to the "Enabling Logging" section at this site. With the CUPS LogLevel set to debug, the CUPS error_log will show all programs that are executed during the print job. Generally there are two data paths taken during a print job; 1) HPIJS driver path 2) Postscript driver path. Both data paths will use the "hp" backend.

For the HPIJS path, look for errors near the ghostscript command (gs) command. The gs command will invoke the HPIJS driver.

For the Postscript path, there will be no gs command. Postscript will be passed directly to the "hp" backend and then to the printer.

Issue 4: When printing Letter media, the bottom row is printed incompletely.
Solution:
Some applications use enscript for printing, make the following changes to /etc/enscript.conf. This tip came from Patricio Paez.

    from:

    DefaultMedia = Letter

    to:

    DefaultMedia = Letterdj

Issue 5: How do I verify the HPLIP/HPIJS installation?
Solution:
Here are step by step instructions that will help verify the HPLIP/HPIJS installation for printing.

1. Setup a default printer queue for your printer. Use the following command to print a postscript file from the spooler. See your distribution for spooler setup if you have questions.

    $ lpr /usr/share/printconf/tests/testpage.ps

If this command fails goto the next step. If this command passes, but fails to print from your application you have an application issue, see your distribution for help.

2. Use the following command to generate a printer-ready-file (ie: PCL/LIDIL).

    $ gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="DESKJET 990" -r300 -dNOPAUSE -dSAFER -sOutputFile=testpage.pcl /usr/share/printconf/tests/testpage.ps -c quit

This command generates a PCL file called testpage.pcl for a Deskjet 990. You can substitute the "DESKJET 990" with your printer model. For more gs command examples see the CUPS error_log (Printing Issue 3).

If this command fails make sure your version of ghostscript supports the "IJS" device. Use the "gs -h" command to verify "IJS" support. If there is no "IJS" support see your distribution for help.

If ghostscript has "IJS" support, but the gs command fails there must be something wrong with the HPLIP/HPIJS installation.

3. With "su" privileges, cat the file directly to your USB port.

    cat testpage.pcl > /dev/usb/lp0

If the printer-ready-file prints ok then your HPLIP/HPIJS installation is ok, but your spooler system has a problem, see your distribution for support.

If this step fails your USB subsystem may have a problem goto the next step to verify.

4. Copy the testpage.pcl to another Linux box (or Windows box "copy /b testpage.pcl lpt1:") and repeat step 2.

If the printer-ready-file fails to print send us a copy of the printer-read-file and we will verify the file. If the printer-ready-file prints ok then you have a USB subsystem problem with your Linux box in step 3, see your distribution for help.

Issue 6: How do I print borderless photos from Gimp?
Solution:
The Gimp Print Plugin modifies the RGB gamma values so we don't use the Gimp Print Plugin, but you can still use Gimp to print using HPIJS. Use the follow step-by-step instructions for printing a jpg camera photo on 4x6 photo paper.

1. Open the jpg photo with GIMP.

2. Right click on the image and do a File "save as.." command.

3. In the Save Image dialog, click "Postscript" for file type. Then click ok. This will bring up the Save as Postscript dialog.

4. In the Save as Postscript dialog click "Inch" for units.

5. Set the X-Offset and Y-Offset to zero for borderless.

6. If the picture needs to be rotated select 90 degrees.

7. Set the Width and Height to the desired size of the input image. If the picture is rotated 90 degrees then set the Width to 6 inches and the Height to 4 inches. If the picture is not going to be rotated the set the Width to 4 inches and the Height to 6 inches.

8. If you want to maintain the aspect ratio click "Keep Aspect Ratio".

9. Click ok to finish saving the postscript file.

10. Now you should have a postscript file that can be printed with from the hp-toolbox.

11. Make sure your print queue is set to Full Bleed (borderless) when printing.

### 7.4 Scanning Troubleshooting

Issue 1: 'xsane' reports error: "Failed to open device: Operation not supported"
Solution:
1.Make sure the line "hpaio" appears in /etc/sane/dll.conf and is not commented out (i.e., no "#" before "hpaio" on the line). Also, note that the "hp" SANE backend (which works with HP Scanjets) is not the same as the "hpaio" SANE backend provided by HPLIP.
2.Try using scanimage to debug the problem:
(note: you may want to comment out SANE backends that you are not using with a "#" character in /etc/sane/dll.conf to make debugging easier)

    $ export SANE_DEBUG_DLL=128

    $ scanimage -L

Check the output for errors and report them to the HPLIP forum.

Issue 2: OpenOffice or 'xsane' cannot "see" my network connected scanner.
Solution:
For network scanning, the "hp:/net/..." URI must be configured in the CUPS queue for auto-discovery by OpenOffice and xsane. You can manually specify the URI with xsane using the following format:

    xsane <"hpaio" device uri>

For example:

    xsane hpaio:/net/PSC_750?ip=12.25.63.142

(Where the CUPS installed device URI is: hp:/net/PSC_750?ip=12.25.63.142, and the hp: was replaced with hpaio:)

Issue 3: When scanning multiple sheets with my scanner's ADF, I get an error message.
Solution:
When scanning with the ADF, you must use "batch mode". In 'scanimage', use a command line such as:

    $ scanimage -b --batch-scan=yes > output.pnm

In 'xsane', use the provided batch scan mode.

### 7.5 Photo Card Access Troubleshooting

(TODO)

### 7.6 Device Manager Troubleshooting

Issue 1: HP Device Manager is non-functional for my device
Solution:
1.Run:

    $ hp-info

2.Look at the output for:

    [ERROR]: Model query failed.

3.If the model query failed or there are errors in the output, then please report this as a defect to the HPLIP team along with the hp-info output.

Issue 2: When I click "Print..." in the toolbox, I receive an error.
Solution:
1. Install kprinter (part of KDE), or
2. Install XPP

Issue 3: When I click "Scan..." in the toolbox, I receive an error.
Solution:
1. Install xsane, or
2. Install kooka

Issue 4: The front panel display function always says "Display not available"
Solutions:
Generally, only LaserJets and OfficeJets support this functionality. It is always turned off for DeskJets and other single or two function printers. If you feel that you are getting this message inappropriately, please file a defect report.

Issue 5: I installed a printer in CUPS with a usb:, socket:, etc. backend and it doesn't show up in the Device Manager.
Solution:
Only devices installed that are using the "hp:" backend will display in the Device Manager. Re-install the printer using the "hp:" device URI and then re-fresh (with F6) or re-run the Device Manager.

### 7.7 General Troubleshooting

Issue 1: I am seeing messages like "Unable to find GUI for username..." and "No GUI available" in the system log.
Solution:
These are normal and should not cause any concerns.

Issue 2: How do I check the syslog for HPLIP system errors?
Solution:
With "su" privileges, use the following command to view the syslog. Look for any errors during the time of the failure.

    # tail -f /var/log/messages

David Suffield
© 2004-2005 Hewlett-Packard Company
This document is provided "AS IS" without warranties of any kind including warranties of merchantability, fitness for a particular purpose, or non-infringement of intellectual property.
HPLIP 0.9.5, last updated September 14, 2005