SDB:Scanner Setup from SUSE Linux 10.0

Şuraya atla: kullan, ara


Concern

You want to set up your scanner.

Basic information is provided in the SUSE Linux 10.0 manuals.

Detailed information is available in the article SDB:Configuring_Scanners_from_SUSE_LINUX_9.2.

The following sections provide information on differences and peculiarities compared to earlier SUSE Linux versions.

Especially if you update from SUSE LINUX 9.2 to SUSE Linux 10.0, also read the changes concerning SUSE LINUX 9.3: SDB:Configuring_Scanners_from_SUSE_LINUX_9.3.

Change regarding the access permissions for USB scanners via resmgr:

In SUSE LINUX 9.2 and 9.3, resmg allows locally logged-in users to access all USB devices except for keyboards and mice; see SDB:Configuring_Scanners_from_SUSE_LINUX_9.2. As a general rule, access control with blacklist semantics (access is permitted except for explicitly prohibited cases) is more insecure than access control with whitelist semantics (access is prohibited except for explicitly permitted cases).

From SUSE Linux 10.0, the access control is implemented with whitelist semantics. Therefore, there must be a list of USB scanners for which access is explicitly permitted.

The YaST scanner configuration automatically generates this list for resmgr:

/etc/resmgr.conf.d/50-scanner.conf

The format of the entries is as follows:

add usb:vendor=0x1a2b,product=0x3c4d scanner

"1a2b" and "3c4d" stand for the USB device IDs for the vendor and product as displayed by the command

/usr/sbin/lsusb

in the form "ID 1a2b:3c4d".

The YaST scanner configuration can only automatically enter USB device IDs in /etc/resmgr.conf.d/50-scanner.conf for which a USB scanner is detected bythe command

sane-find-scanner

and if the output of the command contains the USB device IDs in the form "vendor=0x1a2b...product=0x3c4d". USB scanners detected by YaST are displayed with the command output. If there are no USB device IDs in the said form, the entry must be made manually in /etc/resmgr.conf.d/50-scanner.conf.

To permit access to connected scanners only, the YaST scanner configuration creates an entirely new /etc/resmgr.conf.d/50-scanner.conf for every cycle. Therefore, a different file name should be used for a manual configuration, e.g. /etc/resmgr.conf.d/51-scanner.conf.

If a USB scanner is not detected by YaST, the hardware detection in the YaST scanner configuration may need to be started several times (via [Other] -> [Restart detection]). Usually it will work eventually. If a USB scanner is definitely not detected by YaST, the scanner is either not supported (see list of models in YaST via [Add]) or there is a general USB problem; see SDB:Configuring_Scanners_from_SUSE_LINUX_9.2.

HP all-in-one USB devices are an exception: These are not detected by "sane-find-scanner", but they do not need any entry /etc/resmgr.conf.d/50-scanner.conf anyway, as the access takes place by way of a special service (either "hplip" or "ptal"); see SDB:Configuring_Scanners_from_SUSE_LINUX_9.3.

USB access conflicts for Epson all-in-one devices:

Epson all-in-one devices show up at the USB as one USB device with different interfaces (use "sane-find-scanner -v -v") like:

  • "interface 0" is the scanner unit (USB scanner)
  • "interface 1" is the printer unit (USB printer)
  • an optional "interface 2" is a cardreader unit (USB mass storage)

The kernel module "usblp" is loaded automatically to access the printer unit. If there is a cardreader unit, the "usb-storage" kernel module is loaded automatically to access it.

This leads to a conflict when SANE tries to access the scanner unit and the result is a "EBUSY" error (i.e. "Resource busy") which let the scanner access fail. For example when running the command "scanimage -L" there are messages in /var/log/messages like:

usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
usbfs: interface 2 claimed by usb-storage while 'scanimage' sets config #1

Scanning works when the kernel modules which claim the other interfaces are unloaded (e.g. "rmmod usblp" and "rmmod usb-storage") but then neither printing on any USB printer nor access for any USB mass storage device would work.

As a workaround the SANE software was changed to simply ignore those errors. The same workaround was applied for the Iscan software.

This way scanning and printing seems to work at least for a few times. During tests with an Epson Stylus Photo RX420 scanning worked only a few times until other errors happened like "Resource temporarily unavailable" or "I/O error". After unloading "usblp" and "usb-storage" ("rmmod usblp ; rmmod usb-storage") and re-loading them ("modprobe usblp ; modprobe usb-storage") scanning worked again for a few times.

