Package: cups
Version: 2.4.7-1.2+b1
Severity: normal
X-Debbugs-Cc: none, Sanjoy Mahajan <san...@mit.edu>

When using CUPS (lp), I couldn't get duplex printing to work on the
newly arrived (used) HP Laserjet M402dn.  The documents come out single
sided even though I had (1) set the print queue's default options to
include two-sided-long-edge (via the web interface on port 631), (2) had
specified sides=two-sided-long-edge on the command line, and (3) had set
the printer's default (via the EWS) to duplex (long edge).

Meanwhile, the printer hardware works fine: My wife's Mac, also running
CUPS, prints duplex with no problem, and sending a PDF directly to the
printer using netcat gives duplex output too.

The problem seems to be the following, from the cups error_log (see
attached 1.log for the full output for that job):

D [21/May/2024:20:53:32 +0200] [Job 12731] ---- unsupported-attributes-tag ----
D [21/May/2024:20:53:32 +0200] [Job 12731] sides keyword two-sided-long-edge
D [21/May/2024:20:53:32 +0200] [Job 12731] ---- end-of-attributes-tag ----
D [21/May/2024:20:53:32 +0200] [Job 12731] Unable to do two-sided printing, 
setting sides to \'one-sided\'.

However, the printer itself knows it can do two-sided printing.  Also
from the error_log:

D [21/May/2024:20:53:32 +0200] [Job 12731] media-col-supported 1setOf keyword 
media-size,media-top-margin,media-left-margin,media-right-margin,media-bottom-margin,media-type,media-source,media-source-properties,duplex-supported

And I've attached the result of running ipptool to get the printer attributes:

$ ipptool -tv ipp://NPI4CFED8.lan:631/ipp/print get-printer-attributes.test > 
attributes.txt

It contains

        media-col-supported (1setOf keyword) = 
media-size,media-top-margin,media-left-margin,media-right-margin,media-bottom-margin,media-type,media-source,media-source-properties,duplex-supported

I've worked around the problem by setting the following default options
(from /etc/cups/lpoptions):

Default lj402 sides=DuplexNoTumble

This new setting of the "sides" keyword seems to confuse cups enough
that it doesn't bother to forcibly revert to one-sided output.  And the
printer hardware's configuration of printing duplex now takes over.

For reference ,here are the printer's lpoptions:

$ lpoptions -l
PageSize/Media Size: 100x150mm 184x260mm 195x270mm 4x6 5x8 *A4 A5 A6 B5 B6 
DoublePostcardRotated Env10 EnvC5 EnvDL EnvMonarch Executive FanFoldGermanLegal 
ISOB5 Legal Letter Oficio Postcard Statement roc16k Custom.WIDTHxHEIGHT
InputSlot/Media Source: *Auto Manual Tray1 Tray2
MediaType/Media Type: *Stationery StationeryLightweight ExtraLight Intermediate 
Midweight StationeryHeavyweight ExtraHeavy Transparency Labels 
StationeryLetterhead Envelope StationeryPreprinted StationeryPrepunched 
StationeryColored StationeryBond Recycled Rough
cupsPrintQuality/cupsPrintQuality: Draft *Normal
ColorModel/Output Mode: *Gray
Duplex/Duplex: None *DuplexNoTumble DuplexTumble
OutputBin/OutputBin: *FaceDown



-- System Information:
Debian Release: sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.7.9-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages cups depends on:
ii  cups-client            2.4.7-1.2+b1
ii  cups-common            2.4.7-1.2
ii  cups-core-drivers      2.4.7-1.2+b1
ii  cups-daemon            2.4.7-1.2+b1
ii  cups-filters           1.28.17-4
ii  cups-ppdc              2.4.7-1.2+b1
ii  cups-server-common     2.4.7-1.2
ii  debconf [debconf-2.0]  1.5.86
ii  ghostscript            10.03.1~dfsg~git20240518-1
ii  libavahi-client3       0.8-13+b2
ii  libavahi-common3       0.8-13+b2
ii  libc6                  2.38-11
ii  libcups2t64            2.4.7-1.2+b1
ii  libgcc-s1              14.1.0-1
ii  libstdc++6             14.1.0-1
ii  libusb-1.0-0           2:1.0.27-1
ii  poppler-utils          24.02.0-5
ii  procps                 2:4.0.4-4

Versions of packages cups recommends:
ii  avahi-daemon  0.8-13+b2
ii  colord        1.4.7-1+b1

Versions of packages cups suggests:
ii  cups-bsd                            2.4.7-1.2+b1
ii  foomatic-db                         20230202-1
ii  printer-driver-cups-pdf [cups-pdf]  3.0.1-15
ii  smbclient                           2:4.20.1+dfsg-1
ii  udev                                256~rc2-3

