[sane-devel] Scanner (USB) not found after kernel upgrade

Bill Brelsford k2di2 at att.net
Wed Feb 8 02:04:22 UTC 2006


On Tue Feb 07 2006 at 11:43 PM +0100, Couriousous wrote:
> Le Mardi 07 F?vrier 2006 21:32, Till Kamppeter a ?crit?:
> > Bill Brelsford wrote:
> > > On Sun Feb 05 2006 at 02:01 PM -0800, Bill Brelsford wrote:
> > >>On Sun Feb 05 2006 at 12:41 PM +0100, Henning Meier-Geinitz wrote:
> > >>>>>If no, send a log file:
> > >>>>>SANE_DEBUG_EPSON=255 SANE_DEBUG_SANEI_USB=255 scanimage -L
> > >>
> > >>This looks like the relevant part:
> > >>
> > >> [sanei_usb] sanei_usb_find_devices: vendor=0x04b8, product=0x080d
> > >> [sanei_usb] sanei_usb_open: trying to open device `libusb:002:003'
> > >> USB error: could not set config 1: Device or resource busy
> > >> [sanei_usb] sanei_usb_open: libusb complained: could not set config 1:
> > >> Device or resource busy [sanei_usb] Maybe the kernel scanner driver
> > >> claims the scanner's interface?
> > >>
> > >>Since the only change was a new kernel, here are the "USB" changes
> > >>
> > >>to the kernel configuration:
> > >>	> CONFIG_USB_PRINTER=y
> > >>
> > >>	...
> > >
> > > Somehow I missed this difference in syslog between the old kernel
> > > (works):
> > >
> > >  Feb  6 20:11:36 k2di kernel: usb 2-2: usbfs: interface 2 claimed
> > >  	while 'scanimage' sets config #1
> > >
> > > and the new one (doesn't work):
> > >
> > >  Feb  7 06:47:47 k2di kernel: usb 2-2: usbfs: interface 1 claimed
> > >  	by usblp while 'scanimage' sets config #1
> > >
> > > My old kernel was built before I bought the CX4600 and added usb
> > > printer support, but I'm sure I later built one (since deleted)
> > > that worked with both printer and scanner.  It apparently had
> > > USB_PRINTER as a module, so I just rebuilt the new one that way,
> > > got the same result (failure), did "rmmod usblp" and got "claimed
> > > by usb-storage", did "rmmod usb-storage" and it works.
> 
> Can you provides the ouput of the following command as root:
> 
> lsusb -v

  Bus 004 Device 001: ID 0000:0000  
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0 Unused
    bDeviceProtocol         0 
    bMaxPacketSize0        64
    idVendor           0x0000 
    idProduct          0x0000 
    bcdDevice            2.06
    iManufacturer           3 Linux 2.6.15.2.wmb060207p4a uhci_hcd
    iProduct                2 UHCI Host Controller
    iSerial                 1 0000:00:1d.3
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           25
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0 
      bmAttributes         0xc0
        Self Powered
      MaxPower                0mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0 Unused
        bInterfaceProtocol      0 
        iInterface              0 
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0002  1x 2 bytes
          bInterval             255
  Hub Descriptor:
    bLength               9
    bDescriptorType      41
    nNbrPorts             2
    wHubCharacteristic 0x000a
      No power switching (usb 1.0)
      Per-port overcurrent protection
    bPwrOn2PwrGood        1 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    DeviceRemovable    0x08
    PortPwrCtrlMask    0xd8 
   Hub Port Status:
     Port 1: 0000.0100 power
     Port 2: 0000.0100 power
  
  Bus 003 Device 002: ID 04e6:0313 SCM Microsystems, Inc. 
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            0 (Defined at Interface level)
    bDeviceSubClass         0 
    bDeviceProtocol         0 
    bMaxPacketSize0        16
    idVendor           0x04e6 SCM Microsystems, Inc.
    idProduct          0x0313 
    bcdDevice            5.04
    iManufacturer           1 SCM Microsystems Inc.
    iProduct                2 eUSB SmartMedia Reader
    iSerial                 5 0000000041E4
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           32
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          3 Mass Storage Class
      bmAttributes         0xa0
        Remote Wakeup
      MaxPower              100mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           2
        bInterfaceClass         8 Mass Storage
        bInterfaceSubClass      6 SCSI
        bInterfaceProtocol     80 Bulk (Zip)
        iInterface              4 Bulk-Only and CBC Interface
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x01  EP 1 OUT
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x82  EP 2 IN
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
  
  Bus 003 Device 001: ID 0000:0000  
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0 Unused
    bDeviceProtocol         0 
    bMaxPacketSize0        64
    idVendor           0x0000 
    idProduct          0x0000 
    bcdDevice            2.06
    iManufacturer           3 Linux 2.6.15.2.wmb060207p4a uhci_hcd
    iProduct                2 UHCI Host Controller
    iSerial                 1 0000:00:1d.2
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           25
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0 
      bmAttributes         0xc0
        Self Powered
      MaxPower                0mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0 Unused
        bInterfaceProtocol      0 
        iInterface              0 
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0002  1x 2 bytes
          bInterval             255
  Hub Descriptor:
    bLength               9
    bDescriptorType      41
    nNbrPorts             2
    wHubCharacteristic 0x000a
      No power switching (usb 1.0)
      Per-port overcurrent protection
    bPwrOn2PwrGood        1 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    DeviceRemovable    0x08
    PortPwrCtrlMask    0xd8 
   Hub Port Status:
     Port 1: 0000.0103 power enable connect
     Port 2: 0000.0100 power
  
  Bus 002 Device 002: ID 04b8:080d Seiko Epson Corp. 
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            0 (Defined at Interface level)
    bDeviceSubClass         0 
    bDeviceProtocol         0 
    bMaxPacketSize0         8
    idVendor           0x04b8 Seiko Epson Corp.
    idProduct          0x080d 
    bcdDevice            1.00
    iManufacturer           1 EPSON
    iProduct                2 USB MFP
    iSerial                 3 L85040503240709360
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           78
      bNumInterfaces          3
      bConfigurationValue     1
      iConfiguration          4 USB MFP
      bmAttributes         0xc0
        Self Powered
      MaxPower                2mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           2
        bInterfaceClass       255 Vendor Specific Class
        bInterfaceSubClass    255 Vendor Specific Subclass
        bInterfaceProtocol    255 Vendor Specific Protocol
        iInterface              5 EPSON Scanner
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x02  EP 2 OUT
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        1
        bAlternateSetting       0
        bNumEndpoints           2
        bInterfaceClass         7 Printer
        bInterfaceSubClass      1 Printer
        bInterfaceProtocol      2 Bidirectional
        iInterface              6 USB Printer
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x83  EP 3 IN
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x04  EP 4 OUT
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        2
        bAlternateSetting       0
        bNumEndpoints           2
        bInterfaceClass         8 Mass Storage
        bInterfaceSubClass      6 SCSI
        bInterfaceProtocol     80 Bulk (Zip)
        iInterface              7 USB Mass Storage
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x85  EP 5 IN
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x06  EP 6 OUT
          bmAttributes            2
            Transfer Type            Bulk
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0040  1x 64 bytes
          bInterval               0
  
  Bus 002 Device 001: ID 0000:0000  
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0 Unused
    bDeviceProtocol         0 
    bMaxPacketSize0        64
    idVendor           0x0000 
    idProduct          0x0000 
    bcdDevice            2.06
    iManufacturer           3 Linux 2.6.15.2.wmb060207p4a uhci_hcd
    iProduct                2 UHCI Host Controller
    iSerial                 1 0000:00:1d.1
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           25
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0 
      bmAttributes         0xc0
        Self Powered
      MaxPower                0mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0 Unused
        bInterfaceProtocol      0 
        iInterface              0 
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0002  1x 2 bytes
          bInterval             255
  Hub Descriptor:
    bLength               9
    bDescriptorType      41
    nNbrPorts             2
    wHubCharacteristic 0x000a
      No power switching (usb 1.0)
      Per-port overcurrent protection
    bPwrOn2PwrGood        1 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    DeviceRemovable    0x08
    PortPwrCtrlMask    0xd8 
   Hub Port Status:
     Port 1: 0000.0100 power
     Port 2: 0000.0103 power enable connect
  
  Bus 001 Device 001: ID 0000:0000  
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0 Unused
    bDeviceProtocol         0 
    bMaxPacketSize0        64
    idVendor           0x0000 
    idProduct          0x0000 
    bcdDevice            2.06
    iManufacturer           3 Linux 2.6.15.2.wmb060207p4a uhci_hcd
    iProduct                2 UHCI Host Controller
    iSerial                 1 0000:00:1d.0
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           25
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0 
      bmAttributes         0xc0
        Self Powered
      MaxPower                0mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0 Unused
        bInterfaceProtocol      0 
        iInterface              0 
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               None
            Usage Type               Data
          wMaxPacketSize     0x0002  1x 2 bytes
          bInterval             255
  Hub Descriptor:
    bLength               9
    bDescriptorType      41
    nNbrPorts             2
    wHubCharacteristic 0x000a
      No power switching (usb 1.0)
      Per-port overcurrent protection
    bPwrOn2PwrGood        1 * 2 milli seconds
    bHubContrCurrent      0 milli Ampere
    DeviceRemovable    0x08
    PortPwrCtrlMask    0xd8 
   Hub Port Status:
     Port 1: 0000.0100 power
     Port 2: 0000.0100 power

> >I CC him, so that he can perhaps help on this issue.
> Keep me on CC please, as I'm not subscribed to the list
> 
> > Another problem is the memory card reader in the Epson photo printers
> > and MF devices, AFAIK there is no libusb-based driver for USB mass
> > storage devices, and no solution to provide mountable file systems
> > completely in user space.
> >
> > Epson has also their own CUPS backend in the PIPS and/or IScan packages,
> > but probably it is not free software. Olaf, or is this backend free
> > software?
> >
> > As older kernels worked fine, I suggest to file a bug against the kernel.
> 
> Kernel dev will resolve it as INVALID. This is quite logical that the kernel 
> should not allow _two_ driver for the same device's interface. In fact, it 
> refuse that someone change device's configuration while an another driver use 
> it.
> 
> You should use a more recent sane, this bug is AFAIK fixed in sane 
> sane-backends-1.0.17 since the open function test if the kernel answer is 
> busy and ignore it:
> 
> else if (errno == EBUSY)
>             {
>               DBG (3, "Maybe the kernel scanner driver or usblp claims the "
>                    "interface? Ignoring this error...\n");
>               status = SANE_STATUS_GOOD;
>             }
> 
> So, can you check if it works with lastest sane ? 

With sane-backends-1.0.17 installed, scanimage sometimes works and
sometimes hangs.  It generates the same kernel message ("claimed by
usblp") in either case (as expected).  Once it hangs it continues
to do so until the two usb modules are removed.  I haven't been
able to find a sequence of events that cause it to hang.

Bill



More information about the sane-devel mailing list