Canon CanoScan 9000F MarkII hangs after a few scans
I'm on Linux 5.6.14-050614-generic #202005200733 SMP Wed May 20 07:38:05 UTC 2020 x86_64, using scanimage (sane-backends) 1.0.29; backend version 1.0.29. I'm using the pixma backend on a Canon CanoScan 9000F MarkII, which initially works perfectly. That is, I can scan about 3-5 pages until the next scan fails:
scanimage: sane_read: Error during device I/O
Afterwards, the scanner "hangs" in some sort of loop and the blue power LED blinks ("busy"). I have to power it down and back up again to get it to work. In the "hung" state, I get I/O errors instantly:
$ export SANE_DEBUG_DLL=255
$ scanimage -vvvvvvv -d pixma: >/dev/null
[17:58:22.678218] [sanei_debug] Setting debug level of dll to 255.
[17:58:22.678319] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.29
[17:58:22.678342] [dll] sane_init/read_dlld: attempting to open directory `./dll.d'
[17:58:22.678368] [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d'
[17:58:22.678396] [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d'
[17:58:22.678431] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip
[17:58:22.678465] [dll] sane_init/read_config: reading dll.d/hplip
[17:58:22.678500] [dll] add_backend: adding backend `hpaio'
[17:58:22.678533] [dll] sane_init/read_dlld: done.
[17:58:22.678562] [dll] sane_init/read_config: reading dll.conf
[...]
[17:58:23.211058] [dll] sane_control_option(handle=0x55b03f78bbb0,option=13,action=1,value=0x7ffc439d7320,info=0x7ffc439d71f4)
[17:58:23.211077] [dll] sane_control_option(handle=0x55b03f78bbb0,option=12,action=0,value=0x7ffc439d7300,info=(nil))
[17:58:23.211095] [dll] sane_get_option_descriptor(handle=0x55b03f78bbb0,option=14)
[17:58:23.211112] [dll] sane_control_option(handle=0x55b03f78bbb0,option=14,action=1,value=0x7ffc439d7320,info=0x7ffc439d71f4)
[17:58:23.211145] [dll] sane_start(handle=0x55b03f78bbb0)
[17:58:23.211301] [dll] sane_get_parameters(handle=0x55b03f78bbb0,params=0x7ffc439d7300)
scanimage: scanning image of size 638x877 pixels at 24 bits/pixel
scanimage: acquiring RGB frame
[17:58:23.211351] [dll] sane_read(handle=0x55b03f78bbb0,data=0x55b03f767dc0,maxlen=32768,lenp=0x7ffc439d72d4)
(this is where it hangs for a few seconds, then:)
scanimage: min/max graylevel value = 255/0
scanimage: sane_read: Error during device I/O
[17:58:28.316872] [dll] sane_cancel(handle=0x55b03f78bbb0)
Closing device
[17:58:28.316913] [dll] sane_close(handle=0x55b03f78bbb0)
Calling sane_exit
[17:58:28.317004] [dll] sane_exit: exiting
[17:58:28.317028] [dll] sane_exit: calling backend `pixma's exit function
[17:58:28.317110] [dll] sane_exit: finished
scanimage: finished
Also maybe of interest, the "scan of death" (i.e., the one that allows no further scans) shows the following log:
[...]
[18:02:46.730722] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.737062] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.741989] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.746862] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.751743] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.758048] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.763171] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.768362] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.774684] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.779854] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.784832] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.789847] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
[18:02:46.793422] [dll] sane_read(handle=0x5611ae17fbb0,data=0x5611ae15bdc0,maxlen=32768,lenp=0x7ffc6558fda4)
scanimage: sane_read: Error during device I/O
[18:02:50.785356] [dll] sane_cancel(handle=0x5611ae17fbb0)
[18:02:50.785391] [dll] sane_close(handle=0x5611ae17fbb0)
[18:02:50.785547] [dll] sane_exit: exiting
[18:02:50.785580] [dll] sane_exit: calling backend `pixma's exit function
[18:02:50.785678] [dll] sane_exit: finished
I've changed the USB cable, no effect. I really don't know where to even begin debugging this. There are no USB errors whatsoever in dmesg
.
Can someone help with with this? Thank you, Johannes