Bug 681146

Summary: udev rules for SCSI-scanners do no longer match. Users cannot scan, only root can do that.
Product: [openSUSE] openSUSE 12.1 Reporter: Dieter Jurzitza <dieter.jurzitza>
Component: OtherAssignee: Johannes Meixner <jsmeix>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P3 - Medium CC: axel.braun, jsmeix, terjejhanssen
Version: Factory   
Target Milestone: ---   
Hardware: All   
OS: openSUSE 11.4   
Whiteboard: .
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Deadline: 2011-04-27   
Attachments: This is the output of udevadm if ATTR rather than ATTRS is used.
Well, the same as before but with ATTRS rather than ATTR
Output of getfacl after fixing ...
patch against 55-libsane.rules.original as distributed with openSUSE 11.4
patch against 55-libsane.rules.original as recently provided
Patch against new version of libsane
Correct the package-build for SCSI-scanners of all kind
Patch to add support for EPSON 1640 SCSI-scanner
xsane error messages
Image! Scan for Linux (iscan) lacks icon on the program menues
Patch for epson.desc
Patch against sane-backends.spec from the update repository (11.4)

Description Dieter Jurzitza 2011-03-21 05:24:39 UTC
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:2.0b12) Gecko/20110222 Firefox/4.0b12

After installation of openSUSE I cannot scan any more as user. This is obviously due to a permission issue.
When runnding yast configuration dialog, the scanner is detected flawlessly and configured (mustek), the device is found (/dev/sg3).
However, the permissions are not set in such away that users may scan - only root can do. Manually adjusting the device permissions fixes the issue - chmod 0666 /dev/sg3 - but this is not how it should be.

Reproducible: Always

Steps to Reproduce:
1. Install the scanner and configure it
2.
3.
Actual Results:  
No scanning as user

Expected Results:  
Scanning as user
Comment 1 Johannes Meixner 2011-03-22 10:07:36 UTC
What do the following comands output (run them as root)
  lsscsi -g
and
  sane-find-scanner
and
  scanimage -L

SCSI scanner permissions are set via udev via
/etc/udev/rules.d/55-libsane.rules which reads:
-----------------------------------------------------------------------
# The SCSI device support is very basic and includes only
# scanners that mark themselves as type "scanner" or
# SCSI-scanners from HP and other vendors that are entitled "processor"
# but are treated accordingly.
...
LABEL="libsane_scsi_rules_begin"
...
LABEL="libsane_scsi_rules_end"
-----------------------------------------------------------------------

FYI:
See
http://en.opensuse.org/SDB:Configuring_Scanners
"USB scanner access permissions via udev"
how you could get permission issues out of sight.
A "Local Host Configuration" for the "saned" works
also for SCSI scanners.
Comment 2 Johannes Meixner 2011-03-22 10:10:42 UTC
What is the output of
  ls -l /dev/sg3
and
  getfacl /dev/sg3
(you may have to replace '/dev/sg3' with the right
generuic SCSI device file of your scanner).
Comment 3 Dieter Jurzitza 2011-03-22 21:51:55 UTC
Well, /dev/sg3 was right. Without explicitly setting permissions I get after boot:

fred@djunix:~/Dokumente> ls -l /dev/sg3
crw------- 1 root root 21, 3 22. Mär 22:47 /dev/sg3

fred@djunix:~/Dokumente> getfacl /dev/sg3
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/sg3
# owner: root
# group: root
user::rw-
group::---
other::---

What clearly depicts what I stated: only root is allowed to scan, no one else.

By the way, I did an upgrade-installation from openSUSE 11.3 - there everything worked alright.


Thank you for looking into this,
take care



Dieter Jurzitza
Comment 4 Johannes Meixner 2011-03-23 10:00:10 UTC
See comment #1:
What do the following comands output (run them as root)
  lsscsi -g
and
  lsscsi -c -g
and
  sane-find-scanner
and
  scanimage -L

I need this output to check if a udev rule in
/etc/udev/rules.d/55-libsane.rules
matches to your particular scanner model.
Comment 5 Dieter Jurzitza 2011-03-23 19:51:00 UTC
With pleasure:

lsscsi -g
djunix:/var/spool # lsscsi -g
[0:0:9:0]    tape    HP       Ultrium 1-SCSI   N26D  /dev/st0   /dev/sg0
[0:0:15:0]   disk    FUJITSU  MAW3300NP        0104  /dev/sda   /dev/sg1
[1:0:3:0]    cd/dvd  PLEXTOR  CD-ROM PX-40TS   1.13  /dev/sr0   /dev/sg2
[2:0:6:0]    scanner SCANNER                   2.02  -         /dev/sg3
[3:0:0:0]    cd/dvd  ATAPI    DVD DUAL 8X4X12  B3HC  /dev/sr1   /dev/sg4

lsscsi -c -g
djunix:/var/spool # lsscsi -c -g
Attached devices: 
Host: scsi0 Channel: 00 Target: 09 Lun: 00
  Vendor: HP       Model: Ultrium 1-SCSI   Rev: N26D
  Type:   Sequential-Access                ANSI SCSI revision: 03
/dev/sg0
Host: scsi0 Channel: 00 Target: 15 Lun: 00
  Vendor: FUJITSU  Model: MAW3300NP        Rev: 0104
  Type:   Direct-Access                    ANSI SCSI revision: 03
/dev/sg1
Host: scsi1 Channel: 00 Target: 03 Lun: 00
  Vendor: PLEXTOR  Model: CD-ROM PX-40TS   Rev: 1.13
  Type:   CD-ROM                           ANSI SCSI revision: 02
/dev/sg2
Host: scsi2 Channel: 00 Target: 06 Lun: 00
  Vendor: SCANNER  Model:                  Rev: 2.02
  Type:   Scanner                          ANSI SCSI revision: 01
/dev/sg3
Host: scsi3 Channel: 00 Target: 00 Lun: 00
  Vendor: ATAPI    Model: DVD DUAL 8X4X12  Rev: B3HC
  Type:   CD-ROM                           ANSI SCSI revision: 05
/dev/sg4

sane-find-scanner
djunix:/var/spool # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

found SCSI scanner "SCANNER  2.02" at /dev/sg3
  # Your SCSI scanner was detected. It may or may not be supported by SANE. Try
  # scanimage -L and read the backend's manpage.

  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

