[sane-devel] scanbd Canon MG6250

Rolf Bensch rolf at bensch-online.de
Wed Feb 6 13:39:03 UTC 2013


Hi Matthias,

I prepared a 3rd patch. This patch is based on the 2nd patch.

Now button 1 is "COLOR" and button 2 is "BLACK", as usually used from
other Pixma scanners. I removed any output to target.

Please give me a small feedback if everything is working for you. Then
I'll commit the patch to git.

Now you can test your scanner via LAN.

Cheers,
Rolf


Am 06.02.2013 14:09, schrieb Matthias Thon:
> Hi Rolf,
> 
> great.... now i see a reaction at the debug output. Seems that Button1
> ist "BLACK" and Button2 ist "COLOR". I found no reaction if scanner is
> opened or closed. In some cases "FOTO", "PDF" target is set.
> 
> 1. Autom. Scan -> BLACK
> [pixma] INTR T=1.391 len=32
> [pixma]  00000000:00 00 00 01 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
> 
> 2. Autom. Scan -> COLOR
> 
> [pixma] INTR T=1.315 len=32
> [pixma]  00000000:00 00 00 00 01 01 03 02  01 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> [0] [read-only]
>         Button 1
>     --button-2 <int> [1] [read-only]
>         Button 2
>     --original <int> [0] [read-only]
>         Type of original to scan
>     --target <int> [0] [read-only]
>         Target operation type
>  
> 
> 3. Dokument -> PDF -> BLACK
> [pixma] INTR T=1.421 len=32
> [pixma]  00000000:00 00 00 01 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
> 
> 4. Foto -> TIFF -> BLACK
> [pixma] INTR T=1.421 len=32
> [pixma]  00000000:00 00 00 01 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
> 
> 
> 
> 2013/2/6 Rolf Bensch <rolf at bensch-online.de <mailto:rolf at bensch-online.de>>
> 
>     Hi Matthias,
> 
>     I prepared a 2nd patch for pixma_mp150.c. This should fix the timeout
>     problem and sets "--button-1", "--button-2" and "--target". This patch
>     is based on the first patch.
> 
>     Please test the patched version with enabled debug messages: 'export
>     SANE_DEBUG_PIXMA=21' and test both buttons ("BLACK" and "COLOR") with
>     'scanimage -A'.
> 
>     Please test *all* buttons, also the ones on the touch screen and if
>     there is a signal if the cover is opened and closed.
> 
>     You can see any response / signal in these lines:
> 
>     [pixma] INTR T=1.432 len=32
>     [pixma]  00000000:00 00 00 01 00 00 00 00  00 00 00 00 00 00 00 00
>         "COLOR" button pressed:^^
>     [pixma]  00000010:00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 
>     Cheers,
>     Rolf
> 
> 
> 
>     Am 06.02.2013 10:43, schrieb Matthias Thon:
>     > Hi Rolf,
>     >
>     > The MG6250 has a small Display. All Buttons are normaly invisible. The
>     > device only illuminate the buttons, which can be used in the actual
>     > context.
>     >
>     > 3 Buttons are under the display.  5 Buttons are for up, down, right,
>     > left and in the middle OK. Then we have a "home" and a "return"
>     Button.
>     > And at last two buttons for copy,scan in "BLACK" or "COLOR".
>     >
>     > For example: I press the right button under the display (Scan). After
>     > that the device illuminates the home, return, black, color and the
>     left
>     > and middle buttons under the display.
>     >
>     > Which button we use for scanbd is equal.
>     >
>     > If i start scanimage -A, sane sending time and the trying to read 8
>     > byte. This read failed (Resource temporarily unavailable. After that i
>     > can press different buttons, but no reaction by scanimage.
>     >
>     >
>     > After pressing "COLOR" or "BLACK" the device shows "Verarbeitung....
>     > Bitte warten" and waits for about 1 Minute. Seems that the device
>     wating
>     > for transfer scan data. But the scan-motor doesn't do anything.
>     >
>     > regards matthias
>     >
>     >
>     > 2013/2/6 Rolf Bensch <rolf at bensch-online.de
>     <mailto:rolf at bensch-online.de> <mailto:rolf at bensch-online.de
>     <mailto:rolf at bensch-online.de>>>
>     >
>     >     Hi Matthias,
>     >
>     >     Super! Please send me the same logs for all buttons, one by
>     one. Then
>     >     I'll prepare the next patch. By now you can ignore the timeout.
>     >
>     >     Some programs use "--button-1" to scan a page and "--button-2"
>     to end a
>     >     scan session. For my scanner I'm using all buttons for
>     "--button-1"
>     >     except button "PDF End" for "--button-2". And secondary the
>     individual
>     >     button code is in "--target".
>     >
>     >     I like to implement the buttons of your scanner in the same
>     way. Which
>     >     button do you like to connect to "--button-2"?
>     >
>     >     Cheers,
>     >     Rolf
>     >
>     >
>     >     Am 05.02.2013 23:13, schrieb Matthias Thon:
>     >     > Hi Rolf,
>     >     > here the dump with the higher Debug-Levels. I interrupt
>     after pressing
>     >     > the "COLOR" Scan-Button and the second timout.
>     >     >
>     >     > regards Matthias
>     >     >
>     >     >         Width of scan-area.
>     >     >     -y auto|0..297.011mm [297.011]
>     >     >         Height of scan-area.
>     >     >   Buttons:
>     >     >     --button-update
>     >     >         Update button state
>     >     > [sanei_usb] sanei_usb_read_int: trying to read 64 bytes
>     >     > [sanei_usb] sanei_usb_read_int: wanted 64 bytes, got 32 bytes
>     >     > [sanei_usb] 000 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
>     >     > ................
>     >     > [sanei_usb] 010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>     >     > ................
>     >     > [pixma] INTR T=1.432 len=32
>     >     > [pixma]  00000000:00 00 00 01 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]
>     >     > [pixma] Sending time: '13/02/05 23:10'
>     >     > [sanei_usb] sanei_usb_write_bulk: trying to write 36 bytes
>     >     > [sanei_usb] 000 EB 80 00 00 00 00 00 00 00 00 00 00 00 00 00 14
>     >     > ................
>     >     > [sanei_usb] 010 31 33 2F 30 32 2F 30 35 20 32 33 3A 31 30 00 00
>     >     13/02/05
>     >     > 23:10..
>     >     > [sanei_usb] 020 00 00 00 57
>     >     > ...W
>     >     > [sanei_usb] sanei_usb_write_bulk: wanted 36 bytes, wrote 36
>     bytes
>     >     > [pixma] OUT  T=1.433 len=36
>     >     > [pixma]  00000000:eb 80 00 00 00 00 00 00  00 00 00 00 00 00
>     00 14
>     >     > [pixma]  00000010:31 33 2f 30 32 2f 30 35  20 32 33 3a 31 30
>     00 00
>     >     > [pixma]  00000020:00 00 00 57
>     >     > [pixma]
>     >     > [sanei_usb] sanei_usb_read_bulk: trying to read 8 bytes
>     >     > [sanei_usb] sanei_usb_read_bulk: read failed: Resource
>     temporarily
>     >     > unavailable
>     >     > [pixma] IN   T=21.436 len=-9
>     >     > [pixma]   ERROR: ETIMEDOUT
>     >     > [pixma]
>     >     > [pixma] No response yet. Timed out in 8 sec.
>     >     > [sanei_usb] sanei_usb_read_bulk: trying to read 8 bytes
>     >     > ^C
>     >     >
>     >     >
>     >     >
>     >     > 2013/2/5 Rolf Bensch <rolf at bensch-online.de
>     <mailto:rolf at bensch-online.de>
>     >     <mailto:rolf at bensch-online.de <mailto:rolf at bensch-online.de>>
>     <mailto:rolf at bensch-online.de <mailto:rolf at bensch-online.de>
>     >     <mailto:rolf at bensch-online.de <mailto:rolf at bensch-online.de>>>>
>     >     >
>     >     >     Hi Matthias,
>     >     >
>     >     >     Sorry for my last email relating to USB and LAN. I mixed the
>     >     emails up
>     >     >     in my daily digest. Please set me to cc if you send a
>     response to
>     >     >     the list.
>     >     >
>     >     >     Anyway, it seems that your scanner answers the USB interrupt
>     >     request and
>     >     >     the post process data handling sticks in setting your
>     >     scanner's clock.
>     >     >
>     >     >     So I need the debug info with 'export
>     SANE_DEBUG_PIXMA=21' and
>     >     >     'export SANE_DEBUG_SANEI_USB=255' to fix this issue.
>     >     >
>     >     >     By now I'm only interested in the lines between
>     "Buttons:" and
>     >     >     "Extras:".
>     >     >
>     >     >     Cheers,
>     >     >     Rolf
>     >     >
>     >     >
>     >     >
>     >     >     Am 05.02.2013 18:19, schrieb Matthias Thon:
>     >     >     > Hi Rolf,
>     >     >     >
>     >     >     > now hopefully the right debug information. Now after
>     starting
>     >     >     scanimage
>     >     >     > -A , it waits for the button information. I try different
>     >     buttons
>     >     >     > (black, color) Changed before from JPEG to PDF or TIFF but
>     >     scanimage
>     >     >     > waits till timeout. See the output.
>     >     >     >
>     >     >     > regards Matthias
>     >     >     >
>     >     >     >
>     >     >     >
>     >     >
>     >    
>     root at matze-Satellite-C660:/usr/local/src/sane-backends-git/sane-backends#
>     >     >     scanimage
>     >     >     > -V
>     >     >     > scanimage (sane-backends) 1.0.24git; backend version
>     1.0.24
>     >     >     >
>     >     >
>     >    
>     root at matze-Satellite-C660:/usr/local/src/sane-backends-git/sane-backends#
>     >     >     scanimage
>     >     >     > -A
>     >     >     > [sanei_debug] Setting debug level of pixma to 7.
>     >     >     > [pixma] pixma is compiled without pthread support.
>     >     >     > [pixma] pixma version 0.17.0
>     >     >     > [pixma] pixma_collect_devices() found Canon PIXMA
>     MG6200 at
>     >     >     libusb:002:005
>     >     >     > [pixma] sanei_bjnp_find_devices:
>     >     >     > [pixma] eth0 is IPv4 capable, sending broadcast,
>     socket = 3
>     >     >     > [pixma] wlan0 is IPv4 capable, sending broadcast,
>     socket = 4
>     >     >     > [pixma] eth0 is IPv6 capable, sending broadcast,
>     socket = 5
>     >     >     > [pixma] wlan0 is IPv6 capable, sending broadcast,
>     socket = 6
>     >     >     > [pixma] pixma_find_scanners() found 1 devices
>     >     >     > [pixma] pixma_collect_devices() found Canon PIXMA
>     MG6200 at
>     >     >     libusb:002:005
>     >     >     > [pixma] sanei_bjnp_find_devices:
>     >     >     > [pixma] eth0 is IPv4 capable, sending broadcast,
>     socket = 3
>     >     >     > [pixma] wlan0 is IPv4 capable, sending broadcast,
>     socket = 4
>     >     >     > [pixma] eth0 is IPv6 capable, sending broadcast,
>     socket = 5
>     >     >     > [pixma] wlan0 is IPv6 capable, sending broadcast,
>     socket = 6
>     >     >     > [pixma] pixma_open(): Canon PIXMA MG6200
>     >     >     >
>     >     >     > All options specific to device `pixma:04A91755_14B4F6':
>     >     >     >   Scan mode:
>     >     >     >     --resolution
>     auto||75|150|300|600|1200|2400|4800dpi [75]
>     >     >     >         Sets the resolution of the scanned image.
>     >     >     >     --mode auto|Color|Gray|Lineart [Color]
>     >     >     >         Selects the scan mode (e.g., lineart,
>     monochrome, or
>     >     color).
>     >     >     >     --source Flatbed [Flatbed]
>     >     >     >         Selects the scan source (such as a
>     document-feeder). Set
>     >     >     source
>     >     >     > before
>     >     >     >         mode and resolution. Resets mode and
>     resolution to auto
>     >     >     values.
>     >     >     >     --button-controlled[=(yes|no)] [no]
>     >     >     >         When enabled, scan process will not start
>     >     immediately. To
>     >     >     proceed,
>     >     >     >         press "SCAN" button (for MP150) or "COLOR" button
>     >     (for other
>     >     >     > models).
>     >     >     >         To cancel, press "GRAY" button.
>     >     >     >   Gamma:
>     >     >     >     --custom-gamma[=(auto|yes|no)] [yes]
>     >     >     >         Determines whether a builtin or a custom
>     gamma-table
>     >     >     should be used.
>     >     >     >     --gamma-table auto|0..255,...
>     >     >     >         Gamma-correction table.  In color mode this option
>     >     equally
>     >     >     > affects the
>     >     >     >         red, green, and blue channels simultaneously
>     (i.e.,
>     >     it is an
>     >     >     > intensity
>     >     >     >         gamma table).
>     >     >     >     --gamma auto|0.299988..5 [2.2]
>     >     >     >         Changes intensity of midtones
>     >     >     >   Geometry:
>     >     >     >     -l auto|0..216.069mm [0]
>     >     >     >         Top-left x position of scan area.
>     >     >     >     -t auto|0..297.011mm [0]
>     >     >     >         Top-left y position of scan area.
>     >     >     >     -x auto|0..216.069mm [216.069]
>     >     >     >         Width of scan-area.
>     >     >     >     -y auto|0..297.011mm [297.011]
>     >     >     >         Height of scan-area.
>     >     >     >   Buttons:
>     >     >     >     --button-update
>     >     >     >         Update button state
>     >     >     > [pixma] Sending time: '13/02/05 18:12'
>     >     >     > [pixma] No response yet. Timed out in 8 sec.
>     >     >     > [pixma] No response yet. Timed out in 7 sec.
>     >     >     > [pixma] No response yet. Timed out in 6 sec.
>     >     >     > [pixma] No response yet. Timed out in 5 sec.
>     >     >     > [pixma] No response yet. Timed out in 4 sec.
>     >     >     > [pixma] No response yet. Timed out in 3 sec.
>     >     >     > [pixma] No response yet. Timed out in 2 sec.
>     >     >     > [pixma] No response yet. Timed out in 1 sec.
>     >     >     > [pixma] WARNING: Error in response phase. cmd:eb80
>     >     >     > [pixma]   If the scanner hangs, reset it and/or unplug the
>     >     USB cable.
>     >     >     >     --button-1 <int> [0] [read-only]
>     >     >     >         Button 1
>     >     >     >     --button-2 <int> [0] [read-only]
>     >     >     >         Button 2
>     >     >     >     --original <int> [0] [read-only]
>     >     >     >         Type of original to scan
>     >     >     >     --target <int> [0] [read-only]
>     >     >     >         Target operation type
>     >     >     >   Extras:
>     >     >     >     --threshold auto|0..100% (in steps of 1) [inactive]
>     >     >     >         Select minimum-brightness to get a white point
>     >     >     >     --threshold-curve auto|0..127 (in steps of 1)
>     [inactive]
>     >     >     >         Dynamic threshold curve, from light to dark,
>     >     normally 50-65
>     >     >     >
>     >     >     > [pixma] pixma_close(): Canon PIXMA MG6200
>     >     >     >
>     >     >
>     >    
>     root at matze-Satellite-C660:/usr/local/src/sane-backends-git/sane-backends#
>     >     >     >
>     >     >
>     >     >
>     >
>     >
> 
> 
-------------- next part --------------
--- ./pixma_mp150.c	2013-02-06 14:28:38.000000000 +0100
+++ ../sane-backends/backend/pixma_mp150.c	2013-02-06 14:31:42.000000000 +0100
@@ -917,13 +917,13 @@
    * poll event with 'scanimage -A'
    * */
   if (s->cfg->pid == MG6200_PID)
-  /* button no. in buf[3]
-   * target = button no. */
+    /* color scan button in buf[4]
+     * b/w scan button in buf[3] */
   {
+    if (buf[4] & 1)
+      s->events = PIXMA_EV_BUTTON1;     /* color scan */
     if (buf[3] & 1)
-      s->events = PIXMA_EV_BUTTON1 | buf[3];    /* color scan */
-    else
-      s->events = PIXMA_EV_BUTTON2 | buf[3];    /* b/w scan */
+      s->events = PIXMA_EV_BUTTON2;     /* b/w scan */
   }
   else
   /* button no. in buf[0]


More information about the sane-devel mailing list