Can't print in black&white/grey-scale on HP M277dw with hplip

Hi All,

I run openSUSE Leap 15 (64 bit) with KDE.
I have HPLIP 3.17.9 installed.
I have HP Color LaserJet Pro MFP M277dw set up as a network printer.

I can scan and I can print, but, I cannot print in black only/greyscale mode. i.e. print color PDF using only black toner so that printed image is greyscale. It used to work with openSUSE 42.3.

My CUPS defaults are:

Print Color as Gray: ON
RGB Color: Default (sRGB)
Edge Control: Normal
Halftone: Smooth
Text Neutral Grays: Black Only
Graphics Neutral Grays: Black Only
Photo Neutral Grays: Back Only

So, if I print black text - it prints black just fine. If I want to print color document using only black cartridge (greyscale) - whatever I do it prints in color.

Below is hp-check -t output


hp-check[25687]: info: :
hp-check[25687]: info: :HP Linux Imaging and Printing System (ver. 3.17.9)
hp-check[25687]: info: :Dependency/Version Check Utility ver. 15.1
hp-check[25687]: info: :
hp-check[25687]: info: :Copyright (c) 2001-15 HP Development Company, LP
hp-check[25687]: info: :This software comes with ABSOLUTELY NO WARRANTY.
hp-check[25687]: info: :This is free software, and you are welcome to distribute it
hp-check[25687]: info: :under certain conditions. See COPYING file for more details.
hp-check[25687]: info: :
hp-check[25687]: info: :Note: hp-check can be run in three modes:
hp-check[25687]: info: :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.
hp-check[25687]: info: :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.
hp-check[25687]: info: :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).
hp-check[25687]: info: :
hp-check[25687]: info: :Check types:
hp-check[25687]: info: :a. EXTERNALDEP - External Dependencies
hp-check[25687]: info: :b. GENERALDEP - General Dependencies (required both at compile and run time)
hp-check[25687]: info: :c. COMPILEDEP - Compile time Dependencies
hp-check[25687]: info: :d. [All are run-time checks]
hp-check[25687]: info: :PYEXT SCANCONF QUEUES PERMISSION
hp-check[25687]: info: :
hp-check[25687]: info: :Status Types:
hp-check[25687]: info: : OK
hp-check[25687]: info: : MISSING - Missing Dependency or Permission or Plug-in
hp-check[25687]: info: : INCOMPAT - Incompatible dependency-version or Plugin-version
hp-check[25687]: info: :
warning: 0- version is not supported. Using 0-0 versions dependencies to verify and install...
hp-check[25687]: info: :
hp-check[25687]: info: :---------------
hp-check[25687]: info: :| SYSTEM INFO |
hp-check[25687]: info: :---------------
hp-check[25687]: info: :
hp-check[25687]: info: : Kernel: 4.12.14-lp150.12.16-default #1 SMP Tue Aug 14 17:51:27 UTC 2018 (28574e6) GNU/Linux
 Host: cc-lcu
 Proc: 4.12.14-lp150.12.16-default #1 SMP Tue Aug 14 17:51:27 UTC 2018 (28574e6) GNU/Linux
 Distribution: 0
hp-check[25687]: info: : Bitness: 64 bit


hp-check[25687]: info: :
hp-check[25687]: info: :-----------------------
hp-check[25687]: info: :| HPLIP CONFIGURATION |
hp-check[25687]: info: :-----------------------
hp-check[25687]: info: :
hp-check[25687]: info: :HPLIP-Version: HPLIP 3.17.9
hp-check[25687]: info: :HPLIP-Home: /usr/share/hplip
warning: HPLIP-Installation: Auto installation is not supported for 0 distro version
hp-check[25687]: info: :
hp-check[25687]: info: :Current contents of '/etc/hp/hplip.conf' file:
hp-check[25687]: info: :# hplip.conf. Generated from hplip.conf.in by configure.


[hplip]
version=3.17.9