scanimage -L
djunix:/var/spool # scanimage -L
device `mustek:/dev/sg3' is a Mustek ScanExpress 12000SP flatbed scanner

lsscsi -L
[2:0:6:0]    scanner SCANNER                   2.02  -       
  state=running queue_depth=2 scsi_level=2 type=6 device_blocked=0 timeout=0

The device is of type "6". So it ought to be detected by the udev-rule in /etc/udev/rules.d/55-libsane.rules:

LABEL="libsane_scsi_rules_begin"
# Generic: SCSI device type 6 indicates a scanner
KERNEL=="sg[0-9]*", ATTR{type}=="6", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"
# Some scanners advertise themselves as SCSI device type 3

_but_ if it was detected, it ought to be configured 
crw-rw-r-- 1 root.lp 0664 21, 3 22. Mär 22:47 /dev/sg3

or something similar

what is not the case. AFAIR there used to be quite complicated rules that stem from poicycit that enabled scanning for users and the udev-rules had been ignored usually. But I do not know about the state and usage of policy-kit any more.

Thank you for looking into this,
take care




Dieter Jurzitza
Comment 6 Johannes Meixner 2011-03-24 12:07:24 UTC
You are right that the above udev-rule should match to your device
and set ENV{libsane_matched}="yes" which is then evaluated by
/lib/udev/rules.d/70-acl.rules
----------------------------------------------------------------------------
# SCSI and USB scanners
ENV{libsane_matched}=="yes", TAG+="udev-acl"
...
# apply ACL for all locally logged in users
LABEL="acl_apply", TAG=="udev-acl", TEST=="/var/run/ConsoleKit/database", \
  RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}"
----------------------------------------------------------------------------

For my USB scanners this works (i.e. it applies an ACL when I am
locally logged in) but I have currently no SCSI scanner to test it.

How do you log in?
Via graphical log in (i.e. via XDM/KDM) directly at the computer or
via text console directly at the computer or
from remote?

As far as I know it applies an ACL only when logged in
directly at the computer via graphical log in.
Comment 7 Johannes Meixner 2011-03-24 13:13:04 UTC
*** Bug 682014 has been marked as a duplicate of this bug. ***
Comment 8 Johannes Meixner 2011-03-24 13:18:51 UTC
Could you test if it works when you replace in
/etc/udev/rules.d/55-libsane.rules
the
  ATTR{type}=="6"
with
  ATTRS{type}=="6"
and then reboot the system.
Comment 9 Axel Braun 2011-03-24 18:26:24 UTC
For me this did not fix it.
Comment 10 Dieter Jurzitza 2011-03-24 20:44:31 UTC
Created attachment 421268 [details]
This is the output of udevadm if ATTR rather than ATTRS is used.
Comment 11 Dieter Jurzitza 2011-03-24 20:45:10 UTC
Created attachment 421269 [details]
Well, the same as before but with ATTRS rather than ATTR
Comment 12 Dieter Jurzitza 2011-03-24 20:45:46 UTC
Created attachment 421270 [details]
Output of getfacl after fixing ...
Comment 13 Dieter Jurzitza 2011-03-24 20:46:39 UTC
Created attachment 421272 [details]
patch against 55-libsane.rules.original as distributed with openSUSE 11.4
Comment 14 Dieter Jurzitza 2011-03-24 20:49:54 UTC
Well folks, the suggestion of Johannes did the trick for me!

@Axel: probably you can play with udevadm to find out what is going on:

udevadm test /sys/class/scsi_generic/sg3

(replace sg3 by the appropriate device of your system!)

See the files I attached for results.

@Johannes: I guess you have to issue a fix for sane-backends, because the current situation is a total showstopper for scsi-scanners (though, obviously, few people use it ...) And, big fat thank you for your help!

Thank you for looking into this,
take care



Dieter Jurzitza
Comment 15 Dieter Jurzitza 2011-03-25 05:39:13 UTC
Hi Axel,
I looked into #682014. Could you check whether your scanner promotes itself as "scanner" or as "processor" (specifically HP-devices do, but EPSON-devices, too). In this case you do not have to change the udev-rule as depicted above, but all those (or the specific one of your scanner) below this.

Please take a look into the patch against 55-libsane.rules below, there you'll see what I mean. And, please provide the output of

lsscsi -L
[2:0:6:0]    scanner SCANNER                   2.02  -       
  state=running queue_depth=2 scsi_level=2 type=6 device_blocked=0 timeout=0

(example of mine)

If "type" of your device is "3" rather than "6" your device is promoting itself as processor and my idea ought to work. All ATTR(type) sequences in the scsi-section have to be changed from ATTR(type) into ATTRS(type)

Please give a feedback on this!

Hope this helps



Dieter Jurzitza
Comment 16 Johannes Meixner 2011-03-25 09:07:27 UTC
Very many thanks for your valuable information!

It is not caused by SANE upstream.
It is caused by our selfmade mess :-(

SANE upstream uses "ATTRS" but I change it to "ATTR"
because of bug#436085

But now via this bug I learned (I am not at all a udev expert)
that only for USB scanners "ATTR" is sufficient (and faster)
but in contrast for SCSI scanners "ATTRS" is mandatory.


I will fix it and then trigger that we could provide
an official update for our sane-backends package.
Comment 17 Johannes Meixner 2011-03-25 12:17:59 UTC
Fixed sane-backends RPMs are now available for download from
http://download.opensuse.org/repositories/graphics/
for openSUSE 11.2, 11.3, 11.4 and Factory
for 32-bit i586 and 64-bit x86_64 architecture.

For example for openSUSE 11.4 for i586 architecture install
  sane-backends-1.0.22-47.1.i586.rpm
and optionally
  sane-backends-autoconfig-1.0.22-47.1.i586.rpm
from
http://download.opensuse.org/repositories/graphics/openSUSE_11.4/i586/

Those packages from the "graphics" project may now require
something like "libjpeg.so.62(LIBJPEG_6.2)" which is not provided
by the default libjpeg62 packages in openSUSE 11.4
but it is provided by the libjpeg62 packages in the "graphics"
project so that you may have to install additionally libjpeg62
packages from the "graphics" project to fulfill the requirements
of sane-backends from the "graphics" project.

Do not use "Factory" unless you know exactly what you do.
Use the matching packages for your particular system.

The packages are
 * only for testing
 * without any guarantee or warranty
 * without any support 

As an extreme example, this means that if your complete computer
center crashes because of these packages, it is only your problem.
On the other hand this does not mean that those packages are known
to be terrible broken but they are not thoroughly tested so that
any unexpected issue can happen.


Dieter Jurzitza,
I would appreciate it very much if you agree to test
whether or not the fixed sane-backends RPMs from
the "graphics" project work for you.
It works for me on my particular openSUSE 11.4 workstation
with my particular USB scanners but I like to have feedback
from a user with a real SCSI scanner before I submit it
as official update for openSUSE 11.4.
Very many thanks in advance!
Comment 18 Dieter Jurzitza 2011-03-26 13:29:29 UTC
Hi Johannes,
I told you I would do further testing :-). There you go:

For those devices announcing themselves as "processor" it is not sufficient to change one ATTR - attribute but you need to change them all. I tested this with my second HP-Scanner.

So, please find a patch against your latest release of sane-backends to fix this behaviour, too.

Please re-patch!

djunix:/etc/udev/rules.d # scanimage -L
device `hp:/dev/sg3' is a Hewlett-Packard C7670A flatbed scanner

