Bug 498228 - [patch] xsane support for Brother MFC-290-C
Summary: [patch] xsane support for Brother MFC-290-C
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: sane-backends   
(Show other bugs)
Version: 5.3
Hardware: All Linux
Target Milestone: rc
: ---
Assignee: Nils Philippsen
QA Contact: BaseOS QE
Depends On:
TreeView+ depends on / blocked
Reported: 2009-04-29 14:29 UTC by Alexander Todorov
Modified: 2012-05-16 13:20 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 666687 (view as bug list)
Last Closed: 2012-05-16 13:20:00 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
patch for /etc/udev/rules.d/60-libsane.rules (552 bytes, patch)
2009-05-19 08:06 UTC, Alexander Todorov
no flags Details | Diff

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):
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 

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 Product and 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.

Note You need to log in before you can comment on or make changes to this bug.