Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.4.10] Presence of cupsUrfSupported breaks duplex printing on Canon_MG3600 #1019

Open
zdohnal opened this issue Aug 5, 2024 · 7 comments
Labels
waiting for reporter There are data requested from the reporter

Comments

@zdohnal
Copy link
Member

zdohnal commented Aug 5, 2024

Reported by @compata at #952 - duplex does not work anymore for the model, generates two sheets of paper.

PPD file
error_log

@zdohnal
Copy link
Member Author

zdohnal commented Aug 5, 2024

@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!

@zdohnal zdohnal added the waiting for reporter There are data requested from the reporter label Aug 5, 2024
@compata
Copy link

compata commented Aug 5, 2024

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

@zdohnal
Copy link
Member Author

zdohnal commented Aug 6, 2024

@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!

@compata
Copy link

compata commented Aug 6, 2024

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:/

log.txt

@zdohnal
Copy link
Member Author

zdohnal commented Aug 12, 2024

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.

@zdohnal
Copy link
Member Author

zdohnal commented Aug 12, 2024

@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!

@zdohnal
Copy link
Member Author

zdohnal commented Aug 12, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting for reporter There are data requested from the reporter
Projects
None yet
Development

No branches or pull requests

2 participants