djunix:/etc/udev/rules.d # lscsci -L
[2:0:6:0]    process HP       C7670A           3925  -       
  device_blocked=0
  iocounterbits=32
  iodone_cnt=0x424
  ioerr_cnt=0x1
  iorequest_cnt=0x424
  queue_depth=2
  queue_type=none
  scsi_level=3
  state=running
  timeout=0
  type=3

djunix:/etc/udev/rules.d # lsscsi -g
[0:0:9:0]    tape    HP       Ultrium 1-SCSI   N26D  /dev/st0   /dev/sg0
[0:0:15:0]   disk    FUJITSU  MAW3300NP        0104  /dev/sda   /dev/sg1
[1:0:3:0]    cd/dvd  PLEXTOR  CD-ROM PX-40TS   1.13  /dev/sr0   /dev/sg2
[2:0:6:0]    process HP       C7670A           3925  -         /dev/sg3
[3:0:0:0]    cd/dvd  ATAPI    DVD DUAL 8X4X12  B3HC  /dev/sr1   /dev/sg4

djunix:/etc/udev/rules.d # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

found SCSI processor "HP C7670A 3925" at /dev/sg3
  # Your SCSI scanner was detected. It may or may not be supported by SANE. Try
  # scanimage -L and read the backend's manpage.

  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

djunix:/etc/udev/rules.d # getfacl /dev/sg3
getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: dev/sg3
# owner: root
# group: lp
user::rw-
user:fred:rw-
group::rw-
mask::rw-
other::r--

djunix:/etc/udev/rules.d # la /dev/sg3
crw-rw-r--+ 1 root lp 21, 3 26. Mär 14:16 /dev/sg3


All those data after adapting 55-libsane.rules.


Take care




Dieter
Comment 19 Dieter Jurzitza 2011-03-26 13:30:22 UTC
Created attachment 421546 [details]
patch against 55-libsane.rules.original as recently provided
Comment 20 Dieter Jurzitza 2011-03-26 14:11:03 UTC
Created attachment 421547 [details]
Patch  against new version of libsane

This patch encorporates the required changes in order to set the permissions for scanners promoting themselves as processor accordingly.
All "ATTR" - entries within the scsi-section have to be changed into "ATTRS" entries.
Comment 21 Dieter Jurzitza 2011-03-26 14:11:56 UTC
Sorry for the noise, just detected that I added the new patch twice ...
Comment 22 Axel Braun 2011-03-26 20:58:49 UTC
Results for me:
axel@northpole:~> scanimage -L
device `epson:/dev/sg0' is a Epson GT-7000 flatbed scanner

axel@northpole:~> lsscsi -L
[0:0:5:0]    process EPSON    SCANNER GT-7000  1.14  -       
  device_blocked=0
  iocounterbits=32
  iodone_cnt=0x36
  ioerr_cnt=0x2
  iorequest_cnt=0x36
  queue_depth=1
  queue_type=none
  scsi_level=3
  state=running
  timeout=0
  type=3

..and the patch from comment #20 works for me.
Thanks!
Comment 23 Dieter Jurzitza 2011-03-27 07:33:21 UTC
Hi Johannes,
please see the specfile  I attached. Replacing yours by this one will depict a working solution without further issues (hopefully ...)

I removed your sed addition and changed the original one.

Take it or leave it :-))

Take care



Dieter
Comment 24 Dieter Jurzitza 2011-03-27 07:34:42 UTC
Created attachment 421576 [details]
Correct the package-build for SCSI-scanners of all kind

This is a replacement for the original spec-file that fixes the udev-permission issue during build process.
Comment 25 Johannes Meixner 2011-03-29 14:34:24 UTC
Very many thanks for your testing!

Fixed sane-backends RPMs are now available for download from
http://download.opensuse.org/repositories/graphics/

See comment #17 for details.
Comment 26 Dieter Jurzitza 2011-03-29 19:18:01 UTC
Hi Johannes,
so, I tested HP 6300C on both USB and SCSI interfaces - working.
Mustek 12000SP on SCSI interface - working.

You've got it made. And you sed - trick is significantly better than mine :-)

From my point of view, an update could be triggered.

@Axel, would be so kind to give the latest release a try?

Thanks,
take care



Dieter
Comment 27 Johannes Meixner 2011-03-30 09:44:54 UTC
openSUSE maintenance team,
I ask for a bugfix update of the sane-backends package
only for openSUSE 11.4 (it works for openSUSE 11.3).
Comment 28 Marcus Meissner 2011-03-30 11:31:38 UTC
looks good  to me +1
Comment 29 Dieter Jurzitza 2011-03-30 12:36:31 UTC
Hi Johannes,
please wait until Friday. Axel Braun told me via PM that he will have access to his scanner on Friday and will test.
I am quite sure that things will work fine - but our test basis is - softly speaking - thin, hence I'd rather have another test before release ....
My two cents ...
Take care




Dieter
Comment 30 Johannes Meixner 2011-03-30 13:08:35 UTC
Two independent testers is a two times "thicker" test base than usual!
I will wait for Axel Braun's feedback.
Of course I would do more bugfixing if Axel Braun's feedback was negative.

Nevertheless at the asme time our openSUSE maintenance team can decide
whether or not they would like to have such a bugfix update in general.
Comment 31 Christian Dengler 2011-03-30 15:46:59 UTC
+1, update started.
Comment 32 Swamp Workflow Management 2011-03-30 15:47:11 UTC
The SWAMPID for this issue is 39785.
This issue was rated as low.
Please submit fixed packages until 2011-04-27.
Also create a patchinfo file using this link:
https://swamp.suse.de/webswamp/wf/39785
Comment 33 Axel Braun 2011-04-01 07:17:23 UTC
Tested the patch from commetn 25, and can confirm that it is working.
Comment 34 Johannes Meixner 2011-04-05 14:19:03 UTC
Fixed package sane-backends submitted to openSUSE:11.4:Update:Test
via submitrequest 66107
and patchinfo provided via https://swamp.suse.de/webswamp/wf/39785

For me the issue in now FIXED.

Nevertheless it may take a while until sane-backends update packages
for openSUSE 11.4 really appear under openSUSE:11.4:Update.

I.e. when this bug report is set to "FIXED" it does not mean
that sane-backends update packages are already available.
Comment 35 Johannes Meixner 2011-04-06 14:24:47 UTC
FYI:
Submitted the fixed sane-backends from "graphics" (see comment #25)
to openSUSE:Factory via submitrequest 66244
Comment 36 Swamp Workflow Management 2011-04-12 12:33:47 UTC
Update released for: sane-backends, sane-backends-autoconfig, sane-backends-debuginfo, sane-backends-debugsource, sane-backends-devel
Products:
openSUSE 11.4 (debug, i586, x86_64)
Comment 37 Bernhard Wiedemann 2011-04-28 11:57:25 UTC
This is an autogenerated message for OBS integration:
This bug (681146) was mentioned in
https://build.opensuse.org/request/show/66107
https://build.opensuse.org/request/show/66244
Comment 38 Terje J. Hanssen 2011-09-13 15:50:06 UTC
I'm running 11.4 Tumbleweed x86_84 3.0.4-43 and experience the same problem with my Epson Perfection 1640 SU SCSI scanner, which has worked properly under 11.3 and previous generation before. 

i.e. xsane and the added proprietary epkowa iscan have to be run as root (messages: no device available or cannot send command to the scanner as normal user).

linux-tiik:~ # scanimage -L
device `epkowa:scsi:/dev/sg4' is a Epson (unknown model) flatbed scanner

linux-tiik:~ # ls -la /dev/sg4
crw------- 1 root root 21, 4 Sep 13 17:27 /dev/sg4

Using chmod works temporary for the current user session so that it is possible to start the scanner applications from the program menu (xsane still report some errors, but iscan works).

Where is repo/download for the updated sane-backends packages for openSUSE 11.4 and for Tumbleweed?
I tried to upgrade from sane-backends* version 1.0.22-1.5.1 to version 1.0.22-1.6.1, but the problem still exists.
Comment 39 Dieter Jurzitza 2011-09-13 19:43:06 UTC
Hi Terje,
please issue the command lsscsi -g and post the output. I bet your scanner promotes itself as "processor" and needs a separate entry in the udev-rules file of sane-backends.
Seing the output of lsscsi -g I'm quite sure to be able to help you.

Easiest (in order to prevent typos) is to do a 

lsscsi -g > out

and attach out here to the bug.

Take care



Dieter
Comment 40 Dieter Jurzitza 2011-09-13 19:46:12 UTC
Hi Terje.
and, please, add the output of sane-find-scanner, too!
Take care



Dieter
Comment 41 Terje J. Hanssen 2011-09-13 20:31:07 UTC
Hi Dieter,

Yes, thanks, here are the output of the commands:

On openSUSE 11.4 x86_64 Tumbleweed:

terje@linux-tiik:~> lsscsi -g

[0:0:0:0]    disk    ATA      ST3500418AS      CC38  /dev/sda   /dev/sg0
[2:0:0:0]    disk    ATA      ST3500418AS      CC38  /dev/sdb   /dev/sg1
[3:0:0:0]    cd/dvd  HL-DT-ST BD-RE  BH10LS30  1.00  /dev/sr0   /dev/sg2
[10:0:6:0]   disk    MAXTOR   ATLASU320_36_WLS B120  /dev/sdc   /dev/sg3
[11:0:2:0]   process EPSON    Perfection1640   1.03  -         /dev/sg4

----------

sane-find-scanner as normal user doesn't find the scanner, I have to run it with root access and then it find the scanner as shown below:

terje@linux-tiik:~> sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/003/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/003/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/004/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/004/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/005/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/005/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/005/002: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/005/002: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/006/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/006/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/007/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/007/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/008/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/008/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/009/001: Permission denied.
libusb requires write access to USB device nodes.
libusb couldn't open USB device /dev/bus/usb/009/001: Permission denied.
libusb requires write access to USB device nodes.
  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

---------------

terje@linux-tiik:~> su -
Passord: 
linux-tiik:~ # sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

found SCSI processor "EPSON Perfection1640 1.03" at /dev/sg4
  # Your SCSI scanner was detected. It may or may not be supported by SANE. Try
  # scanimage -L and read the backend's manpage.

  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