-- debconf information:
  cupsys/raw-print: true
  cupsys/backend: lpd, socket, usb, snmp, dnssd

-- 
-Sanjoy

"An error can never become true however many times you repeat it.
 The truth can never be wrong, even if no one ever hears about it."
 --Mahatma Gandhi

"Not to know is bad.  Not to wish to know is worse."  -African proverb

Attachment: 1.log
Description: cups error log for job that fails to print two sided

"/usr/share/cups/ipptool/get-printer-attributes.test":
    Get-Printer-Attributes:
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri (uri) = ipp://NPI4CFED8.lan:631/ipp/print
        requested-attributes (1setOf keyword) = all,media-col-database
    Get printer attributes using get-printer-attributes                  [PASS]
        RECEIVED: 452908 bytes in response
        status-code = successful-ok (successful-ok)
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri-supported (1setOf uri) = 
ipp://NPI4CFED8.lan:631/ipp/print,ipps://NPI4CFED8.lan:443/ipp/print
        uri-security-supported (1setOf keyword) = none,tls
        uri-authentication-supported (1setOf keyword) = 
requesting-user-name,requesting-user-name
        printer-name (nameWithoutLanguage) = NPI4CFED8
        printer-location (textWithoutLanguage) = 
        printer-more-info (uri) = 
http://NPI4CFED8.lan:631/hp/device/info_config_AirPrint.html?tab=Networking&menu=AirPrintStatus
        printer-info (textWithoutLanguage) = HP LaserJet M402dn
        printer-make-and-model (textWithoutLanguage) = HP LaserJet M402dn
        printer-state (enum) = idle
        printer-state-reasons (keyword) = none
        printer-state-message (textWithoutLanguage) = 
        printer-state-change-time (integer) = 0
        printer-state-change-date-time (dateTime) = 0001-01-01T01:01:01+0101
        ipp-versions-supported (1setOf keyword) = 1.0,1.1,2.0
        ipp-features-supported (keyword) = airprint-1.4
        operations-supported (1setOf enum) = 
Print-Job,Print-URI,Validate-Job,Create-Job,Send-Document,Send-URI,Cancel-Job,Get-Job-Attributes,Get-Jobs,Get-Printer-Attributes,Identify-Printer
        multiple-document-jobs-supported (boolean) = false
        multiple-operation-time-out (integer) = 120
        multiple-operation-time-out-action (keyword) = abort-job
        charset-configured (charset) = utf-8
        charset-supported (1setOf charset) = utf-8,us-ascii
        natural-language-configured (naturalLanguage) = en
        generated-natural-language-supported (naturalLanguage) = en
        document-format-default (mimeMediaType) = application/pdf
        document-format-supported (1setOf mimeMediaType) = 
image/urf,application/pdf,application/postscript,application/vnd.hp-PCL,application/vnd.hp-PCLXL,application/PCLm,application/octet-stream,image/jpeg
        reference-uri-schemes-supported (1setOf uriScheme) = http,https
        printer-is-accepting-jobs (boolean) = true
        queued-job-count (integer) = 0
        pdl-override-supported (keyword) = attempted
        printer-up-time (integer) = 14206
        compression-supported (keyword) = none
        color-supported (boolean) = false
        page-ranges-supported (boolean) = true
        job-creation-attributes-supported (1setOf keyword) = 
copies,finishings,sides,orientation-requested,media,print-quality,printer-resolution,output-bin,media-col,output-mode,ipp-attribute-fidelity,job-name,page-ranges,multiple-document-handling,pdf-fit-to-page,print-scaling,print-color-mode,print-content-optimize,manual-duplex-sheet-count,margins-pre-applied,pclm-source-resolution
        media-supported (1setOf keyword) = 
na_letter_8.5x11in,na_legal_8.5x14in,na_executive_7.25x10.5in,na_invoice_5.5x8.5in,na_foolscap_8.5x13in,na_oficio_8.5x13.4in,na_index-4x6_4x6in,na_index-5x8_5x8in,iso_a4_210x297mm,iso_a5_148x210mm,iso_a6_105x148mm,jis_b5_182x257mm,jis_b6_128x182mm,om_small-photo_100x150mm,prc_16k-195x270_195x270mm,prc_16k-184x260_184x260mm,roc_16k_7.75x10.75in,jpn_hagaki_100x148mm,jpn_oufuku_148x200mm,na_number-10_4.125x9.5in,na_monarch_3.875x7.5in,iso_b5_176x250mm,iso_c5_162x229mm,iso_dl_110x220mm,custom_min_3x5in,custom_max_8.5x14in
        media-size-supported (1setOf collection) = {x-dimension=21590 
y-dimension=27940},{x-dimension=21590 y-dimension=35560},{x-dimension=18415 
y-dimension=26670},{x-dimension=13970 y-dimension=21590},{x-dimension=21590 
y-dimension=33020},{x-dimension=21590 y-dimension=34036},{x-dimension=10160 
y-dimension=15240},{x-dimension=12700 y-dimension=20320},{x-dimension=21000 
y-dimension=29700},{x-dimension=14800 y-dimension=21000},{x-dimension=10500 
y-dimension=14800},{x-dimension=18200 y-dimension=25700},{x-dimension=12800 
y-dimension=18200},{x-dimension=10000 y-dimension=15000},{x-dimension=19500 
y-dimension=27000},{x-dimension=18400 y-dimension=26000},{x-dimension=19685 
y-dimension=27305},{x-dimension=10000 y-dimension=14800},{x-dimension=14800 
y-dimension=20000},{x-dimension=10477 y-dimension=24130},{x-dimension=9842 
y-dimension=19050},{x-dimension=17600 y-dimension=25000},{x-dimension=16200 
y-dimension=22900},{x-dimension=11000 
y-dimension=22000},{x-dimension=7620-21590 y-dimension=12700-35560}
        media-default (keyword) = iso_a4_210x297mm
        media-col-supported (1setOf keyword) = 
