Supported Models
Printing, scanning, and faxing with HP All-In-One (AIO) printers is supported by the hplip project. The hplip package is included in Ubuntu.
Please see here for a list of supported devices.
Setup printing in Ubuntu
- Turn on the printer, and connect to the All-In-One. This may be via USB (for local and/or network access), ethernet, or wireless.
- For USB, connect the USB cord from the printer to your computer.
- To connect via ethernet, connect the printer's ethernet port to your router.
- To connect via wireless, use the printers LCD screen to navigate the menu as per the printer's manual.
For a more customized setup of both printing and faxing, one may execute in a terminal:
sudo hp-setup
Scanning and other features such as memory card image transfer should now work. To see a list of HP utilities, enter the following in a a terminal:
hp-
and click Tab on the keyboard. For example, use hp-toolbox to do printer maintenance or check ink levels.
This wiki page has screenshots of hp-setup.
Troubleshooting
Run:
sudo hp-check -r
This will summarize any installation errors.
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.
Setup scanning
Try running XSane to scan (from Applications->Graphics).
Printing
1. Restart the CUPS system to see the new hpoj service by running
sudo /etc/init.d/cupsys restart
In System->Administration->Printers double-click "New Printer".
- Select "Use another printer by specifying a port:".
Do not select "Detected printers" or your print jobs will hang.
- In the drop-down select the entry beginning with "PTAL".
- Hit Forward, select your model or the closest to it, and press Apply.
- 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 192.168.0.150). Save the result.
Mine was: hp:/net/HP_LaserJet_1200?ip=192.168.0.150
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.