Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info...

Supported Models

Printing and scanning with HP All-In-One (AIO) printers is supported by the hplip project. The hplip package is included in Ubuntu and Debian and no other software is needed. The older 'hpoj' package is obsolete and is only used to support parallel connections and for CUPS and SMB shared printers.

Almost all HP All-in-Ones are supported, even new ones. See the Supported Devices list for details.


1. Connect the printer as follows:

  • All models can be connected by USB cable. Connect the cable, turn the printer on, and go to the next step.
  • Some models feature wired and/or wireless networking:
    • To connect by wired network, connect the printer's Ethernet port to your router by network cable.
    • To connect by wireless connection, press the printer Setup button and use the arrow keys to highlight the Network (sometimes Wireless) menu and press OK. Select Wireless Setup Wizard under the Network and press OK again. Follow the prompts and enter a WEP or WPA security key if prompted.
    • Note: the 2008 Photosmart C4300 series and C4500 series All-in-Ones require first time setup by connecting by USB cable and running the HP Installation under Windows or a Mac. Once joined to the wireless network, they can be used from Linux.

2. Delete any entries for this printer in System->Administration->Printers.

3. Run HP Setup from the console. This will walk you through the setup for USB, network or parallel connections.

sudo hp-setup

Scanning and other features such as memory card image transfer should now work. To see a list of HP utilities, in the console enter 'hp-' and Tab. For example, use hp-toolbox to do printer maintenance or check ink levels.

This wiki page has screenshots of hp-setup.



sudo hp-check -r

This will summarize any installation errors.

Post support questions at the project Launchpad page.

fax ppd missing

Someone broke a dependency somewhere, so install hplip-cups and you're all set:

sudo apt-get install hplip-cups

error: hp-setup requires GUI support

In Ubuntu 9.10 and Xubuntu 14.04.1, you need to execute sudo apt-get install python-qt4 in a terminal before running hp-setup, or you'll get:

warning: Qt/PyQt 4 initialization failed.

error: hp-setup requires GUI support (try running with --qt3). Also, try using interactive (-i) mode. 

Networked Scanner

Note: the following is not necessary if you run hp-setup as above.

If your all-in-one printer is on a network and you use the Gnome Printers window to add the printer as an HP Jet-Direct printer, then you will not be able to scan. To solve this problem, you must first determine the URI of the printer by executing inside a terminal window:

hp-makeuri IP-ADDRESS

where IP-ADDRESS should be replaced with the IP address of your printer. This will show the CUPS (printing) and SANE (scanning) URIs for your printer.

Next, there are two approaches to accessing the networked scanner:

1. You can temporarily access the scanner by supplying the SANE URI to xsane every time you execute it:

xsane SANE-URI

where SANE-URI is the SANE URI returned by hp-makeuri.

2. The scanner will be permanently accessible if CUPS is configured to use the 'hp' backend to access the printer instead of the 'socket' backend (i.e., the Jet Direct backend). This can be done by editing printers.conf:

gksudo gedit /etc/cups/printers.conf 

and replacing the 'socket' DeviceURI with the 'hp' URI returned by hp-makeuri. Restart cups after making this change:

sudo /etc/init.d/cupsys restart 

The scanner should now be permanently accessible and you can use the HPLIP Toolbox to examine that status of your printer. The downside of this solution is that the Gnome Printers window should no longer be used to modify this printer as it is likely to get confused and overwrite your DeviceURI with something that HPLIP cannot understand. One possible solution to this problem is to add the same printer twice: once as a Jet Direct printer and again using the 'hp' backend. The Jet Direct version can be used for printing and printer configuration, while the 'hp' version can be used for scanning and checking ink levels with the HPLIP Toolbox.

Older Notes

Models known to work

See Supported Models above.

Please review your printer using Linux

