Hi!
With the Avision FB2280E scanner there are two options to cancel a running scan: by calling sane_cancel() (clicking "Cancel" in XSane) and by pressing the "Cancel" hardware button on the scanner. Both options seem to be buggy. Calling sane_cancel() doesn't abort the scan on the hardware level: the scanning head moves on to the end of the area. Moreover, the next scan attempt results in reading cached data without the actual scan! I'm not sure where it is cached: in the scanner or in the backend, but it's obviously that sane_cancel() doesn't perform some kind of clean or reset, so the next scan is done as a continuation or a restart of the previous scan. Is that a known behaviour with Avision? And, possibly, with other scanners/backends? Next. Pressing the hardware "Cancel" for the first time, aborts the current scan (the light is turned off, the scanner's head returns to the start [though, slowly!]). However, that makes further scanning impossible: a long delay, then a permanent I/O error is reported. Libusb reports "err: 11 Resource temporarily unavailable". Restarting XSane without poweroff the scanner (!) fixes the problem. Is that a known behaviour with Avision?