--------------------------

I also tested the same on the current 12.1 x86_64 M5 in dualboot on the same machine, and got the same scanner access issue. 



Terje
Comment 42 Dieter Jurzitza 2011-09-13 20:49:22 UTC
Hi Terje,
help is in sight. Your scanner promotes itself as a processor. What you have to do, is as follows

1.) download the patchfile I am going to attach to this bug-report (55-libsane.rules.original.patch)
2.) become root, go to /etc/udev/rules.d
patch -p0 < /home/<LOCATION-DIRECTORY>/55-libsane.rules.original.patch

If I didn't write something the wrong way, things ought to work. After a reboot, you scanner should be detected and work as user. /dev/sg4 ought to depict different permissions than now, the group should be "lp" after reboot.

I will provide a patch for openSUSE during the next few days. If this does not work, we have to debug further, can only be a typo.

Hope this helps
take care



Dieter
Comment 43 Dieter Jurzitza 2011-09-13 20:50:59 UTC
Created attachment 450545 [details]
Patch to add support for EPSON 1640 SCSI-scanner

This is an attempt to include support for the EPSON 1640 scanner into sane, which promotes itself as "processor", too and hence needs a separate entry line within /etc/udev/rules.d/55-libsane.rules
Comment 44 Terje J. Hanssen 2011-09-13 22:27:57 UTC
Yes, thanks, the patch works on both 11.4 TW and on 12.1 M5 (when I figured out that I had to install the 'patch' program on my systems).

So, a little about the related scanner applications:

1) xsane error
I don't know if the following xsane issue is due that I have started xsane as root on 11.4 TW once before (though it works on 12.1 M5), but the following error message popup repetedly at startup and further when trying to scan:
Error during CMS conversion. Could not open scanner ICM profile.
see the attached screenshot below.

2) Image! Scan for Linux (iscan) 
This properiary application has worked well for my Epson ADF/Photo scanner on SUSE distributions for years, and also now on 11.4 TW.
http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do

There is a minor glitch however, that once upon a time was fixed, but has occured later on several SUSE distributions. iscan's pretty icon is not showed on the SUSE program menues (geco or traditional). See the attached screen shot.
Comment 45 Terje J. Hanssen 2011-09-13 22:29:29 UTC
Created attachment 450561 [details]
xsane error messages
Comment 46 Terje J. Hanssen 2011-09-13 22:31:11 UTC
Created attachment 450562 [details]
Image! Scan for Linux (iscan) lacks icon on the program menues
Comment 47 Dieter Jurzitza 2011-09-14 05:55:04 UTC
Hi Terje,
both additional issues you rose yesterday regarding image scan and xsane are not related to this bug (scsi permissions). Please try to find out on the website of xsane, on the net, what about icm profiles handling on linux.

The issue with the icon of image scan - well - I do not know whether or not image scan is a proprietary software or whether it is free and who is setting up the installation package.

If you think both issues should be addressed by openSUSE, you are free to open related  bug reports - for each one. 

But please do not mix different bugs into one report as you did. This will end in a mess. I will take care for openSUSE folks (and sane folks) to fix the permission issue with your scanner. It would be of help if you could provide the "regular" (sales) name of the scanner here so the comments could be beautified somewhat.

Moreover - just for validation - what does ls -l /dev/sg4 tell now (given /dev/sg4 would be you scanner's device file)?

Thank you!
Take care



Dieter
Comment 48 Johannes Meixner 2011-09-14 07:07:04 UTC
Dieter Jurzitza,
very many thanks for your contribution!


Regarding whether or not Iscan is free software:

You may have a look at the RPM description of our iscan-free package at
https://build.opensuse.org/package/show?package=iscan-free&project=graphics
----------------------------------------------------------------------------
In particular this version of the Image Scan for Linux
software neither contains any proprietary driver library
nor firmware files nor proprietary software to support
scanner network interfaces nor the proprietary "libesmod"
library which would be required by the "/usr/bin/iscan"
frontend which is also not provided.
This package contains only the epkowa driver for SANE.
----------------------------------------------------------------------------

Therefore Iscan is non-free software because it contains
various parts of proprietary stuff.
Comment 49 Terje J. Hanssen 2011-09-14 13:15:10 UTC
Hi Dieter,

Thank you for fixing the scsi permission here. I wonder if this won't be done automatically in the future for such scsi scanners, which mostly has worked automatically in previous SUSE versions after setup with YaST2>Scanner (?)

The regular (sales) names for these now old but still well quality working "home office" scanners (scsi and usb1) are:

1) Epson Perfection 1640SU Scanner (Flatbed scanner)
2) Epson Perfection 1640SU OFFICE Scanner (w/Automatic Document Feeder - ADF)
3) Epson Perfection 1640SU PHOTO Scanner (w/Photo adapter option instead of ADF)

