-
Notifications
You must be signed in to change notification settings - Fork 28
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
Ricoh MP-C4503 PDF/PS/PXL provided ppds do not work but Gutenprint PPD works #33
Comments
I downloaded the referenced file from Openprinting into $HOME as ricoh.ppd. On Debian I executed
The filtering system appears to have operated as expected to produce out.dat. I would expect that a file sent to the queue C4503 set up with
would produce printing. A URI can be obtained from |
Thank you for the answer. I followed the instructions. The printer showed in the cups server as expected. I tried printing a test page and got "The job was reset." error type shown in printer's error log. The cupsfilter command screen output was: [tigris: ~] sudo /usr/sbin/cupsfilter -p Downloads/Ricoh-MP_C4503_PDF.ppd -m printer/foo -e /etc/nsswitch.conf >out.dat |
I have attached my out.dat as out.dat.txt. Remove .txt to use it. Assuming the printer offers an open port 9100 (check with
|
Thank you again for that. My out.dat did not print but your's did. What PPD file from openprinting did you use? |
Here is the error output I get with the netcat command using my out.dat
|
The one offered by PDF-Ricoh. Postscript-Ricoh requires foomatic-rip to be installed and I was reluctant to do that. Please give what you get for
It would be enlightening. |
I am unable to take this further, It is a possible issue with PostScript processing or within the PDD. In either case CUPS doesn't appear to be the culprit. |
Hi @malsaqer , thank you for reporting the issue! Foomatic package offers driver for your printer, so you don't have to download it from web:
Can you upload the out.data and PPD file here? If you do the following: $ cp out.data{,.txt} you can attach out.data.txt to this issue as a file. Have the printer worked with previous Fedoras? In case you didn't use the older Fedora, here is the filter output from older Fedora - The output from printer looks like postscript errors for me I've checked briefly your printer specs too - it looks AirPrint is supported - https://support.apple.com/en-us/HT201311 - you once have opened IPP port on the printer and enabled mDNS (that's why Brian asks for avahi-browse output), you are able to print from common applications like Firefox, PDF Viewer or Libreoffice without any PPDs or installation. You can verify whether the printer is seen by mDNS via the command @debiantriage shared, and IPP via ipptool. See https://docs.fedoraproject.org/en-US/quick-docs/cups-useful-tricks/#_how_to_find_out_whether_my_printer_is_capable_of_driverless_printing |
@debiantriage thank you for the help! Fedora 38 is the first one with cups-filters 2.0, which is not in Debian yet, so there might be a regression...
The PPD @malsaqer uses creates PDF, and postscript interpreter looks to be listening on port 9100 - the error message gives me ghostscript vibes... @malsaqer does your printer have some enable options for file formats it accepts? The errors netcat showed gives me feeling the printer expects postscript, but PDF is sent (correctly, the PPD tells filters to create PDF). Can you use cupsfilter command with PS PPD, get new out.data and send it via netcat and see what it returns? |
It printed but random characters (all printable though) with a couple font messages (replacing Nimbus with courier) |
OK. Using the PDF ppd (with the cupsfilter command, and replacing the "-m printer/foo" with "-m Application/pdf" through the netcat command, the printing went through smoothly with no error.
produced a clean color print. I am not sure how to enforce these options for my regular printings! |
So you didn't use the printer with Fedora 37 I reckon.
Interesting - if you create a printer this way:
does it work? If it does not, my suspicion is the cause of this is the line in PPD file which causes file format change:
your check with cupsfilter says the printer works with application/pdf, so if we change this line in PPD file, it could do the trick. You can make changes in PPD this way:
|
It seems to me that the nub of the issue is that @malsaqer wishes to make use of the device's finishing capabilities. For whatever reason foomatic-rip and Postscript-Ricoh do not appear to be co-operating with each other. However, PDF-Ricoh has the same finishing options and is known to produce suitable printed output. This PPD looks like a viable candidate to set up a print queue. Having |
This command returns nothing. I have these packages installed: avahi avahi-dnsconfd avahi-glib avahi-gobject avahi-libs avahi-tools netresolve-backends-avahi |
No. Same problem reproduced.
I do not think the problem with PPD file but with the cups filter forcing the "application/vnd.cups-postscript" as a final content type if we use "-m printer/foo" option. If I omit the "-m printer/foo" altogether, the printer works and the final content type is the default one: "application/pdf" which seems to be the culprit. I think the "printer/foo" option misbehaves and forces "application/vnd.cups-postscript" even after I made the change in the ppd file from [*cupsFilter: "application/vnd.cups-pdf 0 -"] to [*cupsFilter: "application/pdf 0 -"] |
@malsaqer does @malsaqer please upload enable debug logging for CUPS by:
reproduce the issue and attach here log file
(if log.txt is too large, delete older lines before your job started). Additionally, please upload your PPD as well - your initial report mentions three drivers and two are being discussed, so I'm confused which one is really in work :) .
Just to be sure, have you reinstalled the printer with the new PPD file? It is required for cupsd to recognize the change. |
Bonjour and dirprint are enabled (with other things like ipp). No mdns nor airprint is available.
|
The ppds I used are the ones in foomatic data base. All three did not work. If I use the PDF ppd, the error in the printer "The job was reset". If I use the "PS" ppd the error at the printer "print data error". In both cases, the file is sent to the printer and the data receiving led blinks. PXL driver had same problem. Now I tried it again and it worked (surprisingly) but without color!!! The color issue might be a different animal because even the gutenprint has also lost color printing and not sure how and why. Here is the log it includes the last failed print using the PS ppd file. |
It might be also useful to show you the error buffer when I created printouts using cupsfiter with and without the printer/foo option. The commads are: 2- ommiting the -m printer/foo (or using -m application/pdf) and printing out-ps.dat works using the netcat |
Really strange - Only web interface is advertised, but not IPP service. I recommend checking the printer's network settings and experiment - there should be _ipp._tcp in mDNS search at least, if the IPP is enabled. Is IPP port opened at least?
This should pass if IPP port is opened. If it is not, check the printer settings once more (if IPP port is not working, it would explain missing IPP service advertisement). Successful test should end with something like |
Please focus on one at the time. It is difficult to keep track the issue other way. Let's start with PDF.
Please upload the one with PDF printer. Additionally please stop and start cupsd as well - your log shows you've hit OpenPrinting/cups#604 and your systemd rate limit was low, so many lines were hidden under:
|
Is Ricoh-MP_C4503_PS.ppd really PS driver? The log shows it has pdf filter in it:
or did you upload a wrong log? Either way, the second command works because you use PDF file - if you don't define output type with -m, it takes file format of infile. |
AirPrint advice for the C4503 is given in this PDF. |
Here is the result:
|
OK. I did two cupsfilter command using the pdf driver. The first with the -m printer/foo and the second without the -m option (cupsfilter man page says it will use the default application/pdf). I forwarded the standard error output to .err.txt files and I captured the cupslog lines at the times when these two cupsfilter commands where issued. out-pdf-printerfoo.err.txt <-- netcat not working with output of this command. |
I think so. Disregard this log because the ppd its was edited by me in this one.
You are right. The infile is a pdf file. If I use a txt file instead, I get error where it worked (as shown in the above reply). I can upload the relevant info if you think it is needed. |
Thanks, Brian! @malsaqer is it everything set according to the manual? |
Ok, so please try:
The command sends a IPP request to the printer and if the response is okay, you will see
(sleep is there because it takes a moment to create PPD file in successful attempt) If everything is okay, you can use your printer with this queue. |
Looking into the logs again and applying the knowledge that changing The proof for this are the netcat responses to those two files created by cupsfilter - the PDF which is encapsulated in PJL commands (the one driver - -m printer/foo - produces) is not accepted, although the simple PDF from the other cupsfilter is printed. The driver itself shows the printer has PJL and PDF support (CMD part of the line):
@malsaqer Can you check in the printer's web ui whether there are options which could turn on/enable JCL/PJL support? @michaelrsweet do you know how can I debug and check whether the PDF with PJL commands is okay? I've checked it with PDF viewer and it looked ok... |
Under "Permissions for Printer Language to Operate File System", both PDF and PJL "File System Operation" are set to "Permit" |
|
Yes I checked every thing. For the record, the printer used to show up in network printer. It just stopped doing so and I do not recall what exactly triggered it. |
Does the printer have some settings regarding IPP version? The test complains about the printer answering with IPP 1.1 instead of 2.0 which is required for driverless printing. If it doesn't, please report this to Ricoh (maybe here? https://www.ricoh-europe.com/support/product-support/support-enquiry/ ) - because the printer is reported as supporting Airprint - https://support.apple.com/en-us/HT201311 - but does not use IPP 2.0 or later as protocol. |
Ad PDF driver - I've checked changes between outputs of older and current filters - I see there is following:
Let's try whether this is the reason why PDF driver is broken now. Download the testing rpm and reproduce the issue:
Do let me know about result - if it does not work, give me output of netcat if it produces warnings/errors. PDF.ppd is Ricoh PDF ppd, printer/foo is your printer installed in CUPS. |
I used the PPD included in the package: /usr/share/ppd/cupsfilters/Ricoh-PDF_Printer-PDF.ppd and it worked. |
@malsaqer Good to know, but please use PDF ppd from foomatic (which is the PDF Ricoh from OpenPrinting web page), which you reported as broken. |
I'm not aware of any tools for this -historically I've just looked at the raw print data and confirmed that the expected PJL commands are there... |
@malsaqer any update? If it works with PDF PPD which was used at the beginning of this issue, I would like to move to PS driver, if you have time. |
@malsaqer could you attach the files Note that the fix of OpenPrinting/libppd#24 is not applicable to the PS and PXL cases. |
Sorry for the delay but I've been occupied lately. I confirm it worked also. I used the ppd file /usr/share/foomatic/db/source/PPD/Ricoh/PDF/Ricoh-MP_C4503_PDF.ppd.gz and netcat printed the pdf OK. I wanted to see if I can print using the GUI. I added a printer using the system-config-printer. I chose the PDF driver from foomatic and it printed a test page successfully. I also chose the PXL driver and worked also but the PS driver did not print. best; |
@malsaqer thank you for confirmation! Can you get us output files for PS driver and its logs when you do cupsfilter command as Till asked above? |
@zdohnal Sure.
|
@malsaqer does printer foo exist on your machine? It should be an actual printer installed with the PS driver you use. FTR, cupsfilter produces postscript only if we omit Please upload the log and the output file here as well. Thank you in advance! |
I tried without the -e option, and netcat did not print. here are the outputs |
Just wanted to let you know that I have no access to this printer anymore. Further testings won't be possible unless our replacement be of the same model number. I thank everyone who was helping and providing support to get this printer working. |
Thanks for letting us know! I'll pass the issue to libcupsfilters for further debugging (output postscript file is generated in the library) for future tracking. @tillkamppeter do you have enough data to find out a fix or should we close this since there is no way to verify the possible fix right now? |
For me all the generated PostScript files look OK and they display correctly with evince (which uses Ghostscript). So I am not able to locate any bug. Looks like the PPD provided by Ricoh perhaps supplies some incompatible or broken PostScript code with one of the options. As @malsaqer does not have the printer any more and will not necessarily get the same model as replacement I will close this bug here, and generally, if a printer supports other formats than PostScript, recommend using one of the other formats, as printer's PostScript interpreters are often buggy. Especially we see here that the printer in question works as a PDF or PXL printer. |
We replaced the printer with ricoh MP-C3504 which works just fine using either PS or PDF providing PPD drivers! Thank you for providing help with the previous printer with a fix that made it work until replaced. |
Thanks for the update, @malsaqer ! |
Describe the bug
I have a Ricoh MP-C4503 copier and using the cups provided Gutenprint ppd file with no issue but it does not provide utilization of options like the attached finisher.
If I change the PPD file to the Ricoh provided ones located in openprinting then cups do send the job, and the printer shows a Job processing then cancelled with error like "The job was reset".
I tried by removing the printer and readd from scratch as well as just changing the driver from the working Gutenprint ppd file to the Ricoh provided file but get the same result.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The printer prints.
System Information:
The text was updated successfully, but these errors were encountered: