# Problems with my Samsung USB printer



## SoniXAnT (Jan 14, 2010)

Hi there guys,

I'm stuck with my USB printer, a Samsung SCX-4300.
I followed all of the steps reported in the handbook, besides Openprinting reports that it should work "Mostly":
http://www.openprinting.org/show_printer.cgi?recnum=Samsung-SCX-4300

however I downloaded the related ppd from the Unified Linux Drivers (scx4300.ppd) as shown in the page linked above, kldloaded ulpt and loaded lpd to start at boot and the result is:

when I attach my USB plug here is what I see from dmesg:


```
ugen4.5: <Samsung> at usbus4
ulpt0: <Samsung SCX-4300 Series, class 0/0, rev 2.00/1.00, addr 5> on usbus4
ulpt0: using bi-directional mode
```

then when I
`cat foo.txt > /dev/ulpt0`
the printer reacts like it is going to print something but the paper never exits.

I tried printing with lp and foomatic-rip...same thing.

This is my /etc/printcap:


```
lp|Samsung|SCX4300|scx4300:\
	:lp=/dev/ulpt0:\
        :af=/usr/local/etc/foomatic/ppd/scx4300.ppd:\
        :if=/usr/local/bin/foomatic-rip:\
        :sh:sd=/var/spool/output:\
        :lf=/var/log/lpd-errs:
```


Tried even with Cups + samsungspl but cups doesn't recognize my printer, when trying to add printer from web interface it gets stuck with "Looking for printers..." and never shows me an option to choose name or device for the printer to be added.

Thanks in advance!


----------



## mky (Jan 14, 2010)

