Scanners

Version: 

Section: 

Hardware

On this page:

Though most scanners will work out of the box, there are occasionally problems that arise. This thread contains solutions that have been worked out for such problems.

Brother

This entry addresses in particular Brother Multi-Function Printers that use the brscan3 scanner driver.  It may be applicable for devices using brscan4 and newer drivers.  The solution worked for Brother MFC-9320CW.

Issue: Users who attempted to install and configure the brscan3 driver on a system installed from an updated snapshot of MX15 (ie, not the original MX15 iso of Dec 2015) or from MX16, may find that:

a) while the installation and configuration of the driver (see instructions from Brother website ) were seemingly successful based on the output of the terminal command "brsaneconfig3 -q | grep SCANNER" (see example below):

$ brsaneconfig3 -q | grep SCANNER
      0 SCANNER             "DCP-540CN"         I:192.168.3.3
$

 b) the actual scanner program used by the user, for example gscan2pdf or simple-scan, fails to detect the scanner device.

Reason: due to some changes in the default applications that were included or how certain programs operated after the original MX15 iso was released, the  /usr/lib/sane folder was no longer found or created in the MX installation.  The brscan3 driver installs various files in the /usr/lib64 folder but while the /usr/lib/sane folder was still present, scanner programs were still able to locate the brscan3 files via symlinks between the 2 folders.

Solution: manually create the missing folder and the symlinks using the following 7 terminal commands as root or with elevated privileges via sudo:

sudo mkdir /usr/lib/sane
sudo ln -s /usr/lib64/sane/libsane-brother3.so /usr/lib/sane/libsane-brother3.so
sudo ln -s /usr/lib64/sane/libsane-brother3.so.1 /usr/lib/sane/libsane-brother3.so.1
sudo ln -s /usr/lib64/sane/libsane-brother3.so.1.0.7 /usr/lib/sane/libsane-brother3.so.1.0.7
sudo ln -s /usr/lib64/libbrscandec3.so /usr/lib/libbrscandec3.so
sudo ln -s /usr/lib64/libbrscandec3.so.1 /usr/lib/libbrscandec3.so.1
sudo ln -s /usr/lib64/libbrscandec3.so.1.0.0 /usr/lib/libbrscandec3.so.1.0.0

Use the following terminal command to check that scanner is now detected (example output is shown below):

$ scanimage -L
device `brother3:net1;dev0' is a Brother MFC-7840W MFC-7840W

Your scanner program, e.g. gscan2pdf, should now detect the scanner.

Canon

The default scanning utility gscan2pdf should pick up Canon scanners if you first click Edit > Preferences, and use the pull-down menu to change the Frontend box to read "scanimage." If a  scanner driver is needed, you may be able to find deb files on this site, depending on the age of your scanner.

Port problems with SimpleScan and Xsane

(post by user Timkb4cq) It seems that the TLP power management that is automatically enabled in MX Linux autosuspends idle USB ports (except for hdi, i.e. mouse or keyboard ports). Most USB drivers are smart enough to wake up the ports when they need to, and the scanimage program does this when fed a device name which includes a libusb port ID. Unfortunately the plustek sane-backend code doesn't do that by itself, and neither do SimpleScan or Xsane. I wouldn't expect them to as they treat scanners the same regardless of the connection type, expecting the discovered sane-backend to deal with hardware issues.

But TLP is configurable, and USB autosuspend can be turned off by device ID. The Canon LIDE30 only draws about 250ma while in standby which is insignificant for a desktop, and if that 1.25 W draw is important on your notebook you can always unplug the USB cable when you're not scanning.

Run lsusb to find your scanner's ID

$ lsusb
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 004: ID 04a9:220e Canon, Inc. CanoScan N1240U/LiDE 30
Bus 004 Device 003: ID 05e3:0745 Genesys Logic, Inc.
Bus 004 Device 002: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

You can see the scanner is 04a9:220e
Then edit, as root, /etc/default/tlp
Here's the relevant section:

# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
# Note: input devices (usbhid) are excluded automatically (see below)
#USB_BLACKLIST="1111:2222 3333:4444"

Change the last line to uncomment it, and list your scanner, so the section reads
like this:

# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
# Note: input devices (usbhid) are excluded automatically (see below)
USB_BLACKLIST="04a9:220e"

Save the file, and reboot. Now Xsane & Simplescan should both work.

v. 20180107

Language: 

English