TL;DR – emerge -va net-print/splix and use custom ppd file
Once upon a time my printer stopped working (of course when I want to print something urgently). The hardware was ok, working and not otherwise broken because connecting it to laptop did the job – I print urgent fliers.
What was weird, is that nothing was changed inside etc/cups directory. So there must be some other things that changed: /usr/libexec/cups was the natural choice. Specifically my ppd file included:
*cupsFilter: "application/vnd.cups-raster 0 rastertoqpdl"
And CUPS test page upon printing returned rastertoqpdl not available: No such file or directory. Well, this rastertoqpdl was supposed to be somewhere. Let’s look it up inside /usr/libexe/cups/filter. Nope – nothing, I’ve looked into backups half year back – nope, no such file. Ooo, let’s pick new driver maybe?
Unfortunately Samsung sold (??) it’s driver support to HP and they had a driver fresh and new for SCX-3400 family but it was not working –
Unable to open raster pipe raster stream - : Broken pipe
that’s what I got from every try to print anything. So driver was new (latest) but not functioning. It was not using rastertoqpdl filter though. Different route maybe? I downgraded cups, cups-filters, and checked with ldd proper binaries linking – nothing. But I know I had working setup with proper ppd file which contained rastertoqpdl. So where to get this file?
Ok, search the net – not much, search backup – none, older driver – same stuff. And after one day of fight (and sleep over with the problem) I stumbled upon
[I] net-print/splix
Available versions: 2.0.0_p20130826 {+jbig}
Installed versions: 2.0.0_p20130826(16:48:17 01.09.2018)(jbig)
Homepage: http://splix.sourceforge.net/
Description: A set of CUPS printer drivers for SPL (Samsung Printer Language) printers
Yup, something for the Samsung from open source? My hope is almost depleted but I will emerge this and see what’s underneath. Woooaa, it has the rastertoqpdl which my working ppd is using. Come on, it can’t be. But it was – my printer was working again 🙂
BTW. Here’s my PPD file: https://gist.github.com/ChaosEngine/65532a1bb837e5adaa067af7670ff2c2