[sane-devel] scanbd Canon MG6250

Rolf Bensch rolf at bensch-online.de
Mon Feb 4 11:37:35 UTC 2013


Hi Matthias,

I prepared a first patch for your button problem. This should fix
receiving USB interrupts.

Please fetch latest Sane 1.0.24 from git: 'git clone
git://git.debian.org/sane/sane-backends.git'. git creates a new folder
"sane-backends". Please read "sane-backends/README.linux" how to install
Sane.

To accelerate build time you can configure Sane to compile Pixma backend
only with: 'BACKENDS="pixma" ./configure'.

Then you need to save the attached file to 'sane-backends/backend/' and
patch "pixma_mp150.c" with: 'patch pixma_mp150.c pixma_mp150.c.diff1'.

After this cd back to 'sane-backends' and install the patch with: 'make
&& sudo make install'.

Now you should get "[pixma]" messages while proceeding the test I
described in my last email.

If 'scanimage -A' still doesn't get data neither for --button-1,
--button-2, --original nor for --target, then please send me the
"[pixma]" messages for all buttons.

Cheers,
Rolf


Am 03.02.2013 23:33, schrieb Matthias Thon:
> Hello Rolf,
> 
> with both (LAN/USB) connections, i get no such messages "{pixma]" in the
> "Buttons:" section. I've tried different buttons (PDF, JPEG...BLACK,
> COLOR).
> 
> Attached output and error output after pressing "COLOR SCAN" Button.
> 
> regards Matthias
> 
> Am Sonntag, den 03.02.2013, 20:49 +0100 schrieb Rolf Bensch:
>> Hi Matthias,
>>
>> Please (1) activate debug messages with 'export SANE_DEBUG_PIXMA=11',
>> (2) push one of your scanners's buttons and
>> (3) read the button status with 'scanimage -A'.
>>
>> You should receive something similar like this:
>>
>> ...
>>   Buttons:
>>     --button-update
>>         Update button state
>> [pixma] INTR T=1.580 len=32
>> [pixma]  00000000:00 10 00 00 00 00 00 00  00 00 00 00 00 00 00 00
>> [pixma]  00000010:00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
>> [pixma]
>>     --button-1 <int> [1] [read-only]
>>         Button 1
>>     --button-2 <int> [0] [read-only]
>>         Button 2
>>     --original <int> [0] [read-only]
>>         Type of original to scan
>>     --target <int> [1] [read-only]
>>         Target operation type
>> ...
>>
>> If you get lines with [pixma], please repeat this test ((2) & (3)) with
>> all buttons and provide the output from all buttons. Please write the
>> name of the button to the corresponding debug output.
>>
>> If you don't get lines with [pixma], Sane doesn't receive the USB
>> interrupt from your scanner and I need to prepare a patch.
>>
>> Cheers,
>> Rolf
>>
>>
>>
>>
>> Am 03.02.2013 13:09, schrieb Matthias Thon:
>>> Hello Rolf,
>>>
>>> ihave checked your informations. The MG6250 doesn't have a target
>>> option. Only the two buttons.I have tryed many cases on the MG but the
>>> value of the buttons stay's at value "0". Normaly i have conncted the
>>> printer over wlan or ethernet. If i try to push "scan" and then "color"
>>> i get an error on the printer, because he doesn't recocnice the scanning
>>> PC. He shows me only "local USB".
>>>
>>> I have connected the printer with a USB_cable. Then i can push the
>>> "color" or "grey" button and the printe waits for the scanning  process.
>>> But scanimage -A shows no changes. The only change is in the resolution
>>> option. This option adds 4800 dpi.
>>>
>>> scanimage --button-controlled doesn't start the scan after pressing
>>> "color" or "grey" button.
>>>
>>> Scanning from outside (xsane) works well.
>>>
>>> regards Matthias
>>>
>>> Am Samstag, den 02.02.2013, 18:09 +0100 schrieb Rolf Bensch:
>>>> Hi Matthias,
>>>>
>>>> To discover the communication between Sane and scanbd try 'scanimage
>>>> -A'. Press a button and start 'scanimage -A' again. Repeat this until
>>>> you'll have the codes for all buttons.
>>>>
>>>> For my CS9000F I get data for --button-1, --button-2 *and* --target.
>>>>
>>>> Please have a look to my posting here:
>>>> http://lists.alioth.debian.org/pipermail/sane-devel/2013-January/030828.html.
>>>>
>>>> If you don't get any codes for your buttons please contact me again.
>>>> Then we have to patch the backend for your scanner.
>>>>
>>>> Cheers,
>>>> Rolf
>>>>
>>>>
>>>>
>>>> Am 01.02.2013 16:59, schrieb Matthias Thon:
>>>>> Hello,
>>>>> i've tried to use scanbd with my MG6200 Series device. He finds
>>>>> "button-1" and "button-2" option. But the value is still "0".
>>>>>
>>>>> I have try "Scan" -> "Black&White" or "Scan" -> "Color".
>>>>>
>>>>> Is there a way to see more detailed the communication between scanbd and
>>>>> the device? (more then with debug level 7)
>>>>>
>>>>> regards
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
> 
-------------- next part --------------
--- ./pixma_mp150.c	2013-02-04 11:58:50.000000000 +0100
+++ ../sane-backends/backend/pixma_mp150.c	2013-02-04 12:01:49.000000000 +0100
@@ -895,7 +895,7 @@
 static int
 handle_interrupt (pixma_t * s, int timeout)
 {
-  uint8_t buf[16];
+  uint8_t buf[64];
   int len;
 
   len = pixma_wait_interrupt (s->io, buf, sizeof (buf), timeout);
@@ -903,7 +903,7 @@
     return 0;
   if (len < 0)
     return len;
-  if (len != 16)
+  if (len%16)           /* len must be a multiple of 16 bytes */
     {
       PDBG (pixma_dbg
 	    (1, "WARNING:unexpected interrupt packet length %d\n", len));


More information about the sane-devel mailing list