Bug 498228

Summary: [patch] xsane support for Brother MFC-290-C
Product: Red Hat Enterprise Linux 5 Reporter: Alexander Todorov <atodorov>
Component: sane-backendsAssignee: Nils Philippsen <nphilipp>
Status: CLOSED NOTABUG QA Contact: BaseOS QE <qe-baseos-auto>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: nphilipp, pknirsch
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 666687 (view as bug list) Environment:
Last Closed: 2012-05-16 13:20:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch for /etc/udev/rules.d/60-libsane.rules none

Description Alexander Todorov 2009-04-29 14:29:18 UTC
Description of problem:
Trying to scan images using xsane with a Brother scanner fails when running as non-root user. After accepting the program license an error is shown:

Failed to open device `brother3:bus1;dev1': Error during device I/O.

Version-Release number of selected component (if applicable):
xsane-0.991-5.el5
Brother MFC-290C scanner with brscan3-0.2.5-2 driver

How reproducible:
Always on that particular hardware

Steps to Reproduce:
1. Start xsane as normal user
2. Accept the user licence

  
Actual results:
Error dialog:
Failed to open device `brother3:bus1;dev1': Error during device I/O.

Expected results:
xsane starts and works

Additional info:
Running xsane as root work properly and I'm able to scan images and save the resulting files.

The device is connected via USB and the above error points me to:
$ ls -l /dev/bus/usb/001/001 
crw-r--r-- 1 root root 189, 0 29 апр 16,28 /dev/bus/usb/001/001

This appears to be access permissions issue.

SELinux is in enforcing mode but no denials occur /it should not be SELinux issue/.

brscan3 is a sane backend driver from the manufacturer and it works apparently when running as root.

Comment 1 Alexander Todorov 2009-04-29 14:32:12 UTC
This is preventing regular users to use the scanner locally. They have to execute xsane with root parmissions which is not desirable. 

I can do the testing since I have the device required.

Comment 2 Phil Knirsch 2009-05-12 13:30:26 UTC
Isn't the device created by udev? If so then i think this is rather a udev problem than a xsane problem and we should change the component.

Thanks & regards, Phil

Comment 3 Alexander Todorov 2009-05-12 13:40:28 UTC
(In reply to comment #2)
> Isn't the device created by udev? If so then i think this is rather a udev
> problem than a xsane problem and we should change the component.
> 

I wasn't quite sure which was the correct component. Feel free to change it if you think udev is the correct one.

Comment 4 Phil Knirsch 2009-05-12 15:28:36 UTC
Adding Harald Hoyer (udev maintainer) to the bug so he can comment on it before we possibly switch the component.

Thanks & regards, Phil

Comment 5 Harald Hoyer 2009-05-12 15:48:03 UTC
I think the vendor/device ids are missing in /etc/udev/rules.d/60-libsane.rules 

$ rpm -qf /etc/udev/rules.d/60-libsane.rules 
sane-backends-1.0.18-5.el5

You could quickfix it by duplicating an entry with the correct ids.

Comment 6 Phil Knirsch 2009-05-18 12:33:10 UTC
For that we'd need the details for that scanner though, putting in NEEDINFO

Thanks & regards, Phil

Comment 7 Alexander Todorov 2009-05-18 12:50:14 UTC
What info do you need and where/how to find it? What should be inside /etc/udev/rules.d/60-libsane.rules ?

Comment 8 Phil Knirsch 2009-05-18 15:18:29 UTC
The file /etc/udev/rules.d/60-libsane.rules can be found in the sane-backends package.

The format looks like this:

# Brother FAX-2900
SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0117", SYMLINK+="scanner-%k"

So we basically need the SYSFS vendor ID and the SYSFS product ID.

I just checked and the Brother MFC-290C doesn't seem to be in there yet.

So i've moved this bug to the sane-backends component as the change needs to go in there.

Thanks & regards, Phil

Comment 9 Alexander Todorov 2009-05-19 08:06:30 UTC
Created attachment 344586 [details]
patch for /etc/udev/rules.d/60-libsane.rules

The above patch works for me. I'm able to start xsane as normal user.

Comment 10 Phil Knirsch 2009-05-19 12:17:46 UTC
Thanks Alexander! Patch looks good, granting Devel ACK.

Regards, Phil

Comment 11 Phil Knirsch 2009-05-21 16:23:09 UTC
Hm. As sane-backends is not an approved component and the deadline for FT erratas for RHEL-5.4 has run out i'll be reflagging it to RHEL-5.5 FT so that we won't forget about it for 5.5.

Thanks & regards, Phil

PS: And yes, imo the change is small and simple enough to make this a viable FT errata.

Comment 20 RHEL Program Management 2012-05-15 19:18:06 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release.  Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products.  This request is not yet committed for inclusion in
a release.