Bug 47421 - Samsung SCX-3205 scanner does not work with Toshiba Satellite L855
Summary: Samsung SCX-3205 scanner does not work with Toshiba Satellite L855
Status: REOPENED
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Greg Kroah-Hartman
URL: https://bugzilla.kernel.org/show_bug....
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-12 17:06 UTC by Michal Nowak
Modified: 2018-01-04 18:35 UTC (History)
5 users (show)

See Also:
Kernel Version: 3.5.3, 3.12.5
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
lspci.2.6.39-1.fc16.x86_64 (1.30 KB, text/plain)
2012-09-12 17:07 UTC, Michal Nowak
Details
lspci.3.5.3-1.fc17.x86_64 (1.30 KB, text/plain)
2012-09-12 17:07 UTC, Michal Nowak
Details
lspci-v.2.6.39-1.fc16.x86_64 (7.70 KB, text/plain)
2012-09-12 17:07 UTC, Michal Nowak
Details
lspci-v.3.5.3-1.fc17.x86_64 (7.80 KB, text/plain)
2012-09-12 17:08 UTC, Michal Nowak
Details
lspci-vv.2.6.39-1.fc16.x86_64 (27.28 KB, text/plain)
2012-09-12 17:08 UTC, Michal Nowak
Details
lspci-vv.3.5.3-1.fc17.x86_64 (27.37 KB, text/plain)
2012-09-12 17:08 UTC, Michal Nowak
Details
lsusb.2.6.39-1.fc16.x86_64 (660 bytes, text/plain)
2012-09-12 17:09 UTC, Michal Nowak
Details
lsusb.3.5.3-1.fc17.x86_64 (660 bytes, text/plain)
2012-09-12 17:09 UTC, Michal Nowak
Details
lsusb-v.2.6.39-1.fc16.x86_64 (51.22 KB, text/plain)
2012-09-12 17:10 UTC, Michal Nowak
Details
lsusb-v.3.5.3-1.fc17.x86_64 (51.77 KB, text/plain)
2012-09-12 17:11 UTC, Michal Nowak
Details
lsusb-vv.2.6.39-1.fc16.x86_64 (51.22 KB, text/plain)
2012-09-12 17:11 UTC, Michal Nowak
Details
lsusb-vv.3.5.3-1.fc17.x86_64 (51.77 KB, text/plain)
2012-09-12 17:11 UTC, Michal Nowak
Details
kernel warnings with the patch from previous comment (8.67 KB, text/plain)
2014-01-03 18:15 UTC, Michal Nowak
Details

Description Michal Nowak 2012-09-12 17:06:16 UTC
I have problems with Samsung SCX-3205 scanner on Toshiba Satellite L855. When is scanner connected to the notebook (via USB) I can see it via `scanimage -L` on first attempt but on any other attempt I can't see it any more, unless I turn the scanner off and on.

Currently using 3.5.3-1.fc17.x86_64 kernel (but it also happens with 3.6.0-0.rc4.git2.1.fc18). The latest working kernel is 2.6.39-1.fc16 on that hardware (2.6.40 which was in fact 3.0, I guess, does not work).

That scanner with identical OS - Fedora 17 - worked well on Lenovo T510 (Sandy Bridge -- USB 2.0 only), the new Toshiba L855 (Ivy Bridge with USB 3.0 -- xHCI) fails here.

I somehow think it's related to the xhci driver, hence Cc-ing Sarah. Is there a way how to disable xhci driver in favor of ehci (xhci and ehci are both compiled-in), so I can try with ehci?
Comment 1 Michal Nowak 2012-09-12 17:07:08 UTC
Created attachment 79941 [details]
lspci.2.6.39-1.fc16.x86_64
Comment 2 Michal Nowak 2012-09-12 17:07:28 UTC
Created attachment 79951 [details]
lspci.3.5.3-1.fc17.x86_64
Comment 3 Michal Nowak 2012-09-12 17:07:50 UTC
Created attachment 79961 [details]
lspci-v.2.6.39-1.fc16.x86_64
Comment 4 Michal Nowak 2012-09-12 17:08:07 UTC
Created attachment 79971 [details]
lspci-v.3.5.3-1.fc17.x86_64
Comment 5 Michal Nowak 2012-09-12 17:08:34 UTC
Created attachment 79981 [details]
lspci-vv.2.6.39-1.fc16.x86_64
Comment 6 Michal Nowak 2012-09-12 17:08:56 UTC
Created attachment 79991 [details]
lspci-vv.3.5.3-1.fc17.x86_64
Comment 7 Michal Nowak 2012-09-12 17:09:19 UTC
Created attachment 80001 [details]
lsusb.2.6.39-1.fc16.x86_64
Comment 8 Michal Nowak 2012-09-12 17:09:44 UTC
Created attachment 80011 [details]
lsusb.3.5.3-1.fc17.x86_64
Comment 9 Michal Nowak 2012-09-12 17:10:18 UTC
Created attachment 80021 [details]
lsusb-v.2.6.39-1.fc16.x86_64
Comment 10 Michal Nowak 2012-09-12 17:11:11 UTC
Created attachment 80031 [details]
lsusb-v.3.5.3-1.fc17.x86_64
Comment 11 Michal Nowak 2012-09-12 17:11:30 UTC
Created attachment 80041 [details]
lsusb-vv.2.6.39-1.fc16.x86_64
Comment 12 Michal Nowak 2012-09-12 17:11:50 UTC
Created attachment 80051 [details]
lsusb-vv.3.5.3-1.fc17.x86_64
Comment 13 Greg Kroah-Hartman 2012-09-12 17:18:56 UTC
On Wed, Sep 12, 2012 at 05:06:16PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
>            Summary: Samsung SCX-3205 scanner does not work with Toshiba
>                     Satellite L855

Please post this on the linux-usb@vger.kernel.org mailing list.
Comment 14 Alan 2013-12-23 16:34:48 UTC
If this is still seen with modern kernels please update
Comment 15 Michal Nowak 2013-12-28 11:05:39 UTC
It works for me with kernel-3.12.5-302.fc20.x86_64.
Comment 16 Michal Nowak 2014-01-02 16:37:24 UTC
What update should I provide?

It worked for a while but I had to return to USB2 via EHCI. The symptoms are the same: with USB3 via xHCI the scanner appears in output of `scanimage -L` but disappears on second (or any other) attempt to initialize it via scanimage. Reopening.
Comment 17 Alan 2014-01-02 18:52:31 UTC
Knowing that it fails on 3.12 is the information needed.

This may well not be a kernel bug - some USB1/2 hardware fails on USB3 controllers even though it should all be compatible. From a quick search all the reports I see are Linux rather than Windows however.
Comment 18 Sarah Sharp 2014-01-02 21:45:58 UTC
I suspect this is due to a long-standing xHCI driver bug.  There's a proposed fix, but it's still in RFC:

http://marc.info/?l=linux-usb&m=138116117104619&w=2

Michal: can you try applying that patch and see if it helps?

Another related bug report, for reference:

http://marc.info/?l=linux-usb&m=138758292722526&w=2
Comment 19 Michal Nowak 2014-01-03 18:15:53 UTC
Created attachment 120771 [details]
kernel warnings with the patch from previous comment

Tried that patch on top of 3.13.0-0.rc6.git0.1 and it works for me. Tried `simple-scan`, `xsane`, and `scan-image`. However I get kernel warnings when the program e.g. xsane starts and ends. Also especially xsane became sluggish when asked to turn itself off.

Kernel warnings follow in the attachment.
Comment 20 Sarah Sharp 2014-01-07 21:32:11 UTC
Thanks for testing Michal.  Ok, so I know what the root cause of your issue is.  It's not surprising that the patch has race conditions that cause list corruption, since it was a pretty early RFC.  I'll need to take the patch and rework it a bit before I get the race conditions worked out.

In the meantime, have you tried unplugging and replugging the scanner in between scans?  This has worked in the past for other people with this issue.
Comment 21 Michal Nowak 2015-04-10 06:40:14 UTC
(In reply to Sarah Sharp from comment #20)
> In the meantime, have you tried unplugging and replugging the scanner in
> between scans?  This has worked in the past for other people with this issue.

Have to say, I did not at that time. Luckily, this is not needed anymore.

I just tested kernel-3.19.3-200.fc21.x86_64 with USB3 with the Samsung scanner and it worked fine for a resolution of 150 DPI, and less. With 300 DPI it got sluggish, the scanning device moved 1 cm ahead and then 0.5 cm back, all the time, I got the scan in the end but the scanning process was one fold slower that with USB2. With DPI set to 2400 it got practically unusable.

There were no messages of interest in systemd's journal.

Let me know if there's anything I can do to help.
Comment 22 Michal Nowak 2015-07-20 10:06:03 UTC
Surprisingly, with kernel-4.1.2-200.fc22.x86_64 everything works as expected up to 2400 DPI (the maximum for the scanner).

The only concern I have is following message I have three times in the kernel log for 150 DPI scanning, and 42 times for 300 DPI scanning:

  xhci_hcd 0000:00:14.0: WARN Event TRB for slot 4 ep 6 with no TDs queued?

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