media-size,media-top-margin,media-left-margin,media-right-margin,media-bottom-margin,media-type,media-source,media-source-properties,duplex-supported
        media-col-default (collection) = {media-size={x-dimension=21000 
y-dimension=29700} media-top-margin=423 media-bottom-margin=423 
media-left-margin=423 media-right-margin=423 media-source=auto 
media-type=stationery duplex-supported=1}
        media-col-database (1setOf collection) =         
media-left-margin-supported (integer) = 423
        media-right-margin-supported (integer) = 423
        media-top-margin-supported (integer) = 423
        media-bottom-margin-supported (integer) = 423
        media-source-supported (1setOf keyword) = auto,manual,tray-1,tray-2
        printer-input-tray (1setOf octetString) = 
type=other;mediafeed=-2;mediaxfeed=-2;maxcapacity=-2;level=-2;status=0;name=auto;,type=sheetFeedManual;mediafeed=-2;mediaxfeed=-2;maxcapacity=100;level=0;status=8;name=manual;,type=sheetFeedAutoNonRemovableTray;mediafeed=-2;mediaxfeed=-2;maxcapacity=100;level=0;status=8;name=tray-1;,type=sheetFeedAutoNonRemovableTray;mediafeed=-2;mediaxfeed=-2;maxcapacity=250;level=-3;status=0;name=tray-2;
        media-type-supported (1setOf nameWithoutLanguage) = 
stationery,stationery-lightweight,extraLight,intermediate,midweight,stationery-heavyweight,extraHeavy,transparency,labels,stationery-letterhead,envelope,stationery-preprinted,stationery-prepunched,stationery-colored,stationery-bond,recycled,rough
        job-constraints-supported (collection) = 
{resolver-name=duplex-unsupported-media 
sides=two-sided-short-edge,two-sided-long-edge 
media-col={media-size={x-dimension=18415 y-dimension=26670},{x-dimension=13970 
y-dimension=21590},{x-dimension=21590 y-dimension=34036},{x-dimension=10160 
y-dimension=15240},{x-dimension=12700 y-dimension=20320},{x-dimension=14800 
y-dimension=21000},{x-dimension=10500 y-dimension=14800},{x-dimension=18200 
y-dimension=25700},{x-dimension=12800 y-dimension=18200},{x-dimension=10000 
y-dimension=15000},{x-dimension=19500 y-dimension=27000},{x-dimension=18400 
y-dimension=26000},{x-dimension=19685 y-dimension=27305},{x-dimension=10000 
y-dimension=14800},{x-dimension=14800 y-dimension=20000},{x-dimension=10477 
y-dimension=24130},{x-dimension=9842 y-dimension=19050},{x-dimension=17600 
y-dimension=25000},{x-dimension=16200 y-dimension=22900},{x-dimension=11000 
y-dimension=22000} 
media-type=stationery-heavyweight,extraHeavy,transparency,labels,envelope,rough}}
        job-resolvers-supported (collection) = 
{resolver-name=duplex-unsupported-media sides=one-sided}
        pages-per-minute (integer) = 40
        jpeg-k-octets-supported (rangeOfInteger) = 0-11719
        jpeg-x-dimension-supported (rangeOfInteger) = 0-8192
        jpeg-y-dimension-supported (rangeOfInteger) = 1-8192
        pdf-k-octets-supported (rangeOfInteger) = 0-75000
        pdf-versions-supported (1setOf keyword) = 
adobe-1.2,adobe-1.3,adobe-1.4,adobe-1.5,adobe-1.6,adobe-1.7,iso-19005-1_2005,iso-32000-1_2008
        urf-supported (1setOf keyword) = 
