Ubuntu – Getting HP DeskJet 3700 working with Xubuntu 20.04

hphplipprintingxubuntu

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:
    OK
    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...

---------------
| SYSTEM INFO |
---------------

 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 CONFIGURATION |
-----------------------

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.

[hplip]
version=3.20.3

[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/hplip/HP
ppdbase=/usr/share/ppd/hplip
doc=/usr/share/doc/hplip
html=/usr/share/doc/hplip-doc
icon=no
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv
bin=/usr/bin
apparmor=/etc/apparmor.d
# Following values are determined at configure time and cannot be changed.
[configure]
network-build=yes
libusb01-build=no
pp-build=no
gui-build=yes
scanner-build=yes
fax-build=yes
dbus-build=yes
cups11-build=no
doc-build=yes
shadow-build=no
hpijs-install=yes
foomatic-drv-install=yes
foomatic-ppd-install=no
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.20.3
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=yes
lite-build=no
udev_sysfs_rules=no
hpcups-only-build=no
hpijs-only-build=no
apparmor_build=no
class-driver=no


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:
[commands]
scan = /usr/bin/simple-scan %SANE_URI%

[fax]
email_address = 
voice_phone = 

[installation]
date_time = 08/03/20 15:44:15
version = 3.20.3

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

[polling]
device_list = 
enable = false
interval = 5

[refresh]
enable = false
rate = 30
type = 1

[settings]
systray_messages = 0
systray_visible = 0

[upgrade]
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         -

--------------
| COMPILEDEP |
--------------

 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         -

------------------------------
| DISCOVERED SCANNER DEVICES |
------------------------------

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


--------------------------
| DISCOVERED USB DEVICES |
--------------------------

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

---------------------------------
| INSTALLED CUPS PRINTER QUEUES |
---------------------------------

 
DeskJet_3700
------------
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


--------------
| PERMISSION |
--------------

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

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


Done.

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
usbhid  

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
^C

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.

Best Answer

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.

Related Question