Problems with my Samsung USB printer

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:

Code:
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:

Code:
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!
 
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.
 
Problem Solved

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


All is about file permission.

Code:
[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.
 
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. :(
 
marthyr said:
All was solved setting 0660 permision to USB related files..


All is about file permission.

Code:
[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/3.2.0' mode 0660 group cups

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
Code:
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?
 
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.

Code:
cd /dev
ls -all

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

so edit /etc/devfs.rules

Code:
add path 'usb/X.X.X' mode 0660 group cups

With this your printer MUST BE detected.
 
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.
 
marthyr said:
Code:
cd /dev
ls -all

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

so edit /etc/devfs.rules

Code:
add path 'usb/X.X.X' mode 0660 group cups

With this your printer MUST BE detected.

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]
Code:
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?
 
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:
Code:
gs --version

foomatic-filters:
Code:
>cd /usr/local/libexec/cups/filter
>./foomatic-rip
No printer definition (option "-P <name>") specified!
 
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]
Code:
8.70
[cmd=""]ls /usr/local/libexec/cups/filter/[/cmd]
Code:
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:

Code:
...
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:

Code:
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?
 
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.
 
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
 
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:
Code:
Idle - "File "/usr/local/libexec/cups/filter/rastertospl" not available: No such file or directory"
 
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:

$ grep cupsFilter uld/noarch/share/ppd/Samsung_ML-2950_Series.ppd
*cupsFilter: "application/vnd.cups-raster 0 rastertospl"

=> This PPD file use the "rastertospl" filter.


Now copy the PPD and the Samsung cups-filter to the local cups directories:
$ mkdir /usr/local/share/cups/model/samsung
$ cp uld/noarch/share/ppd/Samsung_ML-2950_Series.ppd/usr/local/share/cups/model/samsung/
$ cp uld/i386/rastertospl /usr/local/libexec/cups/filter/

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.
 
Ok, I perform that commands again.
The printer changed the status.
After install:
Code:
Idle
So, like it was all right.
But after sending a document to print:
Code:
Idle - "Rendering completed"
And does not print ...
 
Last edited by a moderator:
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.
 
I followed all rpm installation commands from above link.
However still giving the following error:
Code:
# /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
 
I found and installed rpm's for libtiff and libpng.
So, I have:

Code:
# /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:
Code:
stopped
"Filter failed"

I have installed a rpm named printer-filters-1.1-1.fc8.noarch.rpm, but the printer does not print yet.
 
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.
 
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.
 
Back
Top