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
- 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. For sharing the USB printer for network access, please see here.
- 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.
Troubleshoot printing
Run:
sudo hp-check -r
This will summarize any installation errors.
error: hp-setup requires GUI support
In 14.04, you need to execute the following in a terminal before running hp-setup:
sudo apt-get install python-qt4
In 15.04, you need to install python3-pyqt4 running the following command in a terminal:
sudo apt-get install python3-pyqt4
Otherwise, 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.
Setup scanning
For local scanning, once plugged in, it should be immediately available for scanning by running Simple Scan or Xsane.
Network scanning
If one is sharing out a USB connected All-In-One, one may utilize saned.
Troubleshoot scanning
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:
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.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:
sudo nano /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.
Known issues
saned does not work in Utopic or Vivid for the purposes of network scanning with HP OfficeJet 5610v
https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1442956