I have a Samsung ML-2510 printer, which I connected to IPFire by USB (the only way to connect it). I installed CUPS and all its dependencies, set it to “Running” under Services, see pic below:
(curiously it’s listed twice for whatever reason in this section, though I don’t think this is a problem nor that important)
Next I go through the steps provided in the official wiki to add and configure this single printer I have. Specifically, I download the needed driver from openprinting dot org. The site only has RPMs or DEBs, so I grabbed the x86 64-bit 2.0.0 (RPM for LSB 3.2)
package; there is also a RPM for LSB 3.1
package (not sure if this makes a difference, though I don’t think so since both LSB 3.2 and 3.1 are well over a decade old at this point). I then extract the contents of the RPM and found Samsung-ML-2510-splix-en.ppd.gz
, unzipped it, and uploaded that at step 8 as instructed. I finish everything up, and at the end, it says the printer has been successfully added.
But when I go to print a test page, it fails, and shows an error message saying File "/opt/OpenPrinting-SpliX/cups/lib/filter/rastertoqpdl" not available: No such file or directory
. Earlier while extracting the RPM, I saw this executable in the package contents, so I transfer it by scp
to the /opt
dir of my IPFire host. And that previous error disappears, with the printer status now being this:
However test printing still fails, with the new error of Filter failed
. See:
Looking at /var/log/cups/error_log
, here are the first few lines logged around when the job errors out, which I think are the most relevant:
E [17/Jan/2021:21:29:53 -0500] [Client 119] Unable to encrypt connection: A TLS fatal alert has been received.
E [17/Jan/2021:21:29:53 -0500] [Job 4] Unable to open raster stream - : Broken pipe
E [17/Jan/2021:21:30:01 -0500] [Job 4] Job stopped due to filter errors; please consult the /var/log/cups/error_log file for details.
D [17/Jan/2021:21:30:01 -0500] [Job 4] The following messages were recorded from 21:29:53 to 21:30:01
D [17/Jan/2021:21:30:01 -0500] [Job 4] Loading attributes...
D [17/Jan/2021:21:30:01 -0500] [Job 4] Job restarted by user.
D [17/Jan/2021:21:30:01 -0500] [Job 4] time-at-processing=1610936993
D [17/Jan/2021:21:30:01 -0500] [Job 4] 4 filters for job:
D [17/Jan/2021:21:30:01 -0500] [Job 4] bannertopdf (application/vnd.cups-pdf-banner to application/pdf, cost 32)
D [17/Jan/2021:21:30:01 -0500] [Job 4] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [17/Jan/2021:21:30:01 -0500] [Job 4] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
D [17/Jan/2021:21:30:01 -0500] [Job 4] /opt/OpenPrinting-SpliX/cups/lib/filter/rastertoqpdl (application/vnd.cups-raster to printer/printer, cost 0)
I’m not sure if what I did, like just simply copying that shared object binary to /opt
, makes sense, maybe that didn’t actually solve the original underlying problem. Or I might just be missing something else.
I’ve never worked with CUPS or IPP before, so would appreciate the help.