Samsung Printer Scanner on Linux

Once again, I've been made to feel as just another outcast in the information age of script-kiddies and spreadsheet warriors; yet another instance of a corporation neglecting Linux users with lacking software support and drivers for their devices.  As in most other cases, the linux community provides their own workaround in this instance as well; namely, the SANE (Scanner Access Now Easy) backend and libraries for the Samsung CLX-3185 Multifunction Printer/Scanner device.  The Samsung support website claims to offer a "Universal Linux Driver", but that's just a smokescreen created by the ineffective binaries and poorly constructed installation scripts from Samsung.  Notwithstanding, the SANE backend implementation isn't perfect  either--as there are still issues with certain System setups, USB 3.0, or simply non-supported devices--but it's far better integrated into the Linux ecosystem. 

It can be very frustrating not being able to complete an important task when one realizes for the first time that a certain function of a device doesn't "just work" on demand.  I will outline my experience of overcoming this shortfall as it pertains to the Samsung CLX3185's scanner functionality, in hopes that it may save me or someone else future frustration. 

On RHEL7/CENTOS7/Fedora22, I've installed the SANE backend packages as well as the xsane GUI program to facilitate the process of scanning, viewing, editing images or documents. 

# yum install sane-backends{,-libs} xsane

Before the troubleshooting kicks off, check to see if the scanner is already recognized:
$ scanimage -L

If the scanner is listed, as in the following line, try to scan something; otherwise proceed to troubleshoot.
$ scanimage -L
device `xerox_mfp:libusb:001:003' is a Samsung Samsung CLX-3180 Series multi-function peripheral

Troubleshooting

First, we come to my first mistake: DO NOT plug in the Scanner into a USB3.0 port! Sadly, as embarrassing as it is to admit, I wasted a lot of time troubleshooting without taking this, usually, first step and trying out the older, more stable USB2 port. If that doesn't resolve the issue, go into the /etc/sane.d directory and make sure that the vendor/product id specific for your scanner is listed in the xerox_mfp.conf file. For the CLX-3185 it read like this
# grep -i CLX -A2 /etc/sane.d/xerox_mfp.conf
--
#Samsung CLX-3180 Series: Samsung CLX 3185
usb 0x04e8 0x343d

NOTE: Check the "SANE" website for the specific configuration file for other scanners. Feel free to take a look at the sane_xerox_mfb (5) manual page. In order to test it out, either start the xsane GUI program, or use the scanadf program on the commandline, which comes as part of the sane-frontends package.

Resources

Popular posts from this blog

Password Policy in RHEL 7

Centos 7 pulseaudio

Password Aging and Authentication in RHEL7