Hi, I got offsets working. I had to align the x and y values to 32 pixel boundaries. Now I can pass any parameter I can think of on the command line to pixmascan and it works. The graphical scanners are still quite unstable for me. The ubuntu/debian packages for xsane and the like don't have debugging symbols, so I have to go rebuild those before I can do more. Attached is a patch that combines the experimental mp600 patch with the alignments I had to add.
Marcus K?ll wrote: > Hi, > > Thank you! > > The driver now works as long as I scan the whole image. If I set an > offset it fails. Below is the output from xsane when the scanning fails. > Maybe this can help you to debug. > > Best Regards Marcus > > output: > [pixma-0.12.2] pixma version 0.12.2 > [pixma-0.12.2] Scanning devices under /dev/bus/usb > [pixma-0.12.2] Scanning devices under /dev/bus/usb > [pixma-0.12.2] pixma_open(): Canon PIXMA MP160 > [pixma-0.12.2] Set interface 0,0 > [pixma-0.12.2] Found endpoints: 7 (OUT), 88 (IN), 89 (INTR,64) > [pixma-0.12.2] OUT T=0.755 len=16 > [pixma-0.12.2] 00000000:f3 20 00 00 00 00 00 00 00 00 00 00 00 00 00 > 10 > [pixma-0.12.2] > [pixma-0.12.2] IN T=0.757 len=24 > [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 01 00 00 00 00 03 00 > 02 > [pixma-0.12.2] 00000010:00 00 00 00 00 00 00 fa > [pixma-0.12.2] > [pixma-0.12.2] Current status: paper=0 cal=0 lamp=2 busy=0 > [pixma-0.12.2] Reader task started > [pixma-0.12.2] > [pixma-0.12.2] pixma_scan(): start > [pixma-0.12.2] line_size=1908 image_size=1667592 channels=3 depth=8 > [pixma-0.12.2] dpi=75x75 offset=(1,1) dimension=636x874 > [pixma-0.12.2] gamma_table=0x8262168 source=0 > [pixma-0.12.2] Reader task id=5444 (forked) > [pixma-0.12.2] Setting non-blocking mode > [pixma-0.12.2] OUT T=34.676 len=16 > [pixma-0.12.2] 00000000:db 20 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 > [pixma-0.12.2] > [pixma-0.12.2] IN T=34.677 len=8 > [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 > [pixma-0.12.2] > [pixma-0.12.2] OUT T=34.678 len=28 > [pixma-0.12.2] 00000000:dd 20 00 00 00 00 00 00 00 00 00 00 00 00 00 > 0c > [pixma-0.12.2] 00000010:01 01 00 00 00 01 00 00 00 00 00 fd > [pixma-0.12.2] > [pixma-0.12.2] IN T=34.679 len=8 > [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 > [pixma-0.12.2] > [pixma-0.12.2] OUT T=34.693 len=2072 > [pixma-0.12.2] 00000000:ee 20 00 00 00 00 00 00 00 00 00 00 00 00 08 > 08 > [pixma-0.12.2] 00000010:10 00 08 04 00 00 00 00 00 00 00 00 00 00 00 > 00 > [pixma-0.12.2] 00000020:00 00 00 00 00 00 00 00 00 01 00 01 00 02 00 > 02 > [pixma-0.12.2] 00000030:00 03 00 03 00 04 00 04 00 04 00 05 00 05 00 > 06 > [pixma-0.12.2] 00000040:00 06 00 06 00 07 00 07 00 08 00 08 00 08 00 > 09 > [pixma-0.12.2] 00000050:00 09 00 0a 00 0a 00 0a 00 0b 00 0b 00 0b 00 > 0c > [pixma-0.12.2] 00000060:00 0c 00 0c 00 0d 00 0d 00 0e 00 0e 00 0e 00 > 0f > [pixma-0.12.2] 00000070:00 0f 00 0f 00 10 00 10 00 10 00 11 00 11 00 > 11 > [pixma-0.12.2] ... > [pixma-0.12.2] > [pixma-0.12.2] IN T=34.694 len=8 > [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 > [pixma-0.12.2] > [pixma-0.12.2] OUT T=34.695 len=64 > [pixma-0.12.2] 00000000:de 20 00 00 00 00 00 00 00 00 00 00 00 00 00 > 30 > [pixma-0.12.2] 00000010:00 00 00 00 80 4b 80 4b 00 00 00 01 00 00 00 > 01 > [pixma-0.12.2] 00000020:00 00 02 7c 00 00 03 6a 08 18 00 00 00 00 00 > 00 > [pixma-0.12.2] 00000030:ff 00 00 81 00 00 02 01 00 00 00 00 00 00 00 > da > [pixma-0.12.2] > [pixma-0.12.2] IN T=34.697 len=8 > [pixma-0.12.2] 00000000:15 15 00 00 00 00 00 00 > [pixma-0.12.2] > [pixma-0.12.2] OUT T=34.698 len=16 > [pixma-0.12.2] 00000000:ef 20 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 > [pixma-0.12.2] > [pixma-0.12.2] IN T=34.699 len=8 > [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 > [pixma-0.12.2] > [pixma-0.12.2] pixma_scan() failed ECANCELED > [pixma-0.12.2] read_image():reader task closed the pipe:0 bytes > received, 1667592 bytes expected > [pixma-0.12.2] Reader task terminated: ECANCELED > [pixma-0.12.2] pixma_close(): Canon PIXMA MP160 > > > > >> Hi, >> >> All of the generation 2: CIS Canon Pixma printers seem to suffer from >> the same issue which seems to be a problem with the parameters passed to >> the printer. aligning the pixels for the raw width to 16 for both gray >> and color seems to fix part of the problem, but I still cannot pass an >> arbirtrary offset x,y value. This site has a patch for an MP600, which >> you need to use before anything will work: >> >> http://pixma-mp600.sourceforge.jp/ >> >> From the patch: >> /* Generation 2: CIS */ >> DEVICE("Canon PIXMA MP160", MP160_PID, 600, PIXMA_CAP_EXPERIMENT), >> DEVICE("Canon PIXMA MP180", UNKNOWN_PID, 1200, PIXMA_CAP_EXPERIMENT), >> DEVICE("Canon PIXMA MP460", MP460_PID, 1200, 0), >> DEVICE("Canon PIXMA MP510", UNKNOWN_PID, 1200, PIXMA_CAP_EXPERIMENT), >> DEVICE("Canon PIXMA MP600", MP600_PID, 2400, 0), >> DEVICE("Canon PIXMA MP600R", UNKNOWN_PID, 2400, PIXMA_CAP_EXPERIMENT), >> >> Any of these printers are probably affected..... >> >> >> Marcus K?ll wrote: >> >>> Hi! >>> >>> I have a Canon pixma MP160 which is not supported by sane. MP150 and >>> MP170 are supported. >>> >>> I have no idea how the MP160 interface works, but I guess it is quite >>> similar to MP150 and MP170, so I modified the driver for MP150 and MP170 >>> from SANE-backends-1.0.18. >>> >>> So, I added the line: >>> DEVICE ("Canon PIXMA MP160", 0x1714, 1200, 0), >>> to the file pixma_mp150.c. This line is almost the same as the lines for >>> MP150 and MP170, but I changed the name and vendor id. I found the >>> vendor id from sane-find-scanner utility. >>> >>> After that I compiled it for ubuntu 6.06. The default SANE-backend >>> version for ubuntu 6.06 is 1.0.17 but the compiling process did not >>> complain. >>> >>> With those modifications xsane finds my scanner, but when I try to scan >>> xsane tells me that there was an error and aborts the scan. >>> >>> The following lines contains the output from the pixma driver with >>> highest debugging enabled. >>> >>> [sanei_debug] Setting debug level of pixma to 10. >>> [pixma] pixma version 0.11.3 >>> [pixma] pixma_open(): Canon PIXMA MP160 >>> [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=638x877 >>> [pixma] gamma_table=0x8262270 source=0 >>> [pixma] Reader task id=6387 (forked) >>> [pixma] Setting non-blocking mode >>> [pixma] OUT T=52.746 len=16 >>> [pixma] 00000000:db 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> [pixma] >>> [pixma] IN T=52.753 len=8 >>> [pixma] 00000000:06 06 00 00 00 00 00 00 >>> [pixma] >>> [pixma] OUT T=52.797 len=28 >>> [pixma] 00000000:dd 20 00 00 00 00 00 00 00 00 00 00 00 00 00 0c >>> [pixma] 00000010:01 01 00 00 00 00 00 00 00 00 00 fe >>> [pixma] >>> [pixma] IN T=52.831 len=8 >>> [pixma] 00000000:15 15 00 00 00 00 00 00 >>> [pixma] >>> [pixma] OUT T=52.832 len=16 >>> [pixma] 00000000:ef 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>> [pixma] >>> [pixma] IN T=52.833 len=8 >>> [pixma] 00000000:06 06 00 00 00 00 00 00 >>> [pixma] >>> [pixma] pixma_scan() failed:Operationen avbruten >>> [pixma] Reader task terminated: Operationen avbruten >>> [pixma] read_image():reader task closed the pipe:0 bytes received, >>> 1683840 bytes expected >>> [pixma] pixma_close(): Canon PIXMA MP160 >>> >>> Can anyone help me with this driver? >>> >>> Best Regards Marcus >>> >>> >>> >>> >> -- David Nicklay O- Location: CNN Center - SE0811A Office: 404-827-2698 Cell: 404-545-6218 -------------- next part -------------- A non-text attachment was scrubbed... Name: generation2.patch Type: text/x-patch Size: 7199 bytes Desc: not available Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20070110/dc11e034/generation2.bin From marcus.k...@gmail.com Tue Jan 9 21:28:07 2007 From: marcus.k...@gmail.com (Marcus =?ISO-8859-1?Q?K=E4ll?=) Date: Wed Jan 10 17:07:33 2007 Subject: [sane-devel] Canon pixma MP160 In-Reply-To: <45a307df.2040...@nicklay.com> References: <1167576542.6597.2.camel@Lappen> <1168189087.24196.3.camel@nemo> <1168286167.5536.11.camel@nemo> <45a307df.2040...@nicklay.com> Message-ID: <1168374487.4954.7.camel@nemo> Hi, Thank you! The driver now works as long as I scan the whole image. If I set an offset it fails. Below is the output from xsane when the scanning fails. Maybe this can help you to debug. Best Regards Marcus output: [pixma-0.12.2] pixma version 0.12.2 [pixma-0.12.2] Scanning devices under /dev/bus/usb [pixma-0.12.2] Scanning devices under /dev/bus/usb [pixma-0.12.2] pixma_open(): Canon PIXMA MP160 [pixma-0.12.2] Set interface 0,0 [pixma-0.12.2] Found endpoints: 7 (OUT), 88 (IN), 89 (INTR,64) [pixma-0.12.2] OUT T=0.755 len=16 [pixma-0.12.2] 00000000:f3 20 00 00 00 00 00 00 00 00 00 00 00 00 00 10 [pixma-0.12.2] [pixma-0.12.2] IN T=0.757 len=24 [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 01 00 00 00 00 03 00 02 [pixma-0.12.2] 00000010:00 00 00 00 00 00 00 fa [pixma-0.12.2] [pixma-0.12.2] Current status: paper=0 cal=0 lamp=2 busy=0 [pixma-0.12.2] Reader task started [pixma-0.12.2] [pixma-0.12.2] pixma_scan(): start [pixma-0.12.2] line_size=1908 image_size=1667592 channels=3 depth=8 [pixma-0.12.2] dpi=75x75 offset=(1,1) dimension=636x874 [pixma-0.12.2] gamma_table=0x8262168 source=0 [pixma-0.12.2] Reader task id=5444 (forked) [pixma-0.12.2] Setting non-blocking mode [pixma-0.12.2] OUT T=34.676 len=16 [pixma-0.12.2] 00000000:db 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] IN T=34.677 len=8 [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] OUT T=34.678 len=28 [pixma-0.12.2] 00000000:dd 20 00 00 00 00 00 00 00 00 00 00 00 00 00 0c [pixma-0.12.2] 00000010:01 01 00 00 00 01 00 00 00 00 00 fd [pixma-0.12.2] [pixma-0.12.2] IN T=34.679 len=8 [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] OUT T=34.693 len=2072 [pixma-0.12.2] 00000000:ee 20 00 00 00 00 00 00 00 00 00 00 00 00 08 08 [pixma-0.12.2] 00000010:10 00 08 04 00 00 00 00 00 00 00 00 00 00 00 00 [pixma-0.12.2] 00000020:00 00 00 00 00 00 00 00 00 01 00 01 00 02 00 02 [pixma-0.12.2] 00000030:00 03 00 03 00 04 00 04 00 04 00 05 00 05 00 06 [pixma-0.12.2] 00000040:00 06 00 06 00 07 00 07 00 08 00 08 00 08 00 09 [pixma-0.12.2] 00000050:00 09 00 0a 00 0a 00 0a 00 0b 00 0b 00 0b 00 0c [pixma-0.12.2] 00000060:00 0c 00 0c 00 0d 00 0d 00 0e 00 0e 00 0e 00 0f [pixma-0.12.2] 00000070:00 0f 00 0f 00 10 00 10 00 10 00 11 00 11 00 11 [pixma-0.12.2] ... [pixma-0.12.2] [pixma-0.12.2] IN T=34.694 len=8 [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] OUT T=34.695 len=64 [pixma-0.12.2] 00000000:de 20 00 00 00 00 00 00 00 00 00 00 00 00 00 30 [pixma-0.12.2] 00000010:00 00 00 00 80 4b 80 4b 00 00 00 01 00 00 00 01 [pixma-0.12.2] 00000020:00 00 02 7c 00 00 03 6a 08 18 00 00 00 00 00 00 [pixma-0.12.2] 00000030:ff 00 00 81 00 00 02 01 00 00 00 00 00 00 00 da [pixma-0.12.2] [pixma-0.12.2] IN T=34.697 len=8 [pixma-0.12.2] 00000000:15 15 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] OUT T=34.698 len=16 [pixma-0.12.2] 00000000:ef 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] IN T=34.699 len=8 [pixma-0.12.2] 00000000:06 06 00 00 00 00 00 00 [pixma-0.12.2] [pixma-0.12.2] pixma_scan() failed ECANCELED [pixma-0.12.2] read_image():reader task closed the pipe:0 bytes received, 1667592 bytes expected [pixma-0.12.2] Reader task terminated: ECANCELED [pixma-0.12.2] pixma_close(): Canon PIXMA MP160 > Hi, > > All of the generation 2: CIS Canon Pixma printers seem to suffer from > the same issue which seems to be a problem with the parameters passed to > the printer. aligning the pixels for the raw width to 16 for both gray > and color seems to fix part of the problem, but I still cannot pass an > arbirtrary offset x,y value. This site has a patch for an MP600, which > you need to use before anything will work: > > http://pixma-mp600.sourceforge.jp/ > > From the patch: > /* Generation 2: CIS */ > DEVICE("Canon PIXMA MP160", MP160_PID, 600, PIXMA_CAP_EXPERIMENT), > DEVICE("Canon PIXMA MP180", UNKNOWN_PID, 1200, PIXMA_CAP_EXPERIMENT), > DEVICE("Canon PIXMA MP460", MP460_PID, 1200, 0), > DEVICE("Canon PIXMA MP510", UNKNOWN_PID, 1200, PIXMA_CAP_EXPERIMENT), > DEVICE("Canon PIXMA MP600", MP600_PID, 2400, 0), > DEVICE("Canon PIXMA MP600R", UNKNOWN_PID, 2400, PIXMA_CAP_EXPERIMENT), > > Any of these printers are probably affected..... > > > Marcus K?ll wrote: > > Hi! > > > > I have a Canon pixma MP160 which is not supported by sane. MP150 and > > MP170 are supported. > > > > I have no idea how the MP160 interface works, but I guess it is quite > > similar to MP150 and MP170, so I modified the driver for MP150 and MP170 > > from SANE-backends-1.0.18. > > > > So, I added the line: > > DEVICE ("Canon PIXMA MP160", 0x1714, 1200, 0), > > to the file pixma_mp150.c. This line is almost the same as the lines for > > MP150 and MP170, but I changed the name and vendor id. I found the > > vendor id from sane-find-scanner utility. > > > > After that I compiled it for ubuntu 6.06. The default SANE-backend > > version for ubuntu 6.06 is 1.0.17 but the compiling process did not > > complain. > > > > With those modifications xsane finds my scanner, but when I try to scan > > xsane tells me that there was an error and aborts the scan. > > > > The following lines contains the output from the pixma driver with > > highest debugging enabled. > > > > [sanei_debug] Setting debug level of pixma to 10. > > [pixma] pixma version 0.11.3 > > [pixma] pixma_open(): Canon PIXMA MP160 > > [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=638x877 > > [pixma] gamma_table=0x8262270 source=0 > > [pixma] Reader task id=6387 (forked) > > [pixma] Setting non-blocking mode > > [pixma] OUT T=52.746 len=16 > > [pixma] 00000000:db 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > > [pixma] > > [pixma] IN T=52.753 len=8 > > [pixma] 00000000:06 06 00 00 00 00 00 00 > > [pixma] > > [pixma] OUT T=52.797 len=28 > > [pixma] 00000000:dd 20 00 00 00 00 00 00 00 00 00 00 00 00 00 0c > > [pixma] 00000010:01 01 00 00 00 00 00 00 00 00 00 fe > > [pixma] > > [pixma] IN T=52.831 len=8 > > [pixma] 00000000:15 15 00 00 00 00 00 00 > > [pixma] > > [pixma] OUT T=52.832 len=16 > > [pixma] 00000000:ef 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > > [pixma] > > [pixma] IN T=52.833 len=8 > > [pixma] 00000000:06 06 00 00 00 00 00 00 > > [pixma] > > [pixma] pixma_scan() failed:Operationen avbruten > > [pixma] Reader task terminated: Operationen avbruten > > [pixma] read_image():reader task closed the pipe:0 bytes received, > > 1683840 bytes expected > > [pixma] pixma_close(): Canon PIXMA MP160 > > > > Can anyone help me with this driver? > > > > Best Regards Marcus > > > > > > > >