I now use a PC (of the lab where I work now) on which I have successfully installed Arch Linux not long ago. I want to connect to the HP printer there, already connected to the Ethernet of the lab. The printer is a "HP Color LaserJet M552".

I have installed hplip (refer to: CUPS/Printer-specific problems); when installing, I recall there were a lot of error messages.

When I tried to print some document, no printer was found. I ran sudo hp-setup (as advised here: Configure your printer using hp-setup). A dialog box appeared, which asked me for "PPD" file, and I don't know where it is and what it is for.

When I was finding material to solve this, unfortunately I find HP seems not to support Arch Linux.

There are the console error messages when I invoke hp-setup:

HP Linux Imaging and Printing System (ver. 3.16.11)
Printer/Fax Setup Utility ver. 9.0

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Searching... (bus=net, timeout=5, ttl=4, search=(None) desc=0, method=slp)
error: No PPD found for model color_laserjet_m552 using old algorithm.
error: No appropriate print PPD file found for model hp_color_laserjet_m552
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33404 bytes
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33834 bytes
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33922 bytes
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33582 bytes                                                                                                                                                                                                              
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33940 bytes                                                                                                                                                                                                              
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33514 bytes                                                                                                                                                                                                              
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33928 bytes      

Meanwhile, I was prompted to choose a PPD file. The default folder for me to choose is /usr/share/ppd/hp, but when I choose anything, the box is still empty, saying I should choose a file. The printer name is shown, so I think connection is fine.

P.S.: I know this sort of thing is difficult to debug without playing around with the computer in person. If there is any information missing, just ask.


2 Answers 2


With system-config-printer

Following these steps, I can now print documents using Evince on Arch Linux 4.16.9 with an HP LaserJet P1102 connected via USB:

  1. Install CUPS: sudo pacman -S cups
  2. Start and enable (make it start after boot) the CUPS printing service: sudo systemctl enable --now cups (the name of the service unit used to be org.cups.cupsd)
  3. Install HP Linux Imaging and Printing: sudo pacman -S hplip
  4. Install a driver plug-in via sudo hp-setup -i. Root privileges are important here, otherwise it says "error: No device selected/specified or that supports this functionality." when selecting a connection method. During installation of the plug-in, I selected the default option each time.
  5. Install system-config-printer, a GUI tool to configure printers.
  6. Start system-config-printer and click the button to add a printer. Select your printer and choose HPLIP as the connection method (see screenshot).
  7. system-config-printer should now allow you to print a test page.
  8. In order for a GTK application like Evince to show your printer in the printing dialog, you need to install gtk3-print-backends as well.

system-config-printer screenshot

With CUPS web interface

Instead of system-config-printer described above, you can use CUPS' web interface, reachable at localhost:631.

Before administrating printers, you have to add your user to the group sys, otherwise you'll run into errors in the web interface like "Unable to modify printer: Forbidden".

gpasswd -a "$USER" sys

Alternatively, use vigr to edit /etc/group.

The web interface will prompt for this user's name and their password.

/etc/cups/cups-files.conf defines that members of groups sys (and root) can administrate printers:

SystemGroup sys root

After taking care of group membership, you can add printers and perform other administrative tasks:

add printer via web interface

After selecting a printer in localhost:631/printers, you can also print a test page via the web interface:

print test page via web interface


Keep lib in sync with driver

The library hplip from pacman and the driver plug-in installed via hp-setup -i have to have the same version, otherwise you'll be unable to print and see this error message in your systemd journal (inspect it with journalctl -e):

validate_plugin_version() Plugin version[3.17.7] mismatch with HPLIP version[3.18.4]

To fix this, you can run hp-setup -i again which will download and install the current driver.

I added the following to ~/.bash_aliases to prevent the driver and the library getting out of sync:

alias upgrade-ignore-hp="(set -x; sudo pacman -Syu --ignore hplip)"

Serial number changed

Recently, my printer would refuse to print; system-config-printer as well as the CUPS web interface would show it as paused. lpc status yielded that the printer has "printing disabled".

cupsenable Hewlett-Packard-HP-LaserJet-Professional-P1102 didn't help.

I solved this by changing the printer's connection. Using the CUPS web interface mentioned before, I selected my printer and clicked "Modify Printer" in the drop-down list. Here, I changed the connection from



HP LaserJet Professional P1102 USB 000000000Q80X0EGSI1c HPLIP (HP LaserJet Professional P1102)

Note that those two serial numbers differ.

I don't know where this serial number belongs to and why it changed since I didn't get a new printer; it's not the one on the label on the printer's back.

This serial number does show up in the output of hp-info, though.

"error: No device selected/specified or that supports this functionality."

This error persisted when calling sudo hp-setup -i and I'm not sure the printer is supported anymore by HP for Arch Linux. I've since ditched the HP LaserJet P1102 and got a Brother DCP-L3550CDW whose monochrome printing feature worked out of the box on Arch Linux 5.3.12: In system-config-printer, I selected "LPD/LPR queue 'BINARY_P1" as the connection and "PCL Laser" as the driver. I used this driver to enable color printing.

To get the device's built-in scanner working, I followed these instructions.

A second Brother printer/scanner that I got working on Arch Linux is the DCP-1610W. Here are some notes to make it print and scan using Wi-Fi.

  • error: HPLIP upgrade is disabled by Archlinux for security reasons, see bugs.archlinux.org/task/38083 - if you like to upgrade HPLIP, use the Archlinux software package manager pacman. We need a way to uninstall HPLIP plugin (downloaded by hp-setup)
    – Tun
    Sep 28, 2018 at 9:25
  • Matthias Braun's answer is actually okay, but if you use GUI then you will probably need the python-pyqt5 package, too, Sep 15, 2019 at 20:42

Initially I installed KDE on Arch Linux. After many hours of trying to configure my HP LaserJet professional, I reinstalled Arch Linux with the Xfce desktop. Pacman installed hplip and wget. Check with the ArchWiki to make sure all the dependencies are installed. Update the system frequently. Make sure your printer is visible to your system. I rebooted three or four times. Finally, I was able to print. Final thought. It seems that Arch needed wget to communicate with HP, while "hp-setup" did its job. Final suggestion: Never buy an HP LaserJet professional that needs an hplip-plugin. I'll never do that again. Good luck.

  • Thank you for answering this post 2 months ago. Afterwards, I installed Linux Mint, and I now am happy with it: in Mint, run officially downloaded driver package and the printer object appears. I suppose this is how it should be like in the 21th century. Apart from printer issue, I don't find Arch Linux problematic, but I don't see its merit so far either. Jun 9, 2017 at 8:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .