[sane-devel] Unsupported device: Canon MF4018

Gleb Baryshev gleb.baryshev at gmail.com
Sat Feb 21 20:31:02 UTC 2009


Nicolas Martin wrote:
> This USB id is declared in the ImageCLass part of the pixma backend, and
> should be thus at least detected by scanimage. 
> 
> This looks here rather like a permission issue to access the scanner,
> from a standard user account, or a library mess up issue. 
> 
> Did you try the same scanimage command under root ?
> 
> If you can fix this permission issue, then we'll be able to check if the
> pixma backend can handle this model as is, or if it requires some
> tweaking. 
> 
> Nicolas 
> 
> Le jeudi 19 février 2009 à 19:26 +0300, Gleb Baryshev a écrit :
>> Hello
>>
>> I'd like to report an unsupported device. Its name is Canon i-Sensys MF4018.
>> Bus type: USB
>> USB id: 04a9/26b4
>> This multifunctional belongs to 4010 series and must be identical to 
>> MF4010. I tried to use sane-backends-2009-02-19, but 'scanimage -L' 
>> said: "No scanners were identified".

Gerald wrote:
> Please provide details when posting so that there is enough
> information to help.
> Your OS, version ?
> Sometimes the permission problems can be fixed by using a UDEV
>  assignment instruction prior to plugging in the device.  These might
> be distribution dependent.

I'm using Slackware 12.1 and Linux kernel 2.6.26.5.

I have copied libsane.rules to /etc/udev/rules.d/ and added myself to 
scanner group. Access rights became the following:
-rw-r--r-- 1 root root 80 2009-02-21 15:10 /proc/bus/usb/001/003
crw-rw-r-- 1 root scanner 189, 2 2009-02-21 15:10 /dev/bus/usb/001/003

But 'scanimage -L' still didn't work (neither under user nor under root).

By chance I found out that if I first change directory to 
/usr/local/etc/sane.d, scanimage works:

$ cd /usr/local/etc/sane.d

$ scanimage -L
device `pixma:04A926B4_SDF760260809Q' is a CANON Canon imageCLASS MF4010 
multi-function peripheral

$ scanimage -T
scanimage: scanning image of size 640x877 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1920 bytes...  PASS
scanimage: reading one byte...          PASS
scanimage: stepped read, 2 bytes...     PASS
scanimage: stepped read, 4 bytes...     PASS
scanimage: stepped read, 8 bytes...     PASS
scanimage: stepped read, 16 bytes...    PASS
scanimage: stepped read, 32 bytes...    PASS
scanimage: stepped read, 64 bytes...    PASS
scanimage: stepped read, 128 bytes...   PASS
scanimage: stepped read, 256 bytes...   PASS
scanimage: stepped read, 512 bytes...   PASS
scanimage: stepped read, 1024 bytes...  PASS
scanimage: stepped read, 2048 bytes...  PASS
scanimage: stepped read, 2047 bytes...  PASS
scanimage: stepped read, 1023 bytes...  PASS
scanimage: stepped read, 511 bytes...   PASS
scanimage: stepped read, 255 bytes...   PASS
scanimage: stepped read, 127 bytes...   PASS
scanimage: stepped read, 63 bytes...    PASS
scanimage: stepped read, 31 bytes...    PASS
scanimage: stepped read, 15 bytes...    PASS
scanimage: stepped read, 7 bytes...     PASS
scanimage: stepped read, 3 bytes...     PASS


The only problem is that sometimes scanner gets hang and 'scanimage -T' 
fails:
scanimage: reading one scanline, 1920 bytes...  FAIL Error: Error during 
device I/O

More detailed (with SANE_DEBUG_PIXMA=21):

$ scanimage -T
[sanei_debug] Setting debug level of pixma to 21.
[pixma] pixma version 0.15.0
[pixma] pixma_collect_devices() found Canon imageCLASS MF4010 at 
libusb:001:004
[pixma] sanei_bjnp_find_devices:
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] scanner discovery finished...
[pixma] pixma_find_scanners() found 1 devices
[pixma] pixma_collect_devices() found Canon imageCLASS MF4010 at 
libusb:001:004
[pixma] sanei_bjnp_find_devices:
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] scanner discovery finished...
[pixma] pixma_open(): Canon imageCLASS MF4010
[pixma] Trying to clear the interrupt buffer...
[pixma]   no packets in buffer
[pixma] Reader task started
[pixma]
[pixma] pixma_scan(): start
[pixma]   line_size=1920 image_size=1683840 channels=3 depth=8
[pixma]   dpi=75x75 offset=(0,0) dimension=640x877
[pixma]   gamma_table=0x828741c source=0
[pixma] Reader task id=9082 (forked)
scanimage: scanning image of size 640x877 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1920 bytes...  [pixma] raw_width = 640
[pixma] OUT  T=3.345 len=10
[pixma]  00000000:f3 20 00 00 00 00 00 00  0c 00
[pixma]
[pixma] IN   T=4.353 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 8 sec.
[pixma] IN   T=5.359 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 7 sec.
[pixma] IN   T=6.366 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 6 sec.
[pixma] IN   T=7.373 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 5 sec.
[pixma] IN   T=8.380 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 4 sec.
[pixma] IN   T=9.386 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 3 sec.
[pixma] IN   T=10.394 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 2 sec.
[pixma] IN   T=11.400 len=-9
[pixma]   ERROR: ETIMEDOUT
[pixma]
[pixma] No response yet. Timed out in 1 sec.
[pixma] WARNING:Error in response phase. cmd:c0dd
[pixma]   If the scanner hangs, reset it and/or unplug the USB cable.
[pixma] pixma_scan() failed ETIMEDOUT
[pixma] read_image():reader task closed the pipe:0 bytes received, 
1683840 bytes expected
[pixma] Reader task terminated: ETIMEDOUT
FAIL Error: Error during device I/O
[pixma] pixma_close(): Canon imageCLASS MF4010


In this case, resetting scanner or unplugging USB cable helps.

I have tried some modes (using scanimage and xsane) - scanner seems to 
work as expected. Can you tell me (or give a link) what tests scanner 
should pass to be "supported"?


Gleb




More information about the sane-devel mailing list