1934308 - Several Epson devices cannot scan because they fail to set focus

This commit is contained in:
Zdenek Dohnal 2021-03-09 07:36:45 +01:00
parent 8222c711dc
commit dc2019b5b8
2 changed files with 43 additions and 1 deletions

View File

@ -14,7 +14,7 @@
Summary: Scanner access software
Name: sane-backends
Version: 1.0.32
Release: 2%{?dist}
Release: 3%{?dist}
# lib/ is LGPLv2+, backends are GPLv2+ with exceptions
# Tools are GPLv2+, docs are public domain
# see LICENSE for details
@ -35,6 +35,8 @@ Patch0: sane-backends-1.0.25-udev.patch
Patch1: sane-backends-1.0.23-soname.patch
# Fedora-specific (for now): make installed sane-config multi-lib aware again
Patch2: sane-backends-1.0.23-sane-config-multilib.patch
# 1934308 - Several Epson devices cannot scan because they fail to set focus
Patch3: sane-epson2-disable-focus.patch
URL: http://www.sane-project.org
@ -157,6 +159,7 @@ access image acquisition devices available on the local host.
%patch0 -p1 -b .udev
%patch1 -p1 -b .soname
%patch2 -p1 -b .sane-config-multilib
%patch3 -p1 -b .disable-focus
%build
CFLAGS="%optflags -fno-strict-aliasing"
@ -430,6 +433,9 @@ exit 0
%{_unitdir}/saned@.service
%changelog
* Tue Mar 09 2021 Zdenek Dohnal <zdohnal@redhat.com> - 1.0.32-3
- 1934308 - Several Epson devices cannot scan because they fail to set focus
* Thu Feb 18 2021 Zdenek Dohnal <zdohnal@redhat.com> - 1.0.32-2
- python3 is now needed for building pixma backend

View File

@ -0,0 +1,36 @@
diff --git a/backend/epson2-ops.c b/backend/epson2-ops.c
index 83a0169..573ebcf 100644
--- a/backend/epson2-ops.c
+++ b/backend/epson2-ops.c
@@ -291,14 +291,14 @@ e2_dev_post_init(struct Epson_Device *dev)
dev->need_reset_on_source_change = SANE_FALSE;
if (e2_dev_model(dev, "ES-9000H") || e2_dev_model(dev, "GT-30000")) {
- dev->cmd->set_focus_position = 0;
dev->cmd->feed = 0x19;
+ dev->focusSupport = SANE_FALSE;
}
if (e2_dev_model(dev, "GT-8200") || e2_dev_model(dev, "Perfection1650")
|| e2_dev_model(dev, "Perfection1640") || e2_dev_model(dev, "GT-8700")) {
dev->cmd->feed = 0;
- dev->cmd->set_focus_position = 0;
+ dev->focusSupport = SANE_FALSE;
dev->need_reset_on_source_change = SANE_TRUE;
}
@@ -825,12 +825,12 @@ e2_discover_capabilities(Epson_Scanner *s)
if (esci_request_focus_position(s, &s->currentFocusPosition) ==
SANE_STATUS_GOOD) {
- DBG(1, "setting focus is supported, current focus: %u\n", s->currentFocusPosition);
+ DBG(1, "getting focus is supported, current focus: %u\n", s->currentFocusPosition);
dev->focusSupport = SANE_TRUE;
s->opt[OPT_FOCUS_POS].cap &= ~SANE_CAP_INACTIVE;
s->val[OPT_FOCUS_POS].w = s->currentFocusPosition;
} else {
- DBG(1, "setting focus is not supported\n");
+ DBG(1, "getting focus is not supported\n");
dev->focusSupport = SANE_FALSE;
s->opt[OPT_FOCUS_POS].cap |= SANE_CAP_INACTIVE;
s->val[OPT_FOCUS_POS].w = FOCUS_ON_GLASS; /* just in case */