After 2 hours of troubleshooting my printer still doesn't work. The funny thing is that I wanted to print 2 pages from a PDF and had no problem printing the 1st page, but after turning the paper and hitting Ctrl+P on the 2nd page, things broke down completely. I can't believe that it takes a battle to print one single page in 2020, so whatever it takes I want to print that one page.

Here's my info:

  • OS: Xubuntu 20.04
  • $ uname -r: 5.4.0-42-generic
  • Printer: HP DeskJet Ink Advantage 3785

I went through hp-check, tried installing the packages it was not able to find. It turned out, most of the 14 packages were actually installed, but there are some packages for which apt has no candidates for, and some that hp-check is simply unable to realize that they are there.

HP Linux Imaging and Printing System (ver. 3.20.3)
Dependency/Version Check Utility ver. 15.1

Copyright (c) 2001-18 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.

Note: hp-check can be run in three modes:
1. Compile-time check mode (-c or --compile): Use this mode before compiling the HPLIP supplied tarball (.tar.gz or .run) to determine 
if the proper dependencies are installed to successfully compile HPLIP.                                                                
2. Run-time check mode (-r or --run): Use this mode to determine if a distro supplied package (.deb, .rpm, etc) or an already built    
HPLIP supplied tarball has the proper dependencies installed to successfully run.                                                      
3. Both compile- and run-time check mode (-b or --both) (Default): This mode will check both of the above cases (both compile- and     
run-time dependencies).                                                                                                                

Check types:                                                                                                                           
a. EXTERNALDEP - External Dependencies                                                                                                 
b. GENERALDEP - General Dependencies (required both at compile and run time)                                                           
c. COMPILEDEP - Compile time Dependencies                                                                                              
d. [All are run-time checks]                                                                                                           
PYEXT SCANCONF QUEUES PERMISSION                                                                                                       

Status Types:
    MISSING       - Missing Dependency or Permission or Plug-in
    INCOMPAT      - Incompatible dependency-version or Plugin-version

warning: ubuntu-20.04 version is not supported. Using ubuntu-19.10 versions dependencies to verify and install...


 Kernel: 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 GNU/Linux
 Host: asus
 Proc: 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 GNU/Linux
 Distribution: ubuntu 20.04
 Bitness: 64 bit


HPLIP-Version: HPLIP 3.20.3
HPLIP-Home: /usr/share/hplip
warning: HPLIP-Installation: Auto installation is not supported for ubuntu distro  20.04 version 

Current contents of '/etc/hp/hplip.conf' file:
# hplip.conf.  Generated from hplip.conf.in by configure.


# Following values are determined at configure time and cannot be changed.

Current contents of '/var/lib/hp/hplip.state' file:
Plugins are not installed. Could not access file: No such file or directory

Current contents of '~/.hplip/hplip.conf' file:
scan = /usr/bin/simple-scan %SANE_URI%

email_address = 
voice_phone = 

date_time = 08/03/20 15:44:15
version = 3.20.3

device_uri = "hp:/usb/DeskJet_3700_series?serial=CN7C23D3X306H6"
printer_name = DeskJet_3700
working_dir = .

device_list = 
enable = false
interval = 5

enable = false
rate = 30
type = 1

systray_messages = 0
systray_visible = 0

last_upgraded_time = 1596460943
notify_upgrade = false
pending_upgrade_time = 0

 <Package-name>        <Package-Desc>      <Required/Optional> <Min-Version> <Installed-Version> <Status>   <Comment>

| External Dependencies |

 error: cups          CUPS - Common Unix Printing System                           REQUIRED        1.1             -               INCOMPAT   'CUPS may not be installed or not running'
 gs                   GhostScript - PostScript and PDF language interpreter and previewer REQUIRED        7.05            9.50            OK         -
 xsane                xsane - Graphical scanner frontend for SANE                  OPTIONAL        0.9             0.999           OK         -
 scanimage            scanimage - Shell scanning program                           OPTIONAL        1.0             1.0.29          OK         -
 dbus                 DBus - Message bus system                                    REQUIRED        -               1.12.16         OK         -
 policykit            PolicyKit - Administrative policy framework                  OPTIONAL        -               0.105           OK         -
 network              network -wget                                                OPTIONAL        -               1.20.3          OK         -
 avahi-utils          avahi-utils                                                  OPTIONAL        -               0.7             OK         -

