[sane-devel] Problems with Canon Pixma MP500 on Buffalo
Linkstation
Wittawat Yamwong
wy-sane-devel at arcor.de
Fri Mar 16 01:56:30 CET 2007
Hello Thomas,
On Thursday 15 March 2007 22:02, t.tensi at gmx.de wrote:
> [...]
> I assume that "INTR" means interrupt, doesn't it? One
> possible explanation for the error is that the linkstation
> does not react to some device interrupt by the scanner.
Yes, INTR stands for interrupt.
> Is this protocol for the Pixma different to other scanners?
> I know that some people seem to have sucessfully installed
> SANE on a linkstation...
Yes, USB scanner protocols are very different and there is no "standard" USB
scanner protocol, unfortunately. Anyway, it is still possible to get the
pixma work without interrupt handling. Look at the function
wait_until_ready() in backend/pixma_mp150.c. You'll see this code block:
#if 0
/* If we use sanei_usb_*, we sometimes lose interrupts! So poll the
* status here. */
error = query_status (s);
if (error < 0)
return error;
#endif
If you replace "#if 0" with "#if 1", the driver will poll the scanner's status
once every second. Keep looking in the debug message for hexdump like this:
[pixma] OUT T=x.xxx len=16
[pixma] 00000000:f3 20 00 00 00 00 00 00 00 00 00 00 00 00 00 0c
[pixma]
[pixma] IN T=x.xxx len=20
[pixma] 00000000:06 06 00 00 00 00 00 00 01 00 00 00 03 00 02 00
[pixma] 00000010:00 21 00 d9
^^---- ready?
When the scanner is ready, the value at offset 0x10 will be 01 instead of 00.
Please also make sure that the USB port is running at high speed (480
Mbit/s).
Regards
--
Wittawat Yamwong
Hannover, Germany
More information about the sane-devel
mailing list