Fixed a Printer in RHEL 10
My mom’s Samsung M2020 printer would not work with her RHEL 10 laptop.
Yes my mom runs RHEL 10 on her laptop, she always had a thing for IBM that I couldn’t quite explain. 😉
Troubleshooting took an evening of chatting to my mom about stuff, and I finally solved it the next morning, but here’s the summary.
The splix 2.0.1 package in RHEL 10 is a bit too old for the Samsung M2020 printer, so I had to build the splix 2.0.2 package from github. Just downloading the PPD files from the Samsung website and adding them in Gnome printers was not enough.
Every test print cups logged this.
sep 04 21:22:31 mammasdator.home.arpa cupsd[1512]: M2020: File "/usr/lib/cups/filter/rastertospl" not available: No such file or directory
sep 04 21:22:31 mammasdator.home.arpa cupsd[1512]: [Job 9] Unable to start filter "rastertospl" - No such file or directory.
sep 04 21:22:31 mammasdator.home.arpa cupsd[1512]: [Job 9] Stopping job because the scheduler could not execute a filter.
That file no longer exists and has been replaced by rastertoqpdl, which the PPD files in the splix package apparently point out, but the official Samsung PPD files do not.
Step 1: Build dependencies
sudo dnf install gcc gcc-c++ make cups-devel recode
Step 2: Build the splix package
cd /tmp
curl -LO https://github.com/OpenPrinting/splix/releases/download/2.0.2/splix-2.0.2.tar.xz
tar -xvaf splix-2.0.2.tar.xz
cd splix-2.0.2
make DISABLE_JBIG=1
make ppd DISABLE_JBIG=1
sudo make install DISABLE_JBIG=1
Step 3: Add the printer queue
lpinfo -v | grep -i samsung
sudo lpadmin -p M2020 -E -v "usb://Samsung/M2020%20Series?serial=YOUR_SERIAL" -P /usr/share/cups/model/samsung/m2020.ppd
Step 4: Test print from the CLI
lp -d M2020 /etc/hostname