Install Samsung SCX-4300 manually without the installer of Unified Driver

Originally tested on openSUSE 11.4 x86_64

UPDATE 2019-01: openSUSE Leap 15.0

UPDATE 2022-01: openSUSE Leap 15.2 // Support for Samsung printers by HP

Original: Today I spent the half day to set up my printer/scanner combo Samsung SCX-4300 on my Desktop PC which is running openSUSE 11.4 currently. I guess half of the trouble is on behalf of the manufacturer and the the rest is caused by the difference between 64bit Linux distributions.

Samsung provides drivers for Linux but they are not officially supported or advertised (thanks anyway). In gerneral they are working although they will install their (for Gnome users) nasty applications. But they are not distribution specific. The package Samsung Unified Driver (release date 2011/01/19 by the time of writing) contains a install.sh script for all distributions. No doubt that this can't work in any case. I analyzed it to get the directions.

Update: Find Version 4.00.39 here (unofficial)! //

Update 2022: New version: 4.01.17 ^^ // HP provide its binary driver here.

This article describes How to install Samsung SCX-4300 on openSUSE 11.4 x86_64 manually. Be aware that there's no uninstall mechanism, naturally. Also in the sense of open source there isn't. Files used are provided by manufacturer precompiled! I can describe how to do it but I'm not allowed to make a package for you.

Please leave a comment if it worked for you. I may write my own install script then. Especially I'm interested in your distribution and whether its 32 oder 64bits.

1) First make sure that the device is recognized properly (in my case it was connected to USB 3.0 at first which made trouble):

linux-xyz:~ # lsusb | grep Samsung
Bus 001 Device 006: ID 04e8:342e Samsung Electronics Co., Ltd

2) Download Samsung Unified Driver (UPDATE 4.0.0.39) and unpack it (as unprivileged user):

cd ~
wget http://bit.ly/qMSqsn
tar xf UnifiedLinuxDriver.tar.gz
cd cdroot

Inside "cdroot" you can see the directory "Linux" which contains the install.sh. Don't use it if you want to follow my lead. If you have installed the Unified Driver before uninstall it using uninstall.sh! Also you can see that the files are divided between i386, x86_64 and noarch. This will help you to adjust the following steps to your needs. UPDATE: I installed the unofficial 4.0.0.39 which works, but you have to live with the qt-UI!

Get root:

su

3) Install the scanner

a) Make sure the necessary sane packages are installed:

rpm -q sane-backends sane-backends-autoconfig
sane-backends-1.0.22-1.3.3.x86_64
sane-backends-autoconfig-1.0.22-1.5.1.x86_64

If they are not you have to install them now.

zypper in sane-backends sane-backends-autoconfig

We need the autoconf mechanism which depends on the backends. Note: The backends bring a driver for SCX-4300 as well but it doesn't work (at least in my case). Make sure that xerox_mfp is disabled! Look into /etc/sane.d/dll.conf and comment it out (put a # at the beginning of the line).

b) Install and activate Samsung's smfp driver: (the following assumes that you're inside the unpacked directory)

Copy conf file of the driver

cp ./Linux/noarch/at_root/etc/sane.d/smfp.conf /etc/sane.d/

Now copy the sane driver and create symbolic links, othwise sane won't find the library:

cp ./Linux/x86_64/at_root/usr/lib64/sane/libsane-smfp.so.1.0.1 /usr/lib64/sane/
ln -s /usr/lib64/sane/libsane-smfp.so.1.0.1 /usr/lib64/sane/libsane-smfp.so.1
ln -s /usr/lib64/sane/libsane-smfp.so.1.0.1 /usr/lib64/sane/libsane-smfp.so

Finally you need to install the library to connect to the device:

cp ./Linux/x86_64/at_root/usr/lib64/libmfp.so.1.0.1 /usr/lib64/
ln -s /usr/lib64/libmfp.so.1.0.1 /usr/lib64/libmfp.so.1
ln -s /usr/lib64/libmfp.so.1.0.1 /usr/lib64/libmfp.so

Finally activate the driver by adding the line "smfp" to the beginning of /etc/sane.d/dll.conf.

UPDATE: You have to make the Hardware known to udev, if the installation script doesn't do it:

Create /etc/udev/rules.d/54-smfp_samsung.rules and replace 342e (from lsusb: ... ID 04e8:342e ...)

 

 

ACTION!="add", GOTO="smfp_label_end"

# Check device type
ENV{DEVTYPE}=="usb_device", GOTO="smfp_create_usb_dev"

