I'm trying to get my Samsung SCX-3405W printer working on my Raspberry Pi Model B+, running Raspbian and CUPS, and I seem to be running into a wall with "rastertospl" or the corresponding PPD.

$ uname -a  
Linux raspi01 3.18.5+ #744 PREEMPT Fri Jan 30 18:19:07 GMT 2015 armv6l GNU/Linux  

Samsung Driver: ULD_V1.00.27.04.tar.gz

The driver includes ARM binaries, but the install script had to be modified slightly to include "armhf" as a valid ARM architecture.

I am able to add the printer using the CUPS web interface, the driver is found, and it looks great, except for when I go to print.

The job status says:
stopped "/usr/lib/cups/filter/rastertospl failed"

Now, the file rastertospl does exist, and is executable, but perhaps there's something else I'm missing.

$ /usr/lib/cups/filter/rastertospl  
INFO: Usage: rastertospl job-id user title copies options [file]  
ERROR: Wrong number of arguments  

I enabled debug logging in CUPS, and tested a print job. The following is an excerpt of where I believe is it's failing.

D [09/Feb/2015:19:58:25 -0800] [Job 15] Printing on printer with URI: usb://Samsung  /SCX-3400%20Series?serial=Z8BNB8KD5C00EQY&interface=1  
D [09/Feb/2015:19:58:25 -0800] [Job 15] libusb_get_device_list=4  
D [09/Feb/2015:19:58:25 -0800] [Job 15] STATE: +connecting-to-device  
D [09/Feb/2015:19:58:25 -0800] Discarding unused printer-state-changed event...  
D [09/Feb/2015:19:58:25 -0800] PID 2684 **(/usr/lib/cups/filter/rastertospl) stopped with status 1.**  
D [09/Feb/2015:19:58:25 -0800] PID 2681 (/usr/lib/cups/filter/gziptoany) exited with no errors.  
D [09/Feb/2015:19:58:25 -0800] [Job 15] Switching USB device configuration: 0 -> 1  
D [09/Feb/2015:19:58:25 -0800] [Job 15] PPD uses qualifier 'Gray.None.600dpi'  
D [09/Feb/2015:19:58:25 -0800] PID 2682 (/usr/lib/cups/filter/pdftopdf) exited with no errors.  
D [09/Feb/2015:19:58:25 -0800] [Job 15] **Calling FindDeviceById(Samsung_SCX-3400_Series)**  
D [09/Feb/2015:19:58:25 -0800] [Job 15] **Failed to send: org.freedesktop.ColorManager.Failed:device id 'Samsung_SCX-3400_Series' does not exists**  
D [09/Feb/2015:19:58:25 -0800] [Job 15] **Failed to get profile filename!**  
I [09/Feb/2015:19:58:25 -0800] [Job 15] **no profiles specified in PPD**  
D [09/Feb/2015:19:58:25 -0800] Discarding unused job-progress event...  
D [09/Feb/2015:19:58:25 -0800] Discarding unused printer-state-changed event...  

A couple key messages above are interesting, but I'm not sure of root cause. Perhaps something with the PPD? Anyone else have any ideas?

6 Answers 6


I realise this is an old thread, but I've beaten my head against the wall looking for a print solution for CUPS on armhf with a samsung printer. I found a solution that works, and does not need a samsung specific ppd file - if the printer is network ready.

Go to the printers web interface (type the printer IP address in web browser) and login. A settings option will appear in the menu bar. Go to Network Settings / Raw TCP/IP,LPR,IPP. Under IPP check enable, and give the printer a name. Note the printer URI.

On the CUPS admin page add a printer and choose IPP and enter the full URI from the printer web setup.

For a driver, choose Generic and Generic PCL Laser Printer You can choose whatever for the name and location etc.

In the next page, choose the correct paper type and size.

You should be able to print a test page. Note this will only give very basic print options, and will not allow scanning or any other multifunction options.