Unified Linux Drivers is for Linux and will not work with FreeBSD. However there is a opensource project named SpliX (http://splix.sourceforge.net/) which support some Samung SPL printers (e.g. SCX-4200, SCX-4500). SpliX is available via FreeBSD ports (print/splix). Try to install this port and configure it for your printer. Maybe it will work.


----------



## marthyr (Feb 15, 2010)

*Same problem here!*

Hello,

I am still having the same problem, everything was working perfect with freebsd 7.0 x86

http://forums.freebsd.org/showthread.php?t=11335

I am not able to add a local printer from http://localhost:631/Admin


I am affraid that something is not working as should be.

Cups should be able to allow you to add printers, no matter with usb/serial/parallel port are you using.


----------



## marthyr (Feb 16, 2010)

*Problem Solved*

All was solved setting 0660 permision to USB related files..


All is about file permission.


```
[system=10]
add path 'unlpt*' mode 0660 group cups
add path 'ulpt*' mode 0660 group cups
add path 'lpt*' mode 0660 group cups
add path 'ugen*' mode 0660 group cups
add path 'usb/X.X.X' mode 0660 group cups
```

'usb/X.X.X' value could be obtained listing files inside /dev directory
using 'ugenX.X' -> where printer is  detected.


----------



## DutchDaemon (Feb 16, 2010)

SoniXAnT, is your problem solved?


----------



## SoniXAnT (Feb 17, 2010)

mky said:
			
		

> Unified Linux Drivers is for Linux and will not work with FreeBSD. However there is a opensource project named SpliX (http://splix.sourceforge.net/) which support some Samung SPL printers (e.g. SCX-4200, SCX-4500). SpliX is available via FreeBSD ports (print/splix). Try to install this port and configure it for your printer. Maybe it will work.



I took only the right ppd from Unified Linux Drivers and put it to foomatic (scx4300.ppd as you can see above, ppd files are platform indipendent).
Already tried with splix but no luck.


----------



## SoniXAnT (Feb 21, 2010)

marthyr said:
			
		

> All was solved setting 0660 permision to USB related files..
> 
> 
> All is about file permission.
> ...



I modified /etc/devs.rules as you said, but as I open Firefox:
http://localhost:631/admin
login as root, go to Add Printer and Local Printers is still empty.....

however I'm using

```
cups-base-1.4.2_4   Common UNIX Printing System: Server
cups-client-1.4.2_3 Common UNIX Printing System: Library cups
cups-image-1.4.2_3  Common UNIX Printing System: Library cupsimage
```
and FreeBSD 8.0-x86
maybe a driver issue I guess.....where I'm supposed to find the right drivers for FreeBSD apart from splix?


----------



## marthyr (Feb 21, 2010)

Hello

/etc/devs.rules should be edited according your usb configuration.
I noted that your printed is detected as ugen4.5: <Samsung> at usbus4

to determine which usb correspond to that ugen4.5 device.


```
cd /dev
ls -all
```

ugen4.5->"usb/X.X.X"

so edit /etc/devfs.rules


```
add path 'usb/X.X.X' mode 0660 group cups
```

With this your printer MUST BE detected.


----------



## FBSDin20Steps (Feb 24, 2010)

I also had a problem with cups not detecting my Samsung ML-1610 usb printer. I've solved it by disabling libusb in "print/cups-base" and reinstalled cups-base.


----------



## SoniXAnT (Feb 25, 2010)

marthyr said:
			
		

> ```
> cd /dev
> ls -all
> ```
> ...



Yeah!! My printer is now detected, I added the right ppd but still I'm not able to print anything.....tried Administration->print test page, a new job is added but stopped immediately. 

Here it is the output from:
[CMD=""]lpstat -t[/CMD]

```
scheduler is running
system default destination: Samsung_SCX-4300_Series
device for Samsung_SCX-4300_Series: usb://Samsung/SCX-
4300%20Series?serial=1457BFGQ601061E.&interface=1
Samsung_SCX-4300_Series accepting requests since Thu Feb 25 
21:13:41 2010
printer Samsung_SCX-4300_Series is idle.  enabled since Thu Feb 25 
21:13:41 2010
Samsung_SCX-4300_Series-5 sonic             1024   Thu Feb 25 21:13:29 
2010
```

Any hints?


----------



## marthyr (Feb 26, 2010)

Hello,

I think if you have PPD file, you should be able to print, no matter Unified driver or not. That means to me that your printer is Cups compatible, You might not be able to install automatically, but manual installation could be possible.

My printer model was compatible with foo2qpdl driver, It was mandatory to install gs and foomatic-filters.

You are not mentioning error messages from cups, or dmesg.

I was having a couple problems with gs (noX11) and foomatic-filters).

Foomatic-filters didn't compile succesfully because I was having dependency problems with gs,

I am not a cups expert but I was able to determine if gs and foomatic-filters was working,

gs:

```
gs --version
```

foomatic-filters:

```
>cd /usr/local/libexec/cups/filter
>./foomatic-rip
No printer definition (option "-P <name>") specified!
```


----------



## SoniXAnT (Mar 11, 2010)

Hey guys, I'm so sorry for my very late reply but I'm frequently out from home lately and had no time for my printing issues....
(I'm going to graduate and I'm working on my thesis with my freebsd box ^^)

However, I installed both foomatic-filters and ghostscript but with no luck...job is queued but never printed:

[cmd=""]gs --version[/cmd]

```
8.70
```
[cmd=""]ls /usr/local/libexec/cups/filter/[/cmd]

```
bannertops		pstoqpdl
commandtoescpx		rastertodymo
commandtopclx		rastertoepson
commandtops		rastertoescpx
foomatic-rip		rastertohp
gziptoany		rastertolabel
hpgltops		rastertopclx
imagetops		rastertoqpdl
imagetoraster		pdftops
texttops			pstops
```

dmesg says always the same old thing:


```
...
ugen4.3: <Samsung> at usbus4
ulpt0: <Samsung SCX-4300 Series, class 0/0, rev 2.00/1.00, addr 3>
 on usbus4
ulpt0: using bi-directional mode
```

However here is the error log from in /var/log/cups/error_log:


```
E [11/Mar/2010:20:48:05 +0100] cupsdReadClient: 13 IPP Read Error!
E [11/Mar/2010:20:48:05 +0100] Unable to execute 
/usr/local/libexec/cups/filter/rastertosamsungspl: No such file 
or directory
E [11/Mar/2010:20:48:05 +0100] [Job 10] Unable to start filter 
"rastertosamsungspl" - No such file or directory.
E [11/Mar/2010:20:48:05 +0100] [Job 10] Stopping job because the 
scheduler could not execute a filter.
```

So this is evidently a filter issue. The only rastertosamsunggspl I found is from Unified Linux Drivers, maybe trying with the linux compatibility module?


----------



## marthyr (May 13, 2010)

Hello again,

I did a mistake , you should execute

```
./foomatic-rip
```


----------



## sergiocava (Jan 30, 2016)

Hello,
I have a Samsung SCX-4600 printer. I installed cups, and also the splix package, which is usually the most appropriate for this printer. Unfortunately contained only the drivers for SCX-4200 and SCX-4500, for this SCX series. If anyone has this printer and can give me a hand, I'll be grateful.


----------



## shepper (Jan 30, 2016)

If I recall correctly rastertosamsungspl is not included with print/splix. (Freshports is down at the moment).
Here is a link to someone who posted how to get the filter working in FreeBSD with Linux emulation.

Edit:  Freshports still down but apparently there is a print/linux-f10-cups-libs that contains rastertosamsungspl.


> A great help, worked with my Samsung SCX-3405W on FreeBSD 9 amd64. There were a couple of modifications to your instructions. Firstly I had to copy the correct PPD: cp cdroot/Linux/noarch/at_opt/share/ppd/SCX-3400.ppd /usr/local/share/cups/model/samsung/ Finally, I used installed the following port to get linux cups (though I am sure your method would have worked too): portinstall linux-f10-cups-libs Now, how do I get the scanner to work?



Edit: Freshports up link altered


----------



## sergiocava (Feb 1, 2016)

I installed print/linux-f10-cups-libs and copied the ppd file of my printer to /usr/local/share/cups/model/samsung/. 
So, I set up the printer, selecting the driver on localhost: 631. 
However, when I sent a document to print, appears to me the following printer status: 
	
	



```
Idle - "File "/usr/local/libexec/cups/filter/rastertospl" not available: No such file or directory"
```


----------



## shepper (Feb 1, 2016)

I'm a little confused as the filter went from rastertosamsungspl to rastertospl

You should be able to find out which filter your ppd uses by grep'ing the ppd.
Then make sure the needed filter is in /usr/local/libexec/cups/filter.  From the link I provided above:


> Extract the Unified Linux Drivers:
> $ *tar zxvf ULD_Linux_V1.00.06.tar.gz*
> 
> Then check the filter used by the PPD file:
> ...



I see one problem with the steps in the link.  I would perform the last three commands as su/root and verify that the file ownership and permissions are the same as other filter entries.  Most filters need to be executable.


----------



## sergiocava (Feb 1, 2016)

Ok, I perform that commands again.
The printer changed the status.
After install:

```
Idle
```
So, like it was all right.
But after sending a document to print:

```
Idle - "Rendering completed"
```
And does not print ...


----------



## shepper (Feb 1, 2016)

My suspicion is that printing is dying at the filter, ie the filter exists but rastertospl does not produce functional output due to missing components.
One way to check would be to execute the filter from the command line.  From the above link



> Once copied, you can execute rastertosamsungspl from a CLI for displaying the missing Linux libs:
> 
> # */usr/local/libexec/cups/filter/rastertospl*
> /usr/local/libexec/cups/filter/rastertosamsungspl: error while loading shared libraries: libcups.so.2: cannot open shared object file: No such file or directory



It looks like the rastertospl calls rastertosamsungspl so  /usr/local/libexec/cups/filter/rastertosamsungspl needs to exist.  If you are missing shared libraries then look at how that was solved in the above link.


----------



## sergiocava (Feb 3, 2016)

I followed all rpm installation commands from above link.
However still giving the following error:

```
# /usr/local/libexec/cups/filter/rastertospl
/usr/local/libexec/cups/filter/rastertospl: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory
```


----------



## sergiocava (Feb 3, 2016)

I found and installed rpm's for libtiff and libpng.
So, I have:


```
# /usr/local/libexec/cups/filter/rastertospl
INFO: Usage: rastertospl job-id user title copies options
ERROR: Wrong number of arguments
```

The state of the printer is now:

```
stopped
"Filter failed"
```

I have installed a rpm named printer-filters-1.1-1.fc8.noarch.rpm, but the printer does not print yet.


----------



## shepper (Feb 3, 2016)

I think you are getting close; it looks like the filter is in place and there are issues with CUPS itself.
I would check the FreeBSD CUPS wiki including the section on configuration permissions.  Make sure the user is part of the cups group, restart devfs(8) and CUPS.
I would also check ownership, group, and permissions on the filters.  The group may need to be cups
There is also a section on trouble shooting that hopefully will not be needed.  If it is you should have content in the cups error log that would be worthwhile to post.


----------



## tyson (Aug 5, 2017)

Im gona do little necro here but maybe it will help for someone.
To get my printer (M2070W) working with cups and linux drivers on FreeBSD i did:
1 . Install linux-c7-cups-libs and linux-c7-dbus-libs, dont forget to install cups-filters.
2 .  I downloaded Samsung drivers, copied uld/i386/rastertospl to /usr/local/libexec/cups/filter/.
Copy your printer driver ppd to /usr/local/share/cups/model/samsung/.
Then I copied uld/i386/libscmssc.so library to /compat/linux/usr/lib/ .
Printer works very well when setup in cups.
My printer is setup to work over network, so im not sure if it can work same way with usb.


----------



## xchris (Jan 22, 2018)

tyson you are a star, this works fine on my USB connected SCX-3200!
(I also had to add the user to cups group)


----------



## tinotom (Apr 29, 2020)

Great, thank you tyson. Your trick still works like a charm!


----------



## xchris (Sep 28, 2020)

*UPDATE!! *

You don't need anymore the linux compatibility!!
Most of Samsung's are being supported by the print/splix drivers!
(CUPS printer drivers for Samsung Printer Language printers)


----------



## olli@ (Sep 28, 2020)

Just a little piece of advice in case someone is planning to buy a new printer …

My recommendation is to give up on USB and try to look for a WLAN-enabled printer. The first advantage is obvious: You can place it anywhere, not necessarily near a PC. You only need a power socket and WLAN coverage, of course. Furthermore, the printer can be used from multiple PCs (and even tablets and smartphones) without having to install special software for remote USB printer access or similar.

The second advantage is not so obvious: Most WLAN-enabled printers support the LPR protocol and work _out of the box_ with FreeBSD, without installing _anything_. Just add the printer to /etc/printcap and you’re done. Of course you can still install CUPS or APSfilter if you want to (e.g. if you need the conversion features), but you don’t have to. For example, I’ve got a HP M252dw, and I can send PDF files directly to the printer with lpr(1).

The downside is the price, though. Most cheap consumer printers don’t support WLAN.


----------



## archaios (Feb 20, 2021)

For the samsung m2070 usb printer,enable cups,install cups-filters, choose "generic" and  then "pcl laser printer".


----------