http://www.epson.com/cgi-bin/Store/ProductQuickSpec.jsp?oid=32724&category=

Refere also to the linked scanner/Linux driver list from Avasys in #44 above.
In my case I have 2) and can easy replace the ADF with the Photo adapter option.


Listing sg4 here on 12.1 M5 (and identical on 11.4 TW):

~> ls -la /dev/sg4
crw-rw-r--+ 1 root lp 21, 4 sep.  14 12:16 /dev/sg4


Regarding the xsane and iscan scanner applications, this wasn't quite unexpected for me ;)

As xsane looks to work properly on 12,1 M5, I won't mess with a bug report for this error message on 11.4 TW, and as iscan works properly on both platforms. 
As a curiosity I can mentione that the propriarity iscan drivers (with the front-end application that utilize all scanner features) are included on my old openSUSE 10.2 DVD and on SUSE Linux 9.x Professional before that. One day I might notice Avasys regarding the missing iscan program icon :)
Comment 50 Dieter Jurzitza 2011-09-15 04:31:43 UTC
Hi folks,
Terje tested successfully, so please find two patches attached - one for the sane-backends.spec - File, one to fix epson.desc in the sane-backends source tree.

Johannes, would you kindly promote this upstream so the sane maintainers can integrate the missing line into epson.desc?

An update could be considered - for 12.1 at least this should be fixed; 11.4 I leave up to you - Terje has a working solution, now.

Take care




Dieter
Comment 51 Dieter Jurzitza 2011-09-15 04:33:07 UTC
Created attachment 450862 [details]
Patch for epson.desc

This is the real fix for epson.desc. I expect more epson scanners with both USB and SCSI interface to miss such an entry; however cannot test.
Comment 52 Dieter Jurzitza 2011-09-15 04:34:25 UTC
Created attachment 450863 [details]
Patch against sane-backends.spec from the update repository (11.4)

This is what needs to be done in order to fix the current release of sane-backends.
Comment 53 Johannes Meixner 2011-09-29 15:45:12 UTC
Fixed sane-backends in the OBS project "graphics"
(where it is available for openSUSE 11.3, 11.4 and Factory)
and submitted this to openSUSE:Factory
via submitrequest 85487

The RPM changelog entry is:
-----------------------------------------------------------------------
- Added an entry for "SCSI processor EPSON Perfection1640"
  to libsane.rules (bnc#681146) see in particular
  https://bugzilla.novell.com/show_bug.cgi?id=681146#c43
- Added a wildcard entry for any "SCSI processor EPSON SCANNER*"
  to libsane.rules see the "55-libsane.rules"/"Device recognition"
  mail thread in June 2011 on sane-devel@lists.alioth.debian.org
-----------------------------------------------------------------------

Regarding the wildcard entry for "SCSI processor EPSON SCANNER*" see
http://lists.alioth.debian.org/pipermail/sane-devel/2011-June/028739.html
and subsequent comments e.g.
http://lists.alioth.debian.org/pipermail/sane-devel/2011-June/028749.html

The change is in the tools/sane-desc.c source file.
Comment 54 Bernhard Wiedemann 2011-09-29 16:00:12 UTC
This is an autogenerated message for OBS integration:
This bug (681146) was mentioned in
https://build.opensuse.org/request/show/85487 Factory / sane-backends