For testing the workaround in SANE and in Iscan there are patched packages for SUSE Linux 10.0 for 32-bit Pentium-compatible (i586) and for AMD 64-bit (x86_64) computers available:

ftp://ftp.suse.com/pub/people/jsmeix/unsupported/sane/10.0/RPMS/
sane-1.0.15-20.1.i586.ignore-EBUSY-from-USB.rpm
sane-1.0.15-20.1.x86_64.ignore-EBUSY-from-USB.rpm
ftp://ftp.suse.com/pub/people/jsmeix/unsupported/iscan/10.0/RPMS/
iscan-1.15.0.2-4.1.i586.ignore-EBUSY-from-USB.rpm
iscan-free-1.15.0.2-3.i586.ignore-EBUSY-from-USB.rpm
iscan-free-1.15.0.2-3.x86_64.ignore-EBUSY-from-USB.rpm

Note that ftp.suse.com is often overloaded so that you may have to use a mirroring ftp server (but because of ftp.suse.com overload the mirroring of the new packages may have been delayed).

Read the README in the .../RPMS/ directories.

Note that the messages in /var/log/messges will still be the same because all what the patch does is that the error is simply ignored.

Nevertheless if "simply ignoring the error" helps now in most cases and if it doesn't cause severe problems (e.g. a sudden system stop because of a deadlock or crash in the kernel) we will provide the patched packages as recommended YOU update.

For feedback on the patched packages, contact the e-mail address stated below and have a look at our matching bug report:

https://bugzilla.novell.com/show_bug.cgi?id=127524

New "sane" package version for testing:

A newer version of the "sane" package for SUSE Linux 10.0 is available for testing at "ftp://ftp.suse.com/pub/people/jsmeix/unsupported/sane/10.0/RPMS/". Note the "unsupported" and read the README in the directory. For feedback, contact the e-mail address stated below.

Free "Image Scan" driver software for testing:

The "Image Scan" driver software from Epson in the "iscan" package also contains proprietary software. The resulting problems are described in SDB:Configuring_Scanners_from_SUSE_LINUX_9.3.

A modified free version for SUSE Linux 10.0 for 32-bit Pentium-compatible (i586) and for AMD 64-bit (x86_64) computers is provided for testing in the "iscan-free" package at "ftp://ftp.suse.com/pub/people/jsmeix/unsupported/iscan/10.0/RPMS/". Note the "unsupported" and read the README in the directory.

The free version only contains the "epkowa" backend. All proprietary software has been removed. Thus, we can now compile it for 64-bit systems as any other free software.

The free version does not work with scanners that need proprietary software. Currently, the following models need the proprietary software: GT-7200 / Perfection 1250, GT-7300 / Perfection 1260, GT-9400 / Perfection 3170, GT-F500 / Perfection 2480, GT-F550 / Perfection 2580, GT-F520 / Perfection 3490, GT-F570 / Perfection 3590, GT-F600 / Perfection 4180 (with and without the word "PHOTO" in the name).

The /usr/bin/iscan front-end must have been removed, as it is linked with the proprietary software and is therefore not possible to separate from the proprietary software. However, this should not cause any problems, as the epkowa driver from the free version runs as native software on all architectures, i.e. as 32-bit software on 32-bit systems and as 64-bit software on 64-bit systems. For this reason, a scanner configured with the epkowa driver from the free version can also be addressed with the normal frontends (scanimage, xscanimage, xsane, kooka) on AMD 64-bit systems.

Note that there is no supprt for iscan-free in YaST. YaST knows only about the package iscan. The packages iscan and iscan-free cannot be installed at the same time. Therefore the scanner must be set up manually for iscan-free, see SDB:Configuring_Scanners_from_SUSE_LINUX_9.2.

If you like the free version, tell Epson at "Epson Avasys (http://www.avasys.jp/english/linux_e/index.html)". Only a sufficient amount of customer feedback will make the manufacturer realize that the demand for a free Image Scan version is large enough to justify the development of a free version by the manufacturer itself.

For feedback on the SUSE package, contact the e-mail address stated below. <keyword>scanner,scan,scanning,sane,iscan,10.0,100</keyword>