| General Dependencies |

 libjpeg              libjpeg - JPEG library                                       REQUIRED        -               -               OK         -
 cups-devel           CUPS devel- Common Unix Printing System development files    REQUIRED        -               -               OK         -
 cups-image           CUPS image - CUPS image development files                    REQUIRED        -               -               OK         -
 libpthread           libpthread - POSIX threads library                           REQUIRED        -               b'2.31'         OK         -
 libusb               libusb - USB library                                         REQUIRED        -               1.0             OK         -
 sane                 SANE - Scanning library                                      REQUIRED        -               -               OK         -
 sane-devel           SANE - Scanning library development files                    REQUIRED        -               -               OK         -
 libnetsnmp-devel     libnetsnmp-devel - SNMP networking library development files REQUIRED        5.0.9           5.8             OK         -
 libcrypto            libcrypto - OpenSSL cryptographic library                    REQUIRED        -               1.1.1           OK         -
 python3X             Python 2.2 or greater - Python programming language          REQUIRED        2.2             3.8.2           OK         -
 python3-notify2      Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL        -               -               OK         -
 error: python3-pyqt4-dbus PyQt 4 DBus - DBus Support for PyQt4                         OPTIONAL        4.0             -               MISSING    'python3-pyqt4-dbus needs to be installed'
 error: python3-pyqt4 PyQt 4- Qt interface for Python (for Qt version 4.x)         REQUIRED        4.0             -               MISSING    'python3-pyqt4 needs to be installed'
 python3-dbus         Python DBus - Python bindings for DBus                       REQUIRED        0.80.0          1.2.16          OK         -
 python3-xml          Python XML libraries                                         REQUIRED        -               2.2.9           OK         -
 python3-devel        Python devel - Python development files                      REQUIRED        2.2             3.8.2           OK         -
 python3-pil          PIL - Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL        -               7.0.0           OK         -
 python3-reportlab    Reportlab - PDF library for Python                           OPTIONAL        2.0             3.5.34          OK         -


 libtool              libtool - Library building support services                  REQUIRED        -               2.4.6           OK         -
 gcc                  gcc - GNU Project C and C++ Compiler                         REQUIRED        -               9.3.0           OK         -
 make                 make - GNU make utility to maintain groups of programs       REQUIRED        3.0             4.2.1           OK         -

| Python Extentions |

 cupsext              CUPS-Extension                                               REQUIRED        -               3.20.3          OK         -
 hpmudext             IO-Extension                                                 REQUIRED        -               3.20.3          OK         -

| Scan Configuration |

'/etc/sane.d/dll.d/hpaio' not found.
 hpaio                HPLIP-SANE-Backend                                           REQUIRED        -               3.20.3          OK         'hpaio found in /etc/sane.d/dll.conf'
 scanext              Scan-SANE-Extension                                          REQUIRED        -               3.20.3          OK         -