V1.4,CP99,W8,OB10,PQ3-4-5,DM1,IS1,MT1-2-3-5,RS600
        printer-uuid (uri) = urn:uuid:50484350-4630-3238-3037-5820b14cfed8
        marker-names (nameWithoutLanguage) = Black Cartridge HP CF226X
        marker-colors (nameWithoutLanguage) = #000000
        marker-types (keyword) = toner
        marker-low-levels (integer) = 3
        marker-high-levels (integer) = 100
        marker-levels (integer) = 94
        copies-default (integer) = 1
        multiple-document-handling-default (keyword) = single-document
        finishings-default (enum) = none
        orientation-requested-default (enum) = portrait
        print-quality-default (enum) = normal
        printer-resolution-default (resolution) = 600dpi
        sides-default (keyword) = one-sided
        output-bin-default (keyword) = face-down
        output-mode-default (keyword) = auto
        copies-supported (rangeOfInteger) = 1-999
        multiple-document-handling-supported (1setOf keyword) = 
single-document,separate-documents-uncollated-copies,separate-documents-collated-copies,single-document-new-sheet
        finishings-supported (enum) = none
        orientation-requested-supported (1setOf enum) = 
portrait,landscape,reverse-landscape,reverse-portrait,none
        print-quality-supported (enum) = normal
        printer-resolution-supported (1setOf resolution) = 600dpi,1200dpi
        sides-supported (1setOf keyword) = 
one-sided,two-sided-short-edge,two-sided-long-edge
        job-impressions-supported (rangeOfInteger) = 1-99999
        job-media-sheets-supported (rangeOfInteger) = 1-99999
        output-bin-supported (keyword) = face-down
        printer-output-tray (octetString) = 
type=unRemovableBin;maxcapacity=125;remaining=-3;status=0;name=face-down;stackingorder=firstToLast;pagedelivery=faceDown;
        output-mode-supported (1setOf keyword) = auto,auto-monochrome,monochrome
        printer-icons (1setOf uri) = 
http://NPI4CFED8.lan:631/ipp/images/printer.png,http://NPI4CFED8.lan:631/ipp/images/printer-large.png
        printer-supply-info-uri (uri) = 
http://NPI4CFED8.lan:631/hp/device/mSupplyStatus.html
        printer-device-id (textWithoutLanguage) = 
MFG:Hewlett-Packard;CMD:PJL,PML,PCLXL,URP,PCL,PDF,POSTSCRIPT;MDL:HP LaserJet 
M402dn;CLS:PRINTER;DES:Hewlett-Packard LaserJet 
M402dn;MEM:MEM=107MB;COMMENT:RES=1200x1;LEDMDIS:USB#ff#04#01;CID:HPLJPDLV1;IPP-E:FF-04-01,FF-04-01,FF-09-01,FF-09-01;MCT:PR;MCL:DL;MCV:2.2;
        printer-dns-sd-name (nameWithoutLanguage) = HP LaserJet M402dn (4CFED8)
        printer-geo-location (unknown) = unknown
        printer-kind (1setOf keyword) = document,envelope,photo
        landscape-orientation-requested-preferred (enum) = 5
        identify-actions-default (keyword) = display
        identify-actions-supported (keyword) = display
        print-scaling-default (keyword) = auto
        print-scaling-supported (1setOf keyword) = auto,auto-fit,fill,fit,none
        printer-firmware-name (nameWithoutLanguage) = 20150506
        printer-firmware-string-version (textWithoutLanguage) = 20150506
        printer-firmware-version (octetString) = 20150506
        which-jobs-supported (1setOf keyword) = completed,not-completed
        printer-organization (textWithoutLanguage) = 
        printer-organizational-unit (textWithoutLanguage) = 
        printer-get-attributes-supported (keyword) = document-format
        printer-config-change-time (integer) = 0
        printer-config-change-date-time (dateTime) = 0001-01-01T01:01:01+0101
        epcl-version-supported (keyword) = epcl1.0
        image-enhancement-supported (keyword) = object-tagging
        manual-duplex-supported (1setOf boolean) = false,true
        pclm-raster-back-side (keyword) = normal
        pclm-compression-method-preferred (keyword) = flate
        pclm-source-resolution-supported (resolution) = 600dpi
        pclm-strip-height-preferred (integer) = 64
        pclm-strip-height-supported (1setOf integer) = 16,32,64,128
        pdf-fit-to-page-default (boolean) = false
        pdf-fit-to-page-supported (1setOf boolean) = false,true
        pdf-size-constraints (integer) = 75000000
        print-color-mode-default (keyword) = auto
        print-color-mode-supported (1setOf keyword) = 
auto,auto-monochrome,monochrome
        print-content-optimize-default (keyword) = auto
        print-content-optimize-supported (1setOf keyword) = 
auto,photo,graphics,text,text-and-graphics

Reply via email to