[sane-devel] MP730 driver broken since pixma-0.12.2

m. allan noah kitno455 at gmail.com
Thu Mar 19 19:58:11 UTC 2009


Wade, that;s some pretty old code you are working with. The pixma
backend has new maintainers, and they have been very active. Now, the
MP730 is still listed as minimal, but I think an upgrade to sane CVS
is in order...

allan

On Thu, Mar 19, 2009 at 3:17 PM, Wade Fitzpatrick
<Wade.Fitzpatrick at optus.net.au> wrote:
> Hi all
>
> I spent some time in 2006 working with Wittawat Yamwong to get the Canon
> MultiPASS MP730 (US branding) or Canon imageCLASS MP730 (Asia-Pacific
> branding) supported in the pixma driver. Sadly, I had to move house at the
> time, the project also moved to a new mailing list and then life got in the
> way and I never had time to get back onto it until now.
>
> The driver worked for about 90% of functionality up until pixma-0.12.1 but
> something broke in 0.12.2. I managed to track it down to this diff:
>
> --- pixma_mp730.c.orig  2006-08-27 07:37:16.000000000 +1000
> +++ pixma_mp730.c       2009-03-20 03:28:16.000000000 +1100
> @@ -533,7 +533,7 @@
>         &pixma_mp730_ops,  /* ops */            \
>         dpi, dpi,          /* xdpi, ydpi */     \
>         w, h,              /* width, height */  \
> -        PIXMA_CAP_GRAY|PIXMA_CAP_EVENTS|cap                      \
> +        PIXMA_CAP_GRAY|/*PIXMA_CAP_EVENTS|*/cap                      \
>  }
>  const pixma_config_t pixma_mp730_devices[] = {
>  /* TODO: check area limits */
>
>
> Applying the same patch to pixma-0.13.1 also makes it work using the pixma
> test utility 'scan', but not when using the sane backend as a library. The
> error message is coming out of pixma_io_sanei.c:330 which only gets rolled
> into the libsane-pixma.so.1.0.19 library. I have tried using gdb to set a
> breakpoint and get a backtrace but gdb makes baby jesus cry.
>
> Can anyone help by explaining how to debug a shared lib and/or tell me why
> the pixma_write() function gets a count of 0?
>
> Thanks,
> Wade.
>
>
> helot mp150-0.12.1 # ./scan -d 100 -r 150 -m color -x 0 -y 0 -w 10 -h 20 -W
> -F experiment /tmp/foo.pnm
> [pixma-0.12.1] Scanning devices under
> /dev/bus/usb
> Connected
> scanner(s):
> 1: Canon MultiPASS MP730
> (SN:04A9262F_00000000F972)
> [pixma-0.12.1] pixma_open(): Canon MultiPASS
> MP730
> [pixma-0.12.1] Set interface
> 1,0
> [pixma-0.12.1] Found endpoints: 3 (OUT), 84 (IN), 85
> (INTR,64)
> Scan mode:
> color
> DPI:
> 150x150
> Offset:    (0,0) = (0.00cm,
> 0.00cm)
> Dimension: 59x118 = 1.00cm x
> 2.00cm
> Size:      21 kiB (uncompressed,
> raw)
> Source:
> Flatbed
> Scanning...
> [pixma-0.12.1]
> [pixma-0.12.1] pixma_scan():
> start
> [pixma-0.12.1]   line_size=180 image_size=21240 channels=3
> depth=8
> [pixma-0.12.1]   dpi=150x150 offset=(0,0)
> dimension=59x118
> [pixma-0.12.1]   gamma_table=0x60d318
> source=0
> [pixma-0.12.1] raw_width =
> 60
> [pixma-0.12.1] OUT  T=0.266
> len=10
> [pixma-0.12.1]  00000000:f3 20 00 00 00 00 00 00  0c
> 00
> [pixma-0.12.1]
> [pixma-0.12.1] IN   T=0.269
> len=14
> [pixma-0.12.1]  00000000:06 06 03 01 00 02 03 00  02 00 00 00 00
> f5
> [pixma-0.12.1]
> [pixma-0.12.1] Current status: paper=1 cal=0
> lamp=0
> [pixma-0.12.1] OUT  T=0.270
> len=20
> [pixma-0.12.1]  00000000:cf 60 00 00 00 00 00 00  0a 00 01 00 00 00 00
> 00
> [pixma-0.12.1]  00000010:00 00 00
> ff
> [----------snipped-------------]
> [pixma-0.12.1] Current status: paper=1 cal=0
> lamp=0
> [pixma-0.12.1] OUT  T=2.337
> len=20
> [pixma-0.12.1]  00000000:cf 60 00 00 00 00 00 00  0a 00 01 00 00 00 00
> 00
> [pixma-0.12.1]  00000010:00 00 00
> ff
> [pixma-0.12.1]
> [pixma-0.12.1] IN   T=2.341
> len=2
> [pixma-0.12.1]  00000000:06
> 06
> [pixma-0.12.1]
> [pixma-0.12.1]
> pixma_read_image():completed
> 100% done (21240 bytes
> written)
> [pixma-0.12.1] pixma_close(): Canon MultiPASS
> MP730
>
>
> helot mp150-0.12.2 # ./scan -d 100 -r 150 -m color -x 0 -y 0 -w 10 -h 20 -W
> -F experiment /tmp/foo.pnm
> [pixma-0.12.2] Scanning devices under /dev/bus/usb
> Connected scanner(s):
> 1: Canon MultiPASS MP730 (SN:04A9262F_00000000F972)
> [pixma-0.12.2] pixma_open(): Canon MultiPASS MP730
> [pixma-0.12.2] Set interface 1,0
> [pixma-0.12.2] Found endpoints: 3 (OUT), 84 (IN), 85 (INTR,64)
>
> ########## Page 1 ###########
> Scan mode: color
> DPI:       150x150
> Offset:    (0,0) = (0.00cm, 0.00cm)
> Dimension: 59x118 = 1.00cm x 2.00cm
> Size:      21 kiB (uncompressed, raw)
> Source:    Flatbed
> Press scan button to begin or Ctrl-C when finished!
> [pixma-0.12.2] INTR T=0.336 len=8
> [pixma-0.12.2]  00000000:00 00 00 00 00 08 00 00
> [pixma-0.12.2]
> [pixma-0.12.2] send_time() is not yet implemented.
> [pixma-0.12.2] INTR T=9.332 len=8
> [pixma-0.12.2]  00000000:00 00 00 00 00 08 00 00
> [pixma-0.12.2]
> [pixma-0.12.2] send_time() is not yet implemented.
> [pixma-0.12.2] pixma_close(): Canon MultiPASS MP730
>
>
> helot testsuite # PIXMA_EXPERIMENT=1 SANE_DEBUG_PIXMA=10 scanimage -d
> pixma:04A9262F_00000000F972 --resolution 150 --mode Color --format pnm -x 10
> -y 20 > /tmp/foo.pnm
> [sanei_debug] Setting debug level of pixma to 10.
> [pixma] pixma version 0.13.1
> [pixma] pixma_collect_devices() found Canon MultiPASS MP730 at
> libusb:002:004
> [pixma] pixma_open(): Canon MultiPASS MP730
> [pixma] Trying to clear the interrupt buffer...
> [pixma]   no packets in buffer
> [pixma] Reader task id=3979 (forked)
> [pixma] Reader task started
> [pixma]
> [pixma] pixma_scan(): start
> [pixma]   line_size=180 image_size=21240 channels=3 depth=8
> [pixma]   dpi=150x150 offset=(0,0) dimension=59x118
> [pixma]   gamma_table=0x61b3d0 source=0
> [pixma] INTR T=0.286 len=8
> [pixma]  00000000:00 00 00 00 00 08 00 00
> [pixma]
> [pixma] send_time() is not yet implemented.
> [pixma] raw_width = 60
> [pixma] WARNING:pixma_write(): count(0) != len(10)
> [pixma] OUT  T=0.307 len=-1
> [pixma]  00000000:f3 20 00 00 00 00 00 00  0c 00
> [pixma]   ERROR: EIO
> [pixma]
> [pixma] pixma_scan() failed EIO
> [pixma] Reader task terminated: EIO
> [pixma] read_image():reader task closed the pipe:0 bytes received, 21240
> bytes expected
> scanimage: sane_read: Error during device I/O
> [pixma] pixma_close(): Canon MultiPASS MP730
>
>
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request at lists.alioth.debian.org
>



-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list