[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/cups/model/manufacturer-PPDs/hplip
ppdbase=/usr/share/cups/model/manufacturer-PPDs
doc=/usr/share/doc/packages/hplip
html==/usr/share/doc/packages/hplip
icon=/usr/share/applications
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/lib/cups/driver
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=no
foomatic-ppd-install=yes
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=no
cups-ppd-install=yes
internal-tag=3.17.9
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=no
lite-build=no
udev_sysfs_rules=no
hpcups-only-build=no
hpijs-only-build=no
apparmor_build=no


hp-check[25687]: info: :
hp-check[25687]: info: :Current contents of '/var/lib/hp/hplip.state' file:
hp-check[25687]: info: :[plugin]
installed = 1
eula = 1
version = 3.17.9


hp-check[25687]: info: :
hp-check[25687]: info: :Current contents of '~/.hplip/hplip.conf' file:
hp-check[25687]: info: :[commands]
scan = /usr/bin/xsane -V %SANE_URI%


[fax]
email_address =
voice_phone =


[installation]
date_time = 08/28/18 17:41:25
version = 3.17.9


[last_used]
device_uri = "hp:/net/HP_Color_LaserJet_MFP_M277dw?ip=192.168.0.20"
printer_name = HP_Color_LaserJet_MFP_M277dw
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 = 1528721345
notify_upgrade = true
pending_upgrade_time = 0


hp-check[25687]: info: : <Package-name> <Package-Desc> <Required/Optional> <Min-Version> <Installed-Version> <Status> <Comment>
hp-check[25687]: info: :
hp-check[25687]: info: :-------------------------
hp-check[25687]: info: :| External Dependencies |
hp-check[25687]: info: :-------------------------
hp-check[25687]: info: :
hp-check[25687]: info: : cups CUPS - Common Unix Printing System REQUIRED 1.1 2.2.7 OK 'CUPS Scheduler is running'
hp-check[25687]: info: : gs GhostScript - PostScript and PDF language interpreter and previewer REQUIRED 7.05 9.23 OK -
hp-check[25687]: info: : xsane xsane - Graphical scanner frontend for SANE OPTIONAL 0.9 0.999 OK -
hp-check[25687]: info: : scanimage scanimage - Shell scanning program OPTIONAL 1.0 1.0.27 OK -
hp-check[25687]: info: : error: dbus DBus - Message bus system REQUIRED - 1.12.2 MISSING 'DBUS may not be installed or not running'
hp-check[25687]: info: : policykit PolicyKit - Administrative policy framework OPTIONAL - 0.114 OK -
hp-check[25687]: info: : network network -wget OPTIONAL - 1.19.5 OK -
hp-check[25687]: info: : avahi-utils avahi-utils OPTIONAL - 0.6.32 OK -
hp-check[25687]: info: :
hp-check[25687]: info: :------------------------
hp-check[25687]: info: :| General Dependencies |
hp-check[25687]: info: :------------------------
hp-check[25687]: info: :
hp-check[25687]: info: : error: libjpeg libjpeg - JPEG library REQUIRED - - MISSING 'libjpeg needs to be installed'
hp-check[25687]: info: : cups-devel CUPS devel- Common Unix Printing System development files REQUIRED - 2.2.7 OK -
hp-check[25687]: info: : cups-image CUPS image - CUPS image development files REQUIRED - 2.2.7 OK -
hp-check[25687]: info: : libpthread libpthread - POSIX threads library REQUIRED - b'2.26' OK -
hp-check[25687]: info: : error: libusb libusb - USB library REQUIRED - 1.0 MISSING 'libusb needs to be installed'
hp-check[25687]: info: : sane SANE - Scanning library REQUIRED - - OK -
hp-check[25687]: info: : error: sane-devel SANE - Scanning library development files REQUIRED - - MISSING 'sane-devel needs to be installed'
hp-check[25687]: info: : error: libnetsnmp-devel libnetsnmp-devel - SNMP networking library development files REQUIRED 5.0.9 5.7.3 MISSING 'libnetsnmp-devel needs to be installed'
hp-check[25687]: info: : error: libcrypto libcrypto - OpenSSL cryptographic library REQUIRED - 1.1.0 MISSING 'libcrypto needs to be installed'
hp-check[25687]: info: : python3X Python 2.2 or greater - Python programming language REQUIRED 2.2 3.6.5 OK -
hp-check[25687]: info: : error: python3-notify2 Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL - - MISSING 'python3-notify2 needs to be installed'
hp-check[25687]: info: : python3-pyqt4-dbus PyQt 4 DBus - DBus Support for PyQt4 OPTIONAL 4.0 4.12.1 OK -
hp-check[25687]: info: : python3-pyqt4 PyQt 4- Qt interface for Python (for Qt version 4.x) REQUIRED 4.0 4.12.1 OK -
hp-check[25687]: info: : python3-dbus Python DBus - Python bindings for DBus REQUIRED 0.80.0 1.2.4 OK -
hp-check[25687]: info: : python3-xml Python XML libraries REQUIRED - 2.2.5 OK -
hp-check[25687]: info: : python3-devel Python devel - Python development files REQUIRED 2.2 3.6.5 OK -
hp-check[25687]: info: : python3-pil PIL - Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL - 1.1.7 OK -
hp-check[25687]: info: : error: python3-reportlab Reportlab - PDF library for Python OPTIONAL 2.0 - MISSING 'python3-reportlab needs to be installed'
hp-check[25687]: info: :
hp-check[25687]: info: :--------------
hp-check[25687]: info: :| COMPILEDEP |
hp-check[25687]: info: :--------------
hp-check[25687]: info: :
hp-check[25687]: info: : libtool libtool - Library building support services REQUIRED - 2.4.6 OK -
hp-check[25687]: info: : gcc gcc - GNU Project C and C++ Compiler REQUIRED - 7.3.1 OK -
hp-check[25687]: info: : make make - GNU make utility to maintain groups of programs REQUIRED 3.0 4.2.1 OK -
hp-check[25687]: info: :
hp-check[25687]: info: :---------------------
hp-check[25687]: info: :| Python Extentions |
hp-check[25687]: info: :---------------------
hp-check[25687]: info: :
hp-check[25687]: info: : cupsext CUPS-Extension REQUIRED - 3.17.9 OK -
hp-check[25687]: info: : hpmudext IO-Extension REQUIRED - 3.17.9 OK -
hp-check[25687]: info: :
hp-check[25687]: info: :----------------------
hp-check[25687]: info: :| Scan Configuration |
hp-check[25687]: info: :----------------------
hp-check[25687]: info: :
hp-check[25687]: info: : hpaio HPLIP-SANE-Backend REQUIRED - 3.17.9 OK 'hpaio found in /etc/sane.d/dll.conf'
hp-check[25687]: info: : scanext Scan-SANE-Extension REQUIRED - 3.17.9 OK -
hp-check[25687]: info: :
hp-check[25687]: info: :------------------------------
hp-check[25687]: info: :| DISCOVERED SCANNER DEVICES |
hp-check[25687]: info: :------------------------------
hp-check[25687]: info: :
hp-check[25687]: info: :device `hpaio:/net/HP_Color_LaserJet_MFP_M277dw?ip=192.168.0.20' is a Hewlett-Packard HP_Color_LaserJet_MFP_M277dw all-in-one


hp-check[25687]: info: :
hp-check[25687]: info: :--------------------------
hp-check[25687]: info: :| DISCOVERED USB DEVICES |
hp-check[25687]: info: :--------------------------
hp-check[25687]: info: :
hp-check[25687]: info: :No devices found.
hp-check[25687]: info: :
hp-check[25687]: info: :---------------------------------
hp-check[25687]: info: :| INSTALLED CUPS PRINTER QUEUES |
hp-check[25687]: info: :---------------------------------
hp-check[25687]: info: :
hp-check[25687]: info: :
hp-check[25687]: info: :HP_Color_LaserJet_MFP_M277dw
hp-check[25687]: info: :----------------------------
hp-check[25687]: info: :Type: Printer
hp-check[25687]: info: :Device URI: hp:/net/HP_Color_LaserJet_MFP_M277dw?ip=192.168.0.20
hp-check[25687]: info: :PPD: /etc/cups/ppd/HP_Color_LaserJet_MFP_M277dw.ppd
hp-check[25687]: info: :PPD Description: HP Color LaserJet Pro MFP M277 Postscript (recommended)
hp-check[25687]: info: :Printer status: printer HP_Color_LaserJet_MFP_M277dw is idle. enabled since 2018 m. rugpjūčio 27 d. 12:18:55
hp-check[25687]: info: :Required plug-in status: Installed
hp-check[25687]: info: :Communication status: Good
hp-check[25687]: info: :
hp-check[25687]: info: :
hp-check[25687]: info: :--------------
hp-check[25687]: info: :| PERMISSION |
hp-check[25687]: info: :--------------
hp-check[25687]: info: :
hp-check[25687]: info: :
hp-check[25687]: info: :-----------
hp-check[25687]: info: :| SUMMARY |
hp-check[25687]: info: :-----------
hp-check[25687]: info: :
hp-check[25687]: info: :Missing Required Dependencies
hp-check[25687]: info: :-----------------------------
hp-check[25687]: info: :None
hp-check[25687]: info: :
hp-check[25687]: info: :Missing Optional Dependencies
hp-check[25687]: info: :-----------------------------
hp-check[25687]: info: :None


hp-check[25687]: info: :
hp-check[25687]: info: :Total Errors: 8
hp-check[25687]: info: :Total Warnings: 0
hp-check[25687]: info: :
hp-check[25687]: info: :
hp-check[25687]: info: :Done.

Is this application dependent? LibreOffice will override your HPLIP settings. Have a look in the Print>Properties>Device dialog. Similarly Okular has its own Options under Options.

95% of the time I need to print a PDF documents. There are three ways I print PDF’s:

  1. From Okular. I do set “Grayscale” option, but this does not work
  2. From Chrome, Using Chrome interface, but this prints in color
  3. From Chrome selecting “Print using system dialog…”, but that basically gives same settings as CUPS and again - prints in color even when “Print Color as Gray” option is set to ON.

Try printing via the CLI. Start by examining

lpoptions -l | grep Color

or

grep -i color /etc/cups/ppd/*

Find the option pertaining to grayscale.

Then try printing a sample image or PDF file (with the appropriate color model selected) like this

lp -o ColorModel=Gray /path/to/image.jpg

Does that produce the expected result?

output from

lpoptions -l | grep Color

is this

HPPJLColorAsGray/Print Color as Gray: *on off
HPRGBEmulation/RGB Color: DefaultSRGB PhotoSRGB Adobe VividSRGB *HPRGBEmulationNone
MediaType/Media Type: Unspecified *Plain HPEcoSMARTLite HPLaserJet90 HPColorLaserMatte105 HPPremiumChoiceMatte120 HPBrochureMatte150 HPCoverMatte200 HPMattePhoto200 HPPremiumPresentationGlossy120 HPBrochureGlossy150 HPTrifoldBrochureGlossy150 HPBrochureGlossy200 Light6074 Intermediate8595 MidWeight96110 Heavy111130 ExtraHeavy131175 HeavyGlossy111130 ExtraHeavyGlossy131175 CardGlossy176220 ColorLaserTransparency Labels Letterhead Envelope HeavyEnvelope Preprinted Prepunched Colored Bond Recycled Rough HeavyRough OpaqueFilm

I’m afraid I do not quite understand what parameter I need to pass to CLI to enforce grrayscale in my case.

This

grep -i color /etc/cups/ppd/*

gives rather long output. Would it like me to post it here?

I was hoping to see ‘Gray’, ‘Grayscale’ or similar as an option. I see you have ‘HPPJLColorAsGray/Print Color as Gray’ and that is enabled already, so perhaps you can just try printing with the lp command using

lp /path/to/image.jpg

Does that produce gray-scale printing ok?

This

grep -i color /etc/cups/ppd/*

gives rather long output. Would it like me to post it here?

You could filter it a bit more selectively with

grep -i colormodel /etc/cups/ppd/*

…but not important now.

printing from CLI

lp /patth/to/pdf

(I printed PDF, not jpg) printed in color.

I’ve also trimmed the output by running

sudo grep --color=always  -i color /etc/cups/ppd/* | cut -d "*" -f 2 | grep -iv laser

Removing translations to other languages I get

ColorDevice: True
DefaultColorSpace: RGB
cupsUIConstraints MediaTypeVsDuplex: "
OpenGroup: HPColorOptionsPanel/Color
OpenUI 
OrderDependency: 20 AnySetup 
DefaultHPPJLColorAsGray: on
HPPJLColorAsGray on/On: " "
HPPJLColorAsGray off/Off: " "
CloseUI: 
OpenUI 
HPTextNeutralGrays ProcessBlack/4-Color: "
HPGraphicsNeutralGrays ProcessBlack/4-Color: "
HPPhotoNeutralGrays ProcessBlack/4-Color: "
CloseGroup: HPColorOptionsPanel
MediaType Colored/Colored: "<</MediaType (Color)>> setpagedevice"

And

grep -i colormodel /etc/cups/ppd/*

produces no output at all

Not sure why that is occurring, given

DefaultHPPJLColorAsGray: on

which I would interpret as a ‘grayscale’ option. This behavior will be down to your printer driver in use IMHO.

And

grep -i colormodel /etc/cups/ppd/*

produces no output at all

Yes, so this is consistent with your grep of the PPD file. No such option with this PPD.

FWIW, a quick search online turns up historic reports of similar behaviour…
https://answers.launchpad.net/hplip/+question/249118
https://bugs.launchpad.net/hplip/+bug/1500972

One user found that printing a PS file did result in obtaining the desired ‘gray-scale’ output. You might want to test that for yourself. Take a color PDF file, convert it to PS with ‘pdftpps’ utility and then try printing it with the lp command.

Thank you for the links, I did see them.

Unfortunately, even converting to PS does not fix the issue - still prints in color.

A bug report is needed then. Perhaps see if any similar current bug open first…

Thanks, I had a question (not a bug) posted there earlier.

I also found similar bug posted, so linked our discussions there. Hope it will get fixed.

In case somebody stumbles upon this thread, I’ll share the (sort of) solution for myself.

Firstly, I had to reinstall HPLIP because of other issues. Not sure if it has anything to do with the solution.

I did find that HPLIP GUI interface has default printer settings. I always assumed that they are the same as CUPS/i.e. the interface actually changes CUPS settings. It turns out not to be the case. Once I’ve set HPLIP defaults to black and white - it prints everything in B&W. I haven’t tested it extensively, but it seems that I need to change HPLIP defaults to colour if I need to print something in colour. However, I hardly ever ned colour prints, so haven’t tested that too much.

Thanks for the update. :slight_smile: