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). There was a dialog box appearing, 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. (See: Installing HPLIP and HPLIP Manual Install.)

Console error messages are, 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 lacks any information, just ask.


Initially I installed KDE on Arch linux. After many hours of trying to configure my HP laserjet professional, I reinstalled Arch linux wth the xfce desktop. Pacman install hplip and wget. Check with the Arch wiki to make sure all the dependancies 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 it's job. Finale suggestion. Never buy an HP laserjet profession that needs an hplip-plugin. I'll never do that again. Good luck.

| improve this answer | |
  • 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. – Violapterin Jun 9 '17 at 8:27

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 -Sy cups
  2. Start and enable (make it start after boot) the CUPS printing service: sudo systemctl start org.cups.cupsd && sudo systemctl enable 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 theUser sys

Alternatively, use vigr to edit /etc/group.

The web interface will prompt for this user 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 and 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.

| improve this answer | |
  • 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 '18 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, – Bence László Sep 15 '19 at 20:42

Not the answer you're looking for? Browse other questions tagged or ask your own question.