[Cc'ed to poster and scanner.c maintainer]

On 2002-09-27 15:32:25, [EMAIL PROTECTED] (Jon Wikne) wrote:
 
> I have this strange problem using my USB slide/film scanner
> Nikon Coolscan LS40. The problem is present using both Sane
> (frontend coolscan2.c) and Vuescan on the application side.
> The problem causes a complete hang of the kernel USB scanner
> module, reboot being the only known recovery (rmmod / insmod
> is not enough). 

I have the exact same problem - ever since 2.2.x afaik, using both plain
uhci and the alt driver.

After discussions with the author of Vuescan, I have been able to piece
together the following information:

- The freeze occurs when the scanner seems to want to send more data
over usb than usb/scanner.c can handle.

- read_scanner() in scanner.c receives -75 (EOVERFLOW) from
usb_bulk_message, which it does not know how to handle. That causes the
following to be syslogged:

        scanner.c: read_scanner(0): funky result:-75.

- thereafter the usb scanner driver is essentially hosed. It never seems
to leave the read_scanner() function, and merely sits in a loop, making
no progress, intermittently logging "usb_control/bulk_msg: timeout"

- A workaround is to modify usb/scanner.h and change IBUF_SIZE to be 64k
instead of 32k. Why this works I do not know.

- A surefire way of reproducing the bug is to do any scan whose width is
2870 pixels wide, at 2900 dpi. Scan height has no effect, which seems
consistent with the fact that this is a data transfer problem - the
wider the scanline, the more data to transfer.

How to proceed from here?

-- 
     ,_
     /_)              /| /
    /   i e t e r    / |/ a g e l
    http://www.nagel.co.za



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to