[sane-devel] Canon MF4660 test/debug

Steve Hardy steve at appliedrealtime.co.uk
Sat Jan 17 15:20:25 UTC 2009


Hi,

I'm currently trying to get the USB scanner on my Canon MF4660
multi-function scanner/printer to work.

This device is not marked as supported anywhere on the sane site, but the
4690 is, which I believe is the same device only with added fax capability.

The 4690 is marked as needing testers on the CVS supported devices pages, so
I thought I'd install the CVS version & give it a go :

"imageCLASS MF4690   USB     0x04a9/0x26b0   Untested    Same protocol as
imageCLASS MF4270? Testers needed!     pixma
(0.15.0)    sane-pixma"

So having installed the CVS version (on Ubuntu Intrepid, x86), I can now see
the scanner, I followed the procedure discussed here :

http://ubuntuforums.org/showthread.php?t=878966

$ sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure
that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon,Inc.], product=0x26b0
[MF4600Series]) at libusb:005:004
  # Your USB scanner was (probably) detected. It may or may not be supported
by
  # SANE. Try scanimage -L and read the backend's manpage.

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


However, I have a problem when trying to scan using scanimage or xsane,
basically the scanner display goes to "Scanning Mode", but the applications
appear to be having trouble accessing the device :


$ scanimage -d pixma:04A926B0_4175H0007854P6
# SANE data follows
640 877
255
scanimage: sane_read: Error during device I/O

So I ran strace to see what was causing the sane_read error :

strace shows lots of EBUSY's :
<strace snip>
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
setsockopt(3, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
bind(3, {sa_family=AF_INET, sin_port=htons(8612),
sin_addr=inet_addr("192.168.1.5")}, 16) = 0
sendto(3, "BJNP\2\1\0\0\0\0\0\0\0\0\0\0", 16, 0, {sa_family=AF_INET,
sin_port=htons(8612), sin_addr=inet_addr("192.168.1.255")}, 16) = 16
select(4, [3], NULL, NULL, {1, 0})      = 0 (Timeout)
close(3)                                = 0
open("/dev/bus/usb/005/004", O_RDWR)    = 3
ioctl(3, USBDEVFS_SETCONFIGURATION, 0xbfb8ae14) = -1 EBUSY (Device or
resource busy)
ioctl(3, USBDEVFS_CLAIMINTERFACE, 0xbfb8ae14) = 0
gettimeofday({1232204360, 97778}, NULL) = 0
ioctl(3, USBDEVFS_SUBMITURB, 0xbfb8ad84) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbfb8adc8) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [3], NULL, {0, 1000})   = 0 (Timeout)
gettimeofday({1232204360, 101352}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbfb8adc8) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [3], NULL, {0, 1000})   = 0 (Timeout)
gettimeofday({1232204360, 105346}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbfb8adc8) = -1 EAGAIN (Resource
temporarily unavailable)
select(4, NULL, [3], NULL, {0, 1000})   = 0 (Timeout)
gettimeofday({1232204360, 109345}, NULL) = 0
ioctl(3, USBDEVFS_REAPURBNDELAY, 0xbfb8adc8) = -1 EAGAIN (Resource
temporarily unavailable)
</strace snip>


I get the same problem whether I run it as root or a normal user.

I will start digging into the root cause here, but would appreciate any tips
or suggestions regarding the best way to proceed debugging this.  I'm very
familiar with Linux development, but not very familar with sane or scanners
so any help will be gratefully recieved!

Regards,

Steve


<sane-devel at lists.alioth.debian.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20090117/fb3fd701/attachment-0001.htm 


More information about the sane-devel mailing list