[2.4.10] Presence of cupsUrfSupported breaks duplex printing on Canon_MG3600
Reported by @compata at https://github.com/OpenPrinting/cups/issues/952 - duplex does not work anymore for the model, generates two sheets of paper.
@compata - would you mind providing debug logs from older CUPS when duplex worked, and ipptool.attr file from the command mentioned in the link https://docs.fedoraproject.org/en-US/quick-docs/cups-debug-printing-issues/#_cups_everywhere_model ?
Thank you in advance!
ipptool.attr file attached. I have no debug log from several months ago before the problem started and no way to downgrade to an earlier Fedora AND CUPS to generate one. ipptool-attr.zip
@compata you've said in the previous ticket downgrading CUPS to packages with version 2.4.7 and reinstalling the printer fixed the issue, or did I misunderstand?
If the downgrade fixed the issue, then once you downgrade and reinstall the printer, enable debug log level debug2, print duplex, gather the logs and attach them here.
Thank you in advance!
You did not misunderstand me but I misunderstood you.
# lpstat -l -e
Canon_MG3600_series permanent ipp://localhost/printers/Canon_MG3600_series ipps://Canon%20MG3600%20series._ipps._tcp.local/
Cups-PDF permanent ipp://localhost/printers/Cups-PDF cups-pdf:/
Ok, so from get-printer-attributes request I can see the PPD keyword is generated correctly:
ATTR keyword urf-supported "V1.4","CP1","PQ4-5","RS600","SRGB24","W8","OB9","OFU0","DM3","IS1"
->
*cupsUrfSupported: "V1.4,CP1,PQ4-5,RS600,SRGB24,W8,OB9,OFU0,DM3,IS1"
however there is a difference in options passed into GS:
Old, working:
cfFilterGhostscript: Ghostscript command line: gs -dQUIET -dSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dUsePDFX3Profile -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=appleraster -sOutputType=automatic -dDuplex -r600x600 -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=19 -dcupsBorderlessScalingFactor=0.0000 -dcupsInteger1=-1 -dcupsInteger2=-1 -scupsRenderingIntent=auto -scupsPageSizeName=Letter -scupsBackSideOrientation=Rotated -dcupsManualCopies -I/usr/share/cups/fonts -sOutputICCProfile=srgb.icc -c -f -_
New, broken:
cfFilterGhostscript: Ghostscript command line: gs -dQUIET -dSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dUsePDFX3Profile -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=appleraster -sMediaType=Stationery -dDuplex -r600x600 -dMediaPosition=1 -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=19 -scupsRenderingIntent=auto -scupsPageSizeName=Letter -scupsBackSideOrientation=Rotated -dcupsManualCopies -I/usr/share/cups/fonts -sOutputICCProfile=srgb.icc -c -f -_
The old has -sOutputType=automatic and the new one -sMediaType=Stationery and -dMediaPosition=1. Those options are generated in libcupsfilters/libppd, so there is an issue down in them.
Looking into them further...
EDIT:
Ouch, forgot -dcupsBorderlessScalingFactor=0.0000 -dcupsInteger1=-1 -dcupsInteger2=-1 in the old options.
@compata looks like the "good" logs don't contain any duplex related options:
[Job 233] argv[5]="finishings=3 number-up=1 print-color-mode=color job-uuid=urn:uuid:4337e566-7f3a-39b3-61c6-6e0de9e552b7 job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1722924636 time-at-processing=1722924636 document-name-supplied=testpage2.pdf ColorModel=RGB cupsPrintQuality=Normal"
There is no IPP attribute "sides" nor PPD option "Duplex" among options - have you submitted a duplex job with old CUPS?
If you don't, please reupload the debug logs - I need the same set of options for printing to debug what have changed.
Thank you in advance!
@compata can you try installing these testing rpms (libcupsfilters should suffice) - https://koji.fedoraproject.org/koji/taskinfo?taskID=121847527 and trying to print duplex again?
It implements setting print-content-optimize which is usually created by driverless PPD generator, but not by IPP Everywhere driver generator. Previously, since there was no cupsUrfSupported in PPD file, raster headers were created on-the-fly when Ghostscript was about to be called. However, since the keyword is now in the file, raster header is created from PPD, and two options are missing now (OutputType and cupsBorderlessScalingFactor).
Let's try setting OutputType for now and see whether it helps.
Unfortunately no response since August, closing it for now.