These instructions are also known to work with the following HP PSC printers:

  • 1100 / 1200 Series all-in-one printer. This little compact printer do function too.
  • 1210
  • 1315
  • 1410v
  • 1610 (install firmware update from HP if you own this!)
  • 2115 (Use the 2110 ppd)
  • 2510
  • Photosmart 2575 (Ethernet and USB)
  • Deskjet F380
  • Deskjet F4180
  • Deskjet F4280
  • Deskjet 5940

  • Photosmart 2610 (via Ethernet, USB not tested but should work, Printer (cups) and Scanner (xsane) both working, fax only configured successfully but not tested, on Lucid and Maverick)
  • Photosmart 2710
  • 3055 Network-scanner
  • 4200 Officejet series (Worked with 4215 all in one fax anyway with instructions below)
  • Color LaserJet 2600n (Color doesn't work well)

  • Color LaserJet 2840

These instructions will also work for other HP all-in-one printers, and are known to work with the following models:

  • Photosmart C4580 (Trusty, connected via wireless, ran sudo hp-setup after which printing and scanning worked immediately)
  • Photosmart C7280 (64-bit Lucid, USB connected, plug&play worked, haven't tried scanner)

  • Officejet G55 (both print- and scanner-modules works like a charm)
  • Photosmart C4440 (print worked instantly on Hardy Heron, just plug and go, Scanner works with instructions below)
  • Officejet 4110 (Normally works with plug and go, but these instructions also work perfectly)

(Please update the list if your printer is not in any of the above lists and these instructions work for you.)

There have been issues in the past with getting both printing and scanning to work at the same time. The setup resulting from these instructions supports both printing and scanning.

At the bottom I have added how to do this with HPLIP. -Shiven


Try running XSane to scan (from Applications->Graphics).


1. Restart the CUPS system to see the new hpoj service by running

sudo /etc/init.d/cupsys restart
  1. In System->Administration->Printers double-click "New Printer".

  2. Select "Use another printer by specifying a port:".
  3. Do not select "Detected printers" or your print jobs will hang.

  4. In the drop-down select the entry beginning with "PTAL".
  5. Hit Forward, select your model or the closest to it, and press Apply.
  6. Printing should now work. Test by right-clicking the newly created printer icon, choose Properties, then click Print a Test Page.

Setting up printers to use HPLIP.

Known to work with: hppsc 1210. I don't have another printer, but this works well for me.

Preamble: So you want your printer to scan and print? But you also want the tools from HP to go with it! This is fairly simple; it just takes a bit of configuration.

Step 1: Run synaptic (System->Admin->Synaptic). Put in your password, and search for 'hplip'.

Install all three packages, then move to Step 2.

Step 2: Once the tools are installed, you will need to restart your printer, and also run /etc/init.d/cupsys restart, to update your CUPS interface. this is CRUCIAL!

Step 3: Go and download the appropriate module for your printer (gimp-print doesn't have the correct modules for PSC model printers, so go to http://www.openprinting.org/printers and get the driver for your printer (about 20kb)). Copy this driver into the folder of your choice (I chose /usr/share/hplip/data; remember the folder because you're going to need it in the next step).

Step 4: Run System->Administration->Printers, input your password, and install a new printer. Do NOT use the detected printers, use the location that appears when you select "Use another printer by specifying a port". Click next, go to HP at the top (if it isn't already selected), then go to Install Driver. Select the ppd file from your location, so in my case /usr/share/hplip/data/hp_psc_1210.ppd, and then follow the prompts until it finishes.

Step 5: Add hpaio to the end of /etc/sane.d/dll.conf. This is so the SANE backend can work with HPLIP.

Step 6: Test page baybee! If it works, run xsane and give the scanner a run and you're good to go!

Known problems: I haven't found anything. The hp-toolbox (system -> preferances -> hp toolbox) seems acurate, and... well, everything just works. What else could you want? -

The above does not work for networked printers. I got my HP Laserjet 1200 to be seen by HPLIP as follows:

Grab the ppd file as detailed above.

Run hp-makeuri IPADDRESS where IPADDRESS is your printer's local ip address (mine is Save the result.

Mine was: hp:/net/HP_LaserJet_1200?ip=

Install kprinter. The gnome printool does not allow installation of hp:// addresses at present (correct me if I'm wrong please).

sudo kprinter

Click on install wand and follow wizard.

Click on "other printer type".

Insert URI produced by hp-makeuri command.

Click "other" at driver step and select the ppd file.

Click to finish and REBOOT machine (a cupsys restart was not enough for me).

On restart HPLIP should pick up networked printer as well as your local ones.


HpAllInOne (last edited 2014-09-23 14:33:01 by jamysanjay)