device `hpaio:/usb/DeskJet_3700_series?serial=CN7C23D3X306H6' is a Hewlett-Packard DeskJet_3700_series all-in-one


  Device URI                                         Model                      
  -------------------------------------------------  ---------------------------
  hp:/usb/DeskJet_3700_series?serial=CN7C23D3X306H6  HP DeskJet 3700 series     


Type: Printer
Device URI: hp:/usb/DeskJet_3700_series?serial=CN7C23D3X306H6
PPD: /etc/cups/ppd/DeskJet_3700.ppd
warning: Failed to read /etc/cups/ppd/DeskJet_3700.ppd ppd file
PPD Description: 
Printer status: printer DeskJet_3700 is idle.  enabled since Mon 03 Aug 2020 03:22:08 PM CEST
error: Unable to communicate with device (code=12): hp:/usb/DeskJet_3700_series?serial=CN7C23D3X306H6
error: Device not found
error: Communication status: Failed


USB             DeskJet_3700                   Required        -        -        OK       Node:'/dev/bus/usb/003/005' Perm:'  root  lp rw- rw- rw- rw- r--'

Missing Required Dependencies
error: 'libcups2' package is missing/incompatible 
error: 'python3-pyqt4' package is missing/incompatible 
error: 'gtk2-engines-pixbuf' package is missing/incompatible 

Missing Optional Dependencies
error: 'python3-dbus.mainloop.qt' package is missing/incompatible 

Total Errors: 4
Total Warnings: 0


I've tried hp-setup, paged through the setup and it reported that everything is fine. In the Printers I see my printer with a green checkmark.

printer settings 1

But when I want to print a test page, it says this:

Device communication error

I also get notifications like this:

Printer 'HP-DeskJet-3700-series' may not be connected.

Finally, when I try to print, I see the print job in the queue of the printer, but nothing happens. No blinking lights on the printer, no error code, nothing. The printer is just there as if nothing is happening. All cables connected, turned, paper fed into it, door open, cartridges are full of ink.

How do I get it to print that 2nd page, and why was it able to print the 1st one?

error notification 1

error notification 2

If I delete the printer from Printers, I still see a printer when I try to print a page, but the info that populates in the description is "Getting printer information", which never ends.

print dialog

Output of lsmod | grep usb:

usblp                  24576  0
intel_xhci_usb_role_switch    16384  0
roles                  16384  1 intel_xhci_usb_role_switch

Excerpt from /var/log/syslog when I reconnect the USB:

Aug  3 16:09:23 asus ippusbxd: <-1586383104>Error: P 0x7fb29c004820: Printer has been disconnected
Aug  3 16:10:42 asus kernel: [ 5094.148607] usb 3-1: new high-speed USB device number 6 using xhci_hcd
Aug  3 16:10:42 asus kernel: [ 5094.365507] usb 3-1: New USB device found, idVendor=03f0, idProduct=0653, bcdDevice= 1.00
Aug  3 16:10:42 asus kernel: [ 5094.365526] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug  3 16:10:42 asus kernel: [ 5094.365538] usb 3-1: Product: DeskJet 3700 series
Aug  3 16:10:42 asus kernel: [ 5094.365548] usb 3-1: Manufacturer: HP
Aug  3 16:10:42 asus kernel: [ 5094.365557] usb 3-1: SerialNumber: CN7C23D3X306H6
Aug  3 16:10:42 asus kernel: [ 5094.382254] usblp 3-1:1.1: usblp1: USB Bidirectional printer dev 6 if 1 alt 0 proto 2 vid 0x03F0 pid 0x0653
Aug  3 16:10:42 asus root: loading HP Device 003 006
Aug  3 16:10:42 asus python3: io/hpmud/musb.c 2189: [17817] hpmud_make_usb_uri() bus=003 dev=006
Aug  3 16:10:42 asus python3: io/hpmud/musb.c 2287: hpmud_make_usb_uri() uri=hp:/usb/DeskJet_3700_series?serial=CN7C23D3X306H6 bytes_read=49
Aug  3 16:10:43 asus systemd[1]: Starting Daemon to make IPP-over-USB printers available as network printers (003:006)...
Aug  3 16:10:43 asus kernel: [ 5095.204468] usb 3-1: usbfs: process 17835 (ippusbxd) did not claim interface 0 before use
Aug  3 16:10:43 asus kernel: [ 5095.212483] usblp1: removed
Aug  3 16:10:43 asus systemd[1]: Started Daemon to make IPP-over-USB printers available as network printers (003:006).
Aug  3 16:10:43 asus kernel: [ 5095.248847] audit: type=1400 audit(1596463843.153:53): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/nsswitch.conf" pid=17854 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Aug  3 16:10:43 asus kernel: [ 5095.250529] TCP: request_sock_TCP: Possible SYN flooding on port 60000. Sending cookies.  Check SNMP counters.
Aug  3 16:10:43 asus kernel: [ 5095.250634] audit: type=1400 audit(1596463843.153:54): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/nsswitch.conf" pid=17854 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Aug  3 16:10:43 asus kernel: [ 5095.250641] audit: type=1400 audit(1596463843.153:55): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=17854 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Aug  3 16:10:43 asus kernel: [ 5095.250647] audit: type=1400 audit(1596463843.153:56): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=17854 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Aug  3 16:10:43 asus kernel: [ 5095.250971] audit: type=1400 audit(1596463843.153:57): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=17854 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Aug  3 16:10:43 asus kernel: [ 5095.251011] audit: type=1400 audit(1596463843.153:58): apparmor="DENIED" operation="open" profile="ippusbxd" name="/etc/passwd" pid=17854 comm="ippusbxd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Aug  3 16:10:49 asus colord-sane: io/hpmud/musb.c 2101: Invalid usb_open: Permission denied

There's is more to that strange "shadow" printer that ends in an underscore. If I try to delete it, it just adds itself back to Printers.

printer settings 2

I've also tried printing via HP Device Manager. But, whatever mode, it's Processing and Pending. No printing happens. All I can print is the "Printer Information Page" which I get by hitting a button on the printer.

NOTE. I know, the real solution would be throwing out the printer and buying something that isn't HP. But my printing needs are like less than 10 pages per year. I'll set a bounty of as many reputation points I can offer, as soon as the bounty is eligible. If you have any ideas, please post. I'll try to post whatever info I can.

  • is cups installed and running?
    – WU-TANG
    Aug 3, 2020 at 15:18
  • pidof cupsd 18159 I've also tried restarting it.
    – imrek
    Aug 3, 2020 at 15:23
  • Try askubuntu.com/a/1260788/66509 .
    – N0rbert
    Aug 3, 2020 at 15:32
  • It looks like cups was one of the packages that hp-check didn't know was there, but it is was there when you went to install it? have you tried configuring the printer with cups instead? ...forgive me, I am not terribly familiar with the vendor-specific software packages, i just plug the printers in and use the cups page to set them up.
    – WU-TANG
    Aug 3, 2020 at 15:33
  • @N0rbert I've done and now I have only one printer in my settings, and tried to send a page to the printer to print, but its status is now stuck in 'Processing' in the queue. At least there is no message that says 'not connected', but still no printing.
    – imrek
    Aug 3, 2020 at 15:44

6 Answers 6


It's a nasty Apparmor problem!! I ran into this a couple of days ago with my EPSON-printer. Look at the syslog-audit-lines: apparmor denies access to /etc/passwd!

You can put ippbusxd in mode complain as explained here in the Ubuntu wwiki or disable Apparmor globally.

  • you should NOT disable apparmour globally because it provides protection against your programs being compromized. apparmour should be setup properly and comes with tooling to troubleshoot. best is to report a bug if an Ubuntu package has apparmour issues so it can be fixed from source. See my answer for more details Feb 7, 2022 at 22:36

Too bad nobody made a bit more effort to explain. First of all, check the output of dmesg command to see if you have an apparmor issue (DENIED messages related to your printer). If it's ippusbxd, you need to run in a terminal:

sudo apt install apparmor-utils
sudo aa-complain ippusbxd
#sudo aa-complain cups (Might be cupsd or not needed, check dmesg)

Unplug and replug the printer and run dmesg again. In theory that may fix the issue, but you might be affected by: https://bugs.launchpad.net/hplip/+bug/1871011

I noticed in dmesg output:

[344350.239687] usb 1-4.2.3: usbfs: process 393755 (ippusbxd) did not claim interface 0 before use
[344350.241485] usblp1: removed

So it uses the ippusbxd driver but does not load it.

So for some models it might work, for my HP Envy 5544 on Ubuntu 20.04 LTS I had to remove the package:

sudo apt remove ippusbxd

Now dmesg shows me:

[344499.345607] usb 1-4.2.3: New USB device found, idVendor=03f0, idProduct=ce11, bcdDevice= 1.00
[344499.345610] usb 1-4.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[344499.345612] usb 1-4.2.3: Product: ENVY 5540 series
[344499.345613] usb 1-4.2.3: Manufacturer: HP
[344499.345614] usb 1-4.2.3: SerialNumber: THESERIAL
[344499.352931] usblp 1-4.2.3:1.1: usblp1: USB Bidirectional printer dev 22 if 1 alt 0 proto 2 vid 0x03F0 pid 0xCE11

You may need to stop the ippusbcd: sudo systemctl stop ippusbxd@001:017.service (note your id, use tab to autocomplete) and reload the startup systemd config while you're at it:

systemctl daemon-reload

In the end that still did not make my printer work. What made it work was to keep the printer plugged, shut it down while plugged and start it again. In dmesg I can still see the device removed right after printing, it does seem to work though.


It is quite remarkable how many users think HPLIP is the only game in town just because the device vendor is HP.

Ubuntu 20.04 installs ippusbxd and runs it when a printer is plugged into a USB port. The 3700 effectively becomes a network device and, into the bargain, any vendor software (that includes HPLIP) becomes useless for printing and scanning.

There are two possible solutions:

  • Come to terms with the modern changes in the printing system and work with them.
  • Forgo the benefits of ippusbxd and purge it from the system.

One would hope that a user would find the IPP-over-USB sections at the Debian wiki useful.

  • Are you saying that ippusbxd is some kind of magical generic driver or what exactly is the suggestion here?
    – matanster
    Sep 22, 2020 at 18:27
  • 1
    ippusbxd is indeed a driver that is able to use the IPP network protocol with suitable USB connected devices. Suitable devices would be those that implement the IPP-over-USB specification. The specification is not vendor specific. Note that ippusbxd is deprecated and replaced by ipp-usb.
    – brian_p
    Sep 23, 2020 at 12:46
  • that's a great addition of info. What I think most users want, is to plug a printer, have print icon and be able to print to it. Since you are talking protocol level, Ubuntu aimed at happy dekstop users, should make that printer icon appear and work, or somehow explain to a user how to print. My mom likes to print when she plugs in a printer, not do command line stuff. So I think a better choice is to have it ' just work' and have IPP fans do the command line work. I do command line and I hate my plugged printer not working too and having to do all this stuff :). Feb 7, 2022 at 22:33
  • @Vincent Gerris I think your mom would be delighted with with the working of a modern USB connected printer used with the present version of Ubuntu (not 20.04). It becomes immediately ready when plugged in - courtesy of ipp-usb and cups-browsed. (ippusbxd has been ditched. Even its author approves of that).
    – brian_p
    Feb 8, 2022 at 17:57
  • my mom and I do not have modern USB printers, just old ones :). My issue is on 20.04 and I saw that if I reinstall gnome-shell, hplip and other things come back. I think everyone is happy with functionality like that, it sounds great! Will definitely try when I have a chance. Thanks for the info Feb 9, 2022 at 22:31

I had to install my HP printer in wifi mode to make it work.

You can do the entire wifi installation from your printer just follow the instructions on your printer.

Be sure to print out the documents when you are prompted to do so during install,and to make the detection of your pc a bit more reliable you might want to turn off any other devices conected to your router during the install(pc must be on to be setup correctly and can be conected by wire or by wifi).

You do not need to install anything on yor pc as this will be a driverless install,your printer/scanner will funktion perfectly fine in wifi mode.

I do not know what xubuntu/ubuntu have done wrong in the 20.04 version as printing via usb did function fine in previous versions but a lot of people have this problem now in the 20.04 version.


I am sorry to say that my previous comment (see below) was too optimistic. Apparently it was only a matter of time that my HP printer/scanner became unresponsive (half page printed and then stopped, "printer not connected" messages, etc). I've removed the “ippusbxd” package, then I've deleted the printers previously installed through the GUI, rebooted the system and finally I've installed the old hplip drivers. Everything is working now fine: printing and scanning.

Previous comment was:

"The section in the Debian wiki discussed in this answer was really useful for me.

Under the heading "IPP-over-USB: Investigation and Troubleshooting" there is a clarifying explanation:

"... keep in mind that the IPP-over-USB printer is seen as a network device and be sure always to look under network printers with both of these setup solutions. Ignore the temptation to set up a local USB connection even though the device is on USB. Under the model/driver entries look for entries containing driverless or IPP Everywhere."

Adding the printer through the "network printer" option offered by the GUI for adding printers made the miracle for me and I am now able to print and scan.

Note: Every time you try to scan, the software will search for an available scanner. You will see then two options that contain the printer's name and you should choose the longest one: in my case, "ESCL Deskjet 3520 series [CNXXXXXXXX]", where XXXXXXXX are numbers."


Finally got my HP printer working had to uninstall the printer then do a completely Manual add to the system but works fine now. Still have to get sane to recognize the scanner I used the WiFi method and had the printer tell me what the network settings are then used them to do a completely manual installation for my HP 4125 all in one printer. I also have the Linux for Dummies book that is very informative and a Great reference book for learning Linux or refreshing ones memory of thing long since dimmed by age

  • How might someone else be able to apply your answer? Would you consider making an edit to your answer and explaining your solution in more detail? Providing step-by-step instructions would be most helpful.
    – Nmath
    Nov 22, 2020 at 19:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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