Package: libsane
Version: 1.0.18-6
Followup-For: Bug #359797

The patch suggested by Henrique causes libsane.rules to fail to match my
scanner (an Epson CX6600).  The problem is that udev sees a subsystem class
of "usb_endpoint" not "usb_device" so the following line causes the bulk of
libsane.rules to be skipped:
  SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"

Changing the line to
  SUBSYSTEM!="usb_endpoint", GOTO="libsane_rules_end"
allows the rule to match and fixes the problem for me.

I assume that this is a change in how kernel 2.6.20.7 reports this device?
I've attached a udevinfo dump for the curious.

-- Brad

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable'), (80, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.20.7
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)

Versions of packages libsane depends on:
ii  adduser                     3.102        Add and remove users and groups
ii  libc6                       2.3.6.ds1-13 GNU C Library: Shared libraries
ii  libgphoto2-2                2.2.1-16     gphoto2 digital camera library
ii  libgphoto2-port0            2.2.1-16     gphoto2 digital camera port librar
ii  libieee1284-3               0.2.10-4     cross-platform library for paralle
ii  libjpeg62                   6b-13        The Independent JPEG Group's JPEG 
ii  libtiff4                    3.8.2-7      Tag Image File Format (TIFF) libra
ii  libusb-0.1-4                2:0.1.12-5   userspace USB programming library
ii  makedev                     2.3.1-83     creates device files in /dev

Versions of packages libsane recommends:
ii  module-init-tools             3.3-pre4-2 tools for managing Linux kernel mo
ii  sane-utils                    1.0.18-5   API library for scanners -- utilit
ii  udev                          0.105-4    /dev/ and hotplug management daemo

-- no debconf information
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/class/usb_endpoint/usbdev3.3_ep01':
    KERNEL=="usbdev3.3_ep01"
    SUBSYSTEM=="usb_endpoint"
    DRIVER==""
    ATTR{direction}=="out"
    ATTR{type}=="Bulk"
    ATTR{interval}=="0ms"
    ATTR{wMaxPacketSize}=="0200"
    ATTR{bInterval}=="00"
    ATTR{bmAttributes}=="02"
    ATTR{bEndpointAddress}=="01"
    ATTR{bLength}=="07"
    ATTR{dev}=="254:9"

  looking at parent device '/devices/pci0000:00/0000:00:09.2/usb3/3-4/3-4:1.0':
    KERNELS=="3-4:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS==""
    ATTRS{interface}=="EPSON Scanner"
    ATTRS{modalias}=="usb:v04B8p0813d0100dc00dsc00dp00icFFiscFFipFF"
    ATTRS{bInterfaceProtocol}=="ff"
    ATTRS{bInterfaceSubClass}=="ff"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceNumber}=="00"

  looking at parent device '/devices/pci0000:00/0000:00:09.2/usb3/3-4':
    KERNELS=="3-4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{serial}=="HD0140406010327180"
    ATTRS{product}=="USB2.0 MFP_Hi-Speed_"
    ATTRS{manufacturer}=="EPSON"
    ATTRS{maxchild}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{devnum}=="3"
    ATTRS{speed}=="480"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bcdDevice}=="0100"
    ATTRS{idProduct}=="0813"
    ATTRS{idVendor}=="04b8"
    ATTRS{bMaxPower}=="  2mA"
    ATTRS{bmAttributes}=="c0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumInterfaces}==" 3"
    ATTRS{configuration}=="USB2.0 MFP_Hi-Speed_"

  looking at parent device '/devices/pci0000:00/0000:00:09.2/usb3':
    KERNELS=="usb3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{serial}=="0000:00:09.2"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{manufacturer}=="Linux 2.6.20.7 ehci_hcd"
    ATTRS{maxchild}=="5"
    ATTRS{version}==" 2.00"
    ATTRS{devnum}=="1"
    ATTRS{speed}=="480"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bcdDevice}=="0206"
    ATTRS{idProduct}=="0000"
    ATTRS{idVendor}=="0000"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{configuration}==""

  looking at parent device '/devices/pci0000:00/0000:00:09.2':
    KERNELS=="0000:00:09.2"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{msi_bus}==""
    ATTRS{broken_parity_status}=="0"
    ATTRS{enable}=="1"
    ATTRS{modalias}=="pci:v00001033d000000E0sv00000E55sd00002928bc0Csc03i20"
    ATTRS{local_cpus}=="1"
    ATTRS{irq}=="11"
    ATTRS{class}=="0x0c0320"
    ATTRS{subsystem_device}=="0x2928"
    ATTRS{subsystem_vendor}=="0x0e55"
    ATTRS{device}=="0x00e0"
    ATTRS{vendor}=="0x1033"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

Reply via email to