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

Till Kamppeter till.kamppeter at gmx.net
Tue Feb 7 20:32:00 UTC 2006


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.
> 
> So now the question is how to get it working without removing all
> the USB modules (as I think it once did).
> 

The usblp module can be replaced by a libusb-based CUPS backend. Download

http://www.linuxprinting.org/till/tmp/usb-libusb.c

and replace the file backend/usb.c in the CUPS source by this file. Then
recompile and replace /usr/lib/cups/backend/usb by the newly compiled
"usb" executable. Restart the CUPS daemon. Now you will be able to print
with usblp unloaded. Problem is when you have both an HP and an Epson MF
device on the same server, as HPLIP for the HP device NEEDS usblp.

The libusb-based CUPS backend is written by Couriousous, a Mandriva
contributor, thanks to him for this work. I CC him, so that he can
perhaps help on this issue.

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.

   Till



More information about the sane-devel mailing list