[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