Hopefully this helps someone else.

  • 1
    This worked for me on Void Linux with a Samsung printer. (I selected Generic IPP Everywhere Printer, not Generic PCL Laser Printer.)
    – go2null
    Commented Jun 2, 2017 at 15:17
  • Worked for me on Raspbian and Samsung M2070W printer. Probably does not have all the features but I just want to print simple stuff. My printer's wifi seems to be dead so hence CUPS. Commented May 10 at 14:32
  1. Install Pidora (or another soft-float ARM Linux)
  2. Download the Samsung ULD (Unified Linux Driver) version 1.00.29 from the SULDR website (the latest one on Samsung's website doesn't have an arm directory)
  3. Untar so you get the uld directory, then edit uld/noarch/package_utils, and roughly on line 59 where it says "arm"), replace that with your architecture (Pidora is armv6hl), then replace the next line (ARCH_SUBDIR="arm") with ARCH_SUBDIR="armv4", so it matches the existing architecture directory, finally save the file
  4. Run install.sh and the install should go through
  • So would Raspian not work then?
    – Daryl
    Commented Jan 2, 2017 at 5:15
  • 1
    @Daryl No. Quoting one of the answers from below: "According to the Samsung Unified Linux Driver Repository, the drivers are not compatible with the armhf (Hard Float ABI) architecture. Raspbian (Debian Wheezy) is compiled for armhf, and no longer supports the armel (Soft Float ABI) architecture."
    – Dids
    Commented Jan 2, 2017 at 8:23
  • Can you tell me other soft-float Linux OS's? It seems Pidora doesn't run on the Pi Zero.
    – unixb0y
    Commented Mar 20, 2020 at 18:20

According to the Samsung Unified Linux Driver Repository, the drivers are not compatible with the armhf (Hard Float ABI) architecture. Raspbian (Debian Wheezy) is compiled for armhf, and no longer supports the armel (Soft Float ABI) architecture.


The only options as far as I can tell are:

  1. Wait for Samsung to release drivers compatible with armhf.
  2. Use an older version of Raspbian built on Debian Squeeze (6.0) for armel .
  3. Use an alternate distribution built for armel.

I will update answer as soon as I have tested one of the latter two options.

UPDATE: 02/11/2015
Just to close the loop on this, an alternate operating system running a Soft Float ABI allowed for CUPS to work with the Samsung Unified Linux Drivers. Bummer! I really was hoping to stick with a Debian based distribution, but I'm happy that my Raspberry Pi print/scan server is working.

# cat /etc/pidora-release  
Pidora release 2014 (Raspberry Pi Fedora Remix)  

# uname -a Linux raspi01 3.12.26-1.20140808git4ab8abb.rpfr20.armv6hl.bcm2708 #1 PREEMPT Fri Aug 8 17:13:15 EDT 2014 armv6l armv6l armv6l GNU/Linux  
  • Is this still the only way to get this to work?
    – Daryl
    Commented Jan 2, 2017 at 2:50
  • Hi Gilbert, which Raspberry Pi did you install this on? Do you know if it works on the Zero?
    – unixb0y
    Commented Mar 20, 2020 at 18:13

I managed to print with Samsungs uld-package on a raspberry!

Tips to make it work:

  • Install a dist. that is softp
  • Hack the uld install-script (package_install.sh) to support armv6
  • Copy the missing rastertospl and libcmssc.so manual
  • Wow. How did you hack the package_install.sh?
    – Bex
    Commented Mar 30, 2015 at 8:52

For those still trying to use the Samsung SCX printer series, a solution has been found at:


To allow the driver, CUPS, your Pi and the printer to communicate, you will need to run the following command:

sudo apt install printer-driver-splix

This worked for me running a Pi 4 through the standard Raspbian Buster OS after having run into the same issues as described by previous contributors to this thread.


Found a new solution for debian armhf, thanks to splix drivers and as explain in te raspi forum (https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=99474) I was able to install my ML-2165 Samsung printer on a raspi

  • 2
    We're trying a new policy with regard to informationless link-only answers here. If this post is not edited to contain information that can stand as an answer, however minimal, in 48 hours it will be converted to Community Wiki to simplify having it corrected by the community. Commented Sep 24, 2016 at 19:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.