[sane-devel] Timeouts: usb_reset seems necessary to avoid bulk timeouts.

Tom Schutzer-Weissmann misc@tomweissmann.org
Wed, 9 Jun 2004 16:48:51 +0100

I had problems using the Epkowa libraries (libsane-epkowa) and the iscan frontend with my usb scanner in kernel 2.6.

The scanner was closed after each operation. Once closed, nothing could be read from it, and I got lots of BULK TIMEOUTs, although there were no errors when the device was reopened.

By modifying the code so that usb_reset() was always called before usb_release_interface() and usb_close(), I solved the problem.

For libusb developers, my question is, should this be the case? There is nothing in the API docs to indicate that it's necessary - perhaps it is self-evident?

Farideh - in the belief that you are a point of contact for Epson developers - could you make them aware of this issue, if they aren't already.

I think this is relevant to SANE because although I had some success scanning with xsane and xscanimage, using the libsane-epson libraries, I still got timeouts if I closed, say, xsane, and then restarted it - for lack of a usb_reset() I believe.

Apologies if this is old news.
Tom SW