# Check SUBSYSTEM (should be either "usb" or "usb_device")
SUBSYSTEM=="usb", GOTO="smfp_create_usb_dev"
SUBSYSTEM=="usb_device", GOTO="smfp_create_usb_dev"

GOTO="smfp_label_end"

LABEL="smfp_create_usb_dev"

# Check Vendor ID
ATTR{idVendor}!="04e8", GOTO="smfp_label_end"

ATTRS{idProduct}=="342e", ENV{libsane_matched}="yes"

ENV{libsane_matched}=="yes", OWNER="root", MODE="664", GROUP="lp"

LABEL="smfp_label_end"

Now you can try the scanner (use xsane for example).

4) Install the printer:

If you use the Unified Driver you can access the printer at the USB-Port using mfp:/dev/mfp4. We will use the native usb which comes with cups instead.

a) Copy the driver files to where cups will look for them:

cp ./Linux/x86_64/at_root/usr/lib64/cups/backend/mfp /usr/lib64/cups/backend/
cp ./Linux/x86_64/at_root/usr/lib64/cups/filter/* /usr/lib64/cups/filter/

Note the lib64 part of the path. Because those files are binary this would be the right location. But (for some reason) cups will search the filter file at the 32bit location. So you have to copy them (the 64bit binaries!) to the 32bit path:

cp /usr/lib64/cups/filter/* /usr/lib/cups/filter/

Beside the filters and the backend cups need a description file for postscript, too. You have to pack it yourself:

cat ./Linux/noarch/at_opt/share/ppd/scx4300.ppd | gzip -9 > scx4300.ppd.gz

Now you can copy the new file:

cp scx4300.ppd.gz /usr/share/cups/model/samsung/

Finally you can delete the created file

rm scx4300.ppd.gz

b) Because you haven't installed Samsung's UI you have to add the printer now using cups (which was easier then using YaST, I think). Go to your browser and open http://localhost:631/. If you choose Administration and "add printer" you will find "Samsung SCX-4300 Series (Samsung SCX-4300 Series)" in the results list. Select A4 for paper format. This will connect the new printer via USB usb://Samsung/SCX-4300%20Series instead of mfp:/dev/mfp4.

Print a test page.

5) Troubleshooting

  • I saw a comment on the net that the drivers need usbfs mounted. I doublechecked it and it doesn't seem so. If you run into trouble try:
    mount /proc/bus/usb
  • Don't use YaST afterwards it may destroy your settings.

 

 

 

Geben Sie einen Kommentar ab

Kommentare

  • On Fedora 19, I used the install.sh current latest driver package from Samsung, and the printer worked fine automatically, requiring no further settings. As for the scanner, check the name of conf (mine was stmp-samsung.conf) in /etc/sane.d, and add that line to dll.conf to work with xsane. Anyway, this article was pretty useful to figure out, how the whole thing goes...:)

    Erstellt von János Szili, 12/12/2013 6:48pm (vor 10 Jahre)

  • On Fedora 19, I used the install.sh current latest driver package from Samsung, and the printer worked fine automatically, requiring no further settings. As for the scanner, check the name of conf (mine was stmp-samsung.conf) in /etc/sane.d, and add that line to dll.conf to work with xsane. Anyway, this article was pretty useful to figure out, how the whole thing goes...:)

    Erstellt von János Szili, 12/12/2013 6:47pm (vor 10 Jahre)

  • I tried to install SCX- 4300 in Fedora 16 using Unified Driver and "No doubt this can't work in (my) any case". After, I followed his guide and all work. I upgrade to F17 and the scanner did not work. (Printer ok). Unified Driver 3.x. does not support F17. I appreciate any help. This is the only scanner in the school. We don't have MS-Windows.

    Erstellt von Felipe Rodriguez, 23/09/2012 7:17am (vor 12 Jahre)

  • Es geht super auf Fedora 16. Danke
    Funciona muy bien en Fedora 16 Gracias

    Erstellt von Felipe Rodríguez, 18/09/2012 7:05am (vor 12 Jahre)

  • Dank dieser Anleitung hab ich den Scanner an meinem Suse64 zum laufen gekriegt - super! Der "mount /proc/bus/usb" war auch bei mir noch notwendig.

    Erstellt von Marcel Schön, 12/10/2011 7:27pm (vor 12 Jahre)

RSS Feed für die Kommentare auf dieser Seite | RSS feed für alle Kommentare