Comment # 13 on bug 976813 from
The root cause are differences in the USB "behaviour" in the kernel
when the kernel driver xhci_hcd is used for the USB bus that
belongs to the USB connector where the scanner is connected.

Depending on the hardware
(e.g. older computer with pure traditional USB2 hardware
 versus newer computer with current USB3 capable hardware)
different kernel drivers are used for USB.

In openSUSE 13.1 the kernel version is 3.11.

In openSUSE 13.2 the kernel version is 3.16.

In openSUSE Leap 42.1 the kernel version is 4.1.

Depending on the kernel version the kernel driver xhci_hcd
(that is used for USB3 capable hardware) behaves different
so that scanner drivers work or may fail depending on the
kernel version on USB3 capable hardware.

Regarding kernel modules/drivers for the plain USB
versus scanner driver for a particular USB scanner model
see "Basics" at
https://en.opensuse.org/SDB:Configuring_Scanners
(excerpt):
---------------------------------------------------------------------------
Regardless of the details, in general a stack consisting of various
layers must be functional in its entirety in order to enable users
to access a USB scanner from an application:

User
  |
Application (scanner user frontend)
  |
SANE backend (scanner driver)
  |
libusb (generic USB device access functions)
  |
USB kernel modules (plus udev triggered by USB scanner plug-in)
  |
USB hardware in the machine
  |
USB cable connection (additional USB hubs if necessary)
  |
Scanner

Only the parts "SANE backend (scanner driver)" and
"Application (scanner user frontend)" are what could
be called "the actual scanning software".

The operability of all lower layers is a precondition
for the operability of a higher layer.
---------------------------------------------------------------------------

For example for traditional USB2 hardware the kernel drivers
uhci_hcd or ehci_hcd are used and with those kernel drivers
all usual scanner drivers work.

In contrast for USB3 capable hardware the kernel driver xhci_hcd
is used and with that kernel driver the usual scanner drivers
sometimes work and sometimes fail, cf.
https://bugzilla.opensuse.org/show_bug.cgi?id=856794#c40
(excerpt):
---------------------------------------------------------------------------
There are computers where USB3 always "just works".

There are computers where USB3 fails under certain conditions.

Perhaps there are computers where USB3 always fails.
---------------------------------------------------------------------------

In your case it seems the "epkowa" scanner driver
fails when the xhci_hcd kernel driver is used.

It is crucial to understand that it does not matter
how a USB connector is labeled or colored at the computer
or what USB speed is listed for a USB connector at the computer.

All what matters is what kernel driver is used for the USB bus
that belongs to the USB connector where the scanner is connected.

To find out what kernel driver is used only the output of
# lsusb
together with the output of
# lsusb -t
provides the right information.


You are receiving this mail because: