[sane-devel] Problem using an Epson Perfection 610 with sane-backends 1.0.21

Olaf Meeuwissen olaf.meeuwissen at avasys.jp
Sun Nov 28 23:53:35 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 2010年11月28日 07:45, Martin Krüger wrote:
> Hello
> 
> I am owner of an Epson Perfection 610. It did his work very well until i
> switched from debian-stable using sane 1.0.19 to debian-testing 1.0.21.
> So i pulled the sane-repository and did a bisection. This led to this
> commit introducing the problem:
> 
> author	Alessandro Zummo <a.zummo at towertech.it>	
> 	 Sat, 9 Jan 2010 16:24:33 +0000 (17:24 +0100)
> committer	Alessandro Zummo <a.zummo at towertech.it>	
> 	 Sat, 9 Jan 2010 16:24:33 +0000 (17:24 +0100)
> commit	503f9a6d464fe592881e7c748203f40abeb02b81
> 
> epson2: simplified color correction, built in profiles active by default
> 
> I did further examinations with the sane debug-output:
> 
> [epson2] esci_set_color_correction_coefficients
> [epson2] e2_cmd_simple: size = 2
> [epson2] e2_send: size = 2, reply = 1
> [epson2] e2_send: ESC m
> [epson2] buf[0] 1b .
> [epson2] buf[1] 6d m
> [epson2] e2_send: cmd count, r = 41, w = 38
> [epson2] e2_recv: size = 1, buf = 0x7ffff6fabc4b
> [epson2] e2_recv: cmd count, r = 42, w = 38
> [epson2] buf[0] 15 .
> [epson2] e2_cmd_simple: NAK
> 
> The problem rises when calling the function
> esci_set_color_correction_coefficients().

The NAK reply indicates that the ESC m command is not supported, in
which case the command should not have been sent in the first place (and
color correction disabled or emulated by the backend).

The list of usable commands in determined by the device's command level
(see epson2-ops.c).  What command level do you see in the debug output?
 It should be somewhere near the top.

> A little more examination led to this patch after which the scanner does
> his work as he should:
> 
> diff -r 7599778c24df backend/epson2.c
> --- a/backend/epson2.c  Sat Jan 09 17:24:33 2010 +0100
> +++ b/backend/epson2.c  Sat Nov 27 22:59:20 2010 +0100
> @@ -200,7 +200,7 @@
> 
>  static const SANE_Bool correction_userdefined[] = {
>         SANE_FALSE,
> -       SANE_TRUE,
> +       SANE_FALSE,
>         SANE_TRUE,
>  };

Based on the code of the deprecated epson backend, it seems that that is
what was intended (regardless of my comments above).

Hope this helps,
- -- 
Olaf Meeuwissen, LPIC-2           FLOSS Engineer -- AVASYS CORPORATION
FSF Associate Member #1962               Help support software freedom
                 http://www.fsf.org/jf?referrer=1962
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzy638ACgkQt5qrxaZLMnKmvACdHJzIbA9WBl8BElqqU2M0TfTF
Z2wAnR9dQeB3h2+bQ01rmwezskYUc6ez
=Yadi
-----END PGP SIGNATURE-----



More information about the sane-devel mailing list