Bug 1458903

Summary: [Patch] Lack of USB3 xhci patch makes SANE quite unusable with USB3 hardware
Product: Red Hat Enterprise Linux 7 Reporter: Robert Scheck <redhat-bugzilla>
Component: sane-backendsAssignee: Zdenek Dohnal <zdohnal>
Status: CLOSED ERRATA QA Contact: David Jež <djez>
Severity: high Docs Contact: Lenka Špačková <lkuprova>
Priority: high    
Version: 7.3CC: ayadav, dkutalek, jkejda, mhradile, redhat-bugzilla, thozza, zdohnal
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: sane-backends-1.0.24-10.el7 Doc Type: Release Note
Doc Text:
The `SANE_USB_WORKAROUND` environmental variable can make older scanners usable with USB3 Previously, Scanner Access Now Easy (SANE) was unable to communicate with certain older types of scanners when they were plugged into a USB3 port. This update introduces the `SANE_USB_WORKAROUND` environmental variable, which can be set to `1` to eliminate this problem.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 13:47:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1420851, 1465887, 1465928    
Attachments:
Description Flags
sane-backends-1.0.24-usb3-xhci.patch
none
Patch for sane-backends.spec
none
Proposed patch none

Description Robert Scheck 2017-06-05 19:09:13 UTC
Description of problem:
Lack of USB3 xhci patch makes SANE quite unusable with USB3 hardware;
example with Fujitsu fi-6130 (theoretically fully supported by SANE):

[root@tux ~]# scanimage -L  # First run
device `fujitsu:fi-6130dj:108292' is a FUJITSU fi-6130dj scanner
[root@tux ~]# 

[root@tux ~]# scanimage -L  # Second run a few moments later

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
[root@tux ~]# 

Version-Release number of selected component (if applicable):
sane-backends-1.0.24-9.el7

How reproducible:
Everytime, see above and below.

Actual results:
Lack of USB3 xhci patch makes SANE quite unusable with USB3 hardware.

Expected results:
Applying upstream USB3 xhci patch solves the issue (tested myself).

[root@tux ~]# scanimage -L  # First run
device `fujitsu:fi-6130dj:108292' is a FUJITSU fi-6130dj scanner
[root@tux ~]# 

[root@tux ~]# scanimage -L  # Second run a few moments later
device `fujitsu:fi-6130dj:108292' is a FUJITSU fi-6130dj scanner
[root@tux ~]# 

[root@tux ~]# scanimage -L  # Third run a few moments later
device `fujitsu:fi-6130dj:108292' is a FUJITSU fi-6130dj scanner
[root@tux ~]# 

Additional info:
https://src.fedoraproject.org/cgit/rpms/sane-backends.git/plain/sane-backends-1.0.24-usb3-xhci.patch?id=e0bd4233ccf23151f4adfa14f45f328ae57c7c20

Comment 2 Robert Scheck 2017-06-05 19:11:14 UTC
Created attachment 1285126 [details]
sane-backends-1.0.24-usb3-xhci.patch

Comment 3 Robert Scheck 2017-06-05 19:15:08 UTC
Created attachment 1285127 [details]
Patch for sane-backends.spec

Comment 4 Robert Scheck 2017-06-05 19:21:34 UTC
Cross-filed ticket 01863749 on the Red Hat customer portal.

Comment 5 Zdenek Dohnal 2017-06-06 07:44:23 UTC
Hi Robert,

thank you for contacting us, but it is too late to get this patch into RHEL-7.4, we will look into it for RHEL-7.5. I am deeply sorry for inconvenience.

Comment 6 Robert Scheck 2017-06-06 10:11:21 UTC
RHEL 7.5 would be fine.

Comment 8 Zdenek Dohnal 2017-07-19 07:06:55 UTC
Robert,

I think it would be better to include upstream commit 1207ce5a40664c04b934bd0a6babbc1575361356 too. It uses environment variable SANE_USB_WORKAROUND, which setting to 1 enables workaround, which is in your proposed patch. It could minimize impact for other users. Its usage will be explained in man page sane-usb(5). Do you agree, Robert?

Comment 9 Zdenek Dohnal 2017-07-19 07:15:55 UTC
Upstream issue for adding SANE_USB_WORKAROUND usage into man page https://alioth.debian.org/tracker/index.php?func=detail&aid=315792&group_id=30186&atid=410366

Comment 10 Zdenek Dohnal 2017-07-19 11:48:42 UTC
Robert,

would you mind testing these rpms from this link https://zdohnal.fedorapeople.org/.sane/ ?

Comment 11 Zdenek Dohnal 2017-07-31 13:46:41 UTC
Upstream accepted manpage patch as commit 56398ead607d8bcb9deef7ca3f4d7f78478f1b4c

Comment 12 Zdenek Dohnal 2017-08-14 12:54:21 UTC
Created attachment 1313099 [details]
Proposed patch

Comment 13 Robert Scheck 2017-08-14 12:58:25 UTC
(In reply to Zdenek Dohnal from comment #8)
> I think it would be better to include upstream commit
> 1207ce5a40664c04b934bd0a6babbc1575361356 too. It uses environment variable
> SANE_USB_WORKAROUND, which setting to 1 enables workaround, which is in your
> proposed patch. It could minimize impact for other users. Its usage will be
> explained in man page sane-usb(5). Do you agree, Robert?

If the result is the same in the end, I don't mind about the details of the
patch or whether to set an environment variable.

Comment 14 Robert Scheck 2017-08-14 12:59:18 UTC
Do you still need a test for verification? Or do you have such hardware
yourself around somewhere?

Comment 15 Zdenek Dohnal 2017-08-14 13:03:31 UTC
Yes, would you mind testing it? I do not have such HW unfortunately.

Comment 24 errata-xmlrpc 2018-04-10 13:47:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:0793