diff --git a/sane-backends.spec b/sane-backends.spec index e747327..9879b69 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -14,7 +14,7 @@ Summary: Scanner access software Name: sane-backends Version: 1.0.31 -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 @@ -37,6 +37,8 @@ Patch1: sane-backends-1.0.23-soname.patch Patch2: sane-backends-1.0.23-sane-config-multilib.patch # saned manpage incomplete and exists when saned is not installed (#1515762) Patch3: sane-backends-saned-manpage.patch +# 1750899 - CANOSCAN N650U scanner device not correctly detected via USB +Patch4: sane-plustek-add-1ms.patch URL: http://www.sane-project.org @@ -155,6 +157,7 @@ access image acquisition devices available on the local host. %patch1 -p1 -b .soname %patch2 -p1 -b .sane-config-multilib %patch3 -p1 -b .saned-manpage +%patch4 -p1 -b .sane-plustek-add-1ms %build CFLAGS="%optflags -fno-strict-aliasing" @@ -428,6 +431,9 @@ exit 0 %{_unitdir}/saned@.service %changelog +* Fri Oct 09 2020 Zdenek Dohnal - 1.0.31-3 +- 1750899 - CANOSCAN N650U scanner device not correctly detected via USB + * Mon Sep 14 2020 Zdenek Dohnal - 1.0.31-2 - make the base package depend on sane-airscan instead of libsane-airscan lib diff --git a/sane-plustek-add-1ms.patch b/sane-plustek-add-1ms.patch new file mode 100644 index 0000000..f8068fc --- /dev/null +++ b/sane-plustek-add-1ms.patch @@ -0,0 +1,19 @@ +diff --git a/backend/plustek-usbhw.c b/backend/plustek-usbhw.c +index 05d3cc7..28cbd52 100644 +--- a/backend/plustek-usbhw.c ++++ b/backend/plustek-usbhw.c +@@ -1451,6 +1451,14 @@ usb_ResetRegisters( Plustek_Device *dev ) + * CanoScan devices to work properly after power-up + */ + sanei_lm983x_write_byte( dev->fd, 0x5b, regs[0x5b] ); ++ ++ /* At least CanoScan N650U can have a problem with writing ++ * to register 0x59 due XHCI USB controller is too ++ * fast for him. Simulate EHCI USB controller's ++ * behavior here - wait 1ms. ++ */ ++ usleep(1000); ++ + sanei_lm983x_write_byte( dev->fd, 0x59, regs[0x59] ); + sanei_lm983x_write_byte( dev->fd, 0x5a, regs[0x5a] ); + } else {