From dc2019b5b87d7d57c059c934ef29de07b4d7121d Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Tue, 9 Mar 2021 07:36:45 +0100 Subject: [PATCH] 1934308 - Several Epson devices cannot scan because they fail to set focus --- sane-backends.spec | 8 +++++++- sane-epson2-disable-focus.patch | 36 +++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 sane-epson2-disable-focus.patch diff --git a/sane-backends.spec b/sane-backends.spec index 71204ee..b93f0e0 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -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 - 1.0.32-3 +- 1934308 - Several Epson devices cannot scan because they fail to set focus + * Thu Feb 18 2021 Zdenek Dohnal - 1.0.32-2 - python3 is now needed for building pixma backend diff --git a/sane-epson2-disable-focus.patch b/sane-epson2-disable-focus.patch new file mode 100644 index 0000000..c1e86be --- /dev/null +++ b/sane-epson2-disable-focus.patch @@ -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 */