summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--ChangeLog88
-rw-r--r--backend/Makefile.am19
-rw-r--r--backend/Makefile.in228
-rw-r--r--backend/avision.c397
-rw-r--r--backend/avision.h84
-rw-r--r--backend/canon_dr.c36
-rw-r--r--backend/canon_dr.conf.in1
-rw-r--r--backend/dll.conf.in1
-rw-r--r--backend/epjitsu.c26
-rw-r--r--backend/epson2-commands.c4
-rw-r--r--backend/epson2-io.c9
-rw-r--r--backend/epson2-ops.c34
-rw-r--r--backend/epson2.c63
-rw-r--r--backend/epson2.h2
-rw-r--r--backend/epsonds-cmd.c899
-rw-r--r--backend/epsonds-cmd.h29
-rw-r--r--backend/epsonds-io.c177
-rw-r--r--backend/epsonds-io.h33
-rw-r--r--backend/epsonds-jpeg.c221
-rw-r--r--backend/epsonds-jpeg.h19
-rw-r--r--backend/epsonds-ops.c474
-rw-r--r--backend/epsonds-ops.h41
-rw-r--r--backend/epsonds-usb.c33
-rw-r--r--backend/epsonds-usb.h24
-rw-r--r--backend/epsonds.c1434
-rw-r--r--backend/epsonds.conf.in12
-rw-r--r--backend/epsonds.h198
-rw-r--r--backend/genesys.c56
-rw-r--r--backend/genesys.conf.in6
-rw-r--r--backend/genesys.h1
-rw-r--r--backend/genesys_devices.c155
-rw-r--r--backend/genesys_gl124.c39
-rw-r--r--backend/genesys_gl124.h14
-rw-r--r--backend/genesys_low.c43
-rw-r--r--backend/genesys_low.h5
-rw-r--r--backend/hp5590.c8
-rw-r--r--backend/pixma.c2
-rw-r--r--backend/pixma.h4
-rw-r--r--backend/pixma_common.c2
-rw-r--r--backend/pixma_common.h2
-rw-r--r--backend/pixma_imageclass.c12
-rw-r--r--backend/pixma_io_sanei.c2
-rw-r--r--backend/pixma_mp150.c11
-rw-r--r--backend/pixma_mp730.c2
-rw-r--r--backend/pixma_mp750.c2
-rw-r--r--backend/pixma_mp810.c25
-rw-r--r--configure.in2
-rw-r--r--debian/changelog60
-rw-r--r--debian/control12
-rw-r--r--debian/libsane.symbols2065
-rw-r--r--debian/patches/0005-mk_reproducible_results.patch22
-rw-r--r--debian/patches/001-scanimage_manpage.patch21
-rw-r--r--debian/patches/0510-disable-html-tests.patch35
-rw-r--r--debian/patches/dll_backend_conf.patch8
-rw-r--r--debian/patches/libsane_deps.patch8
-rw-r--r--debian/patches/multiarch_dll_search_path.patch18
-rw-r--r--debian/patches/multiarch_manpages_libdir.patch8
-rw-r--r--debian/patches/sane-desc.c_debian_mods.patch3506
-rw-r--r--debian/patches/series3
-rwxr-xr-xdebian/rules10
-rw-r--r--debian/sane-utils.lintian-overrides5
-rw-r--r--debian/sane-utils.postrm33
-rw-r--r--debian/saned@.service3
-rw-r--r--debian/tests/control9
-rw-r--r--debian/tests/start-net29
-rw-r--r--doc/Makefile.am5
-rw-r--r--doc/Makefile.in9
-rw-r--r--doc/descriptions/avision.desc10
-rw-r--r--doc/descriptions/canon_dr.desc6
-rw-r--r--doc/descriptions/epjitsu.desc4
-rw-r--r--doc/descriptions/epsonds.desc97
-rw-r--r--doc/descriptions/genesys.desc14
-rw-r--r--doc/descriptions/kodakaio.desc10
-rw-r--r--doc/descriptions/pixma.desc62
-rw-r--r--doc/sane-avision.man4
-rw-r--r--doc/sane-epjitsu.man2
-rw-r--r--doc/sane-epsonds.man101
-rw-r--r--doc/sane-genesys.man17
-rw-r--r--doc/sane-pixma.man22
80 files changed, 8924 insertions, 2274 deletions
diff --git a/AUTHORS b/AUTHORS
index 0f553ac..cf0f5e0 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -35,6 +35,7 @@ Backends:
epjitsu: m. allan noah (*)
epson: Karl Heinz Kremer (*)
epson2: Alessandro Zummo (*)
+ epsonds: Alessandro Zummo (*)
fujitsu: Randolph Bentson, Frederik Ramm, Oliver Schirrmeister (*),
m. allan noah (*)
gphoto2: Peter Fales (*)
diff --git a/ChangeLog b/ChangeLog
index e398d74..81b904f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,91 @@
+2015-04-12 Stéphane Voltz <stef.dev@free.fr>
+ * doc/sane-genesys.man backend/genesys.[ch] backend/genesys_low.c:
+ fix calibration cleared when calibration file loaded,
+ add expiration time option for cache.
+
+2015-04-07 Rolf Bensch <rolf at bensch hyphen online dot de>
+ * backend/pixma_mp810.c: Canon Pixma MP990 TPU scan patch from Guillaume
+ Courtois.
+ * doc/descriptions/pixma.desc: remove unmaintained websites
+ * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.17
+
+2015-04-03 Rolf Bensch <rolf at bensch hyphen online dot de>
+ * backend/pixma_imageclass.c, doc/descriptions/pixma.desc,
+ doc/sane-pixma.man: New Canon scanners i-SENSYS MF210 Series, MF220 Series,
+ MF5900 Series, MF6100 Series and imageCLASS MF810/820. All scanners need
+ further testing.
+ * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.16
+ * backend/pixma.[ch], backend/pixma_common.[ch], backend/pixma_imageclass.c,
+ backend/pixma_io_sanei.c, backend/pixma_mp150.c, backend/pixma_mp7[35]0.c,
+ backend/pixma_mp810.c: update copyright.
+
+2015-03-17 Stéphane Voltz <stef.dev@free.fr>
+ * backend/genesys.c, backend/genesys.conf.in,
+ backend/genesys_devices.c, backend/genesys_gl124.c,
+ backend/genesys_gl124.h, backend/genesys_low.h,
+ doc/descriptions/genesys.desc, doc/sane-genesys.man: add support for
+ Canon LiDE 120
+
+2015-03-14 René Rebe <rene@exactcode.de>
+ * backend/avision.h backend/avision.c:
+ fixed 32-bit build regression due new feature_type and
+ reverted 4d38523bdacd18186857ee8a93daaa0f8721c89b
+
+2015-03-13 René Rebe <rene@exactcode.de>
+ * doc/sane-avision.man, backend/avision.h, backend/avision.c:
+ fixed newer avision scanner duplex scanning, and removed unnecessary
+ feature_type2 clutter by using a uint64_t to share all bits
+
+2015-03-12 René Rebe <rene@exactcode.de>
+ * doc/descriptions/avision.desc, backend/avision.c:
+ fixed multiple regressions (range initilaizer, clobbering
+ paper-length window bits, ...) introduced over the past years, added
+ support for newer ASIC gamma table size, added AV220D2+ ID
+2015-03-04 Stéphane Voltz <stef.dev@free.fr>
+ * doc/descriptions/genesys.desc: mark LiDE 120 as unsupported.
+
+2015-03-02 Stéphane Voltz <stef.dev@free.fr>
+ * backend/genesys_low.c, backend/genesys_gl124.[ch]:
+ improve parking reliability for LiDE 210
+
+2015-03-01 Stéphane Voltz <stef.dev@free.fr>
+ * backend/genesys_devices.c, backend/genesys_gl124.c:
+ final tuning for Canon LiDE 220
+
+2015-02-26 Stéphane Voltz <stef.dev@free.fr>
+ * backend/genesys.c, backend/genesys.conf.in,
+ backend/genesys_devices.c, backend/genesys_gl124.c,
+ backend/genesys_gl124.h, backend/genesys_low.h,
+ doc/descriptions/genesys.desc, doc/sane-genesys.man: add support for
+ Canon LiDE 220
+
+2015-02-21 Rolf Bensch <rolf at bensch hyphen online dot de>
+ * backend/pixma_mp150.c: Canon PIXMA MG6400 Series doesn't need special
+ image format post processing.
+ * doc/descriptions/pixma.desc, doc/sane-pixma.man:
+ Canon PIXMA MG6400 Series is working, reported by Christian Spielberger.
+ * backend/pixma_mp150.c, doc/descriptions/pixma.desc, doc/sane-pixma.man:
+ New scanners Canon PIXMA MX490 Series and E480 Series. All scanners need
+ further testing.
+ * backend/pixma.h, doc/descriptions/pixma.desc: Pixma backend version 0.17.15
+
+2015-02-09 Rolf Bensch <rolf at bensch hyphen online dot de>
+ * doc/descriptions/pixma.desc: Canon PIXMA MX920 Series supports Ethernet
+ and WiFi interfaces.
+
+2015-02-06 Rolf Bensch <rolf at bensch hyphen online dot de>
+ * doc/descriptions/pixma.desc, doc/sane-pixma.man:
+ Canon PIXMA MG2500 Series is working, reported by Brenda Ruch.
+
+2015-01-20 Ilia Sotnikov <hostcc at gmail dot com>
+ * backend/hp5590.c:
+ Invert pixels in case of TMA Negatives source has been selected.
+ Thanks for Will Kranz who reported this.
+
+2015-01-17 Rolf Bensch <rolf at bensch hyphen online dot de>
+ * doc/descriptions/pixma.desc, doc/sane-pixma.man:
+ Canon PIXMA MG2200 Series is working (bug #314944).
+
2014-12-31 Paul Newall <p dot newalls at ntlworld dot com>
* backend/kodakaio.c:
connection to device moved from sane_open to sane_start
diff --git a/backend/Makefile.am b/backend/Makefile.am
index f84d23e..40ec6c6 100644
--- a/backend/Makefile.am
+++ b/backend/Makefile.am
@@ -83,7 +83,7 @@ BACKEND_CONFS= abaton.conf agfafocus.conf apple.conf artec.conf \
canon_pp.conf cardscan.conf coolscan2.conf coolscan3.conf \
coolscan.conf dc210.conf dc240.conf dc25.conf \
dell1600n_net.conf dmc.conf epjitsu.conf epson2.conf \
- epson.conf fujitsu.conf genesys.conf gphoto2.conf \
+ epson.conf epsonds.conf fujitsu.conf genesys.conf gphoto2.conf \
gt68xx.conf hp3900.conf hp4200.conf hp5400.conf \
hp.conf hpsj5s.conf hs2p.conf ibm.conf kodak.conf kodakaio.conf\
leo.conf lexmark.conf ma1509.conf magicolor.conf \
@@ -171,7 +171,7 @@ be_convenience_libs = libabaton.la libagfafocus.la \
libcoolscan2.la libcoolscan3.la libdc25.la \
libdc210.la libdc240.la libdell1600n_net.la \
libdmc.la libdll.la libdll_preload.la libepjitsu.la libepson.la \
- libepson2.la libfujitsu.la libgenesys.la \
+ libepson2.la libepsonds.la libfujitsu.la libgenesys.la \
libgphoto2_i.la libgt68xx.la libhp.la \
libhp3500.la libhp3900.la libhp4200.la \
libhp5400.la libhp5590.la libhpljm1005.la \
@@ -204,7 +204,7 @@ be_dlopen_libs = libsane-abaton.la libsane-agfafocus.la \
libsane-coolscan2.la libsane-coolscan3.la libsane-dc25.la \
libsane-dc210.la libsane-dc240.la libsane-dell1600n_net.la \
libsane-dmc.la libsane-epjitsu.la libsane-epson.la \
- libsane-epson2.la libsane-fujitsu.la libsane-genesys.la \
+ libsane-epson2.la libsane-epsonds.la libsane-fujitsu.la libsane-genesys.la \
libsane-gphoto2.la libsane-gt68xx.la libsane-hp.la \
libsane-hp3500.la libsane-hp3900.la libsane-hp4200.la \
libsane-hp5400.la libsane-hp5590.la libsane-hpljm1005.la \
@@ -471,6 +471,19 @@ libsane_epson2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
libsane_epson2_la_LIBADD = $(COMMON_LIBS) libepson2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo $(SCSI_LIBS) $(USB_LIBS) $(SOCKET_LIBS) $(MATH_LIB) $(RESMGR_LIBS)
EXTRA_DIST += epson2.conf.in
+libepsonds_la_SOURCES = epsonds.c epsonds.h epsonds-usb.c epsonds-usb.h epsonds-io.c epsonds-io.h \
+ epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h
+libepsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds
+
+nodist_libsane_epsonds_la_SOURCES = epsonds-s.c
+libsane_epsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds
+libsane_epsonds_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
+libsane_epsonds_la_LIBADD = $(COMMON_LIBS) libepsonds.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \
+ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo \
+ ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \
+ @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS)
+EXTRA_DIST += epsonds.conf.in
+
libfujitsu_la_SOURCES = fujitsu.c fujitsu.h fujitsu-scsi.h
libfujitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=fujitsu
diff --git a/backend/Makefile.in b/backend/Makefile.in
index 3f7fa12..b688e93 100644
--- a/backend/Makefile.in
+++ b/backend/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -211,6 +211,12 @@ am_libepson2_la_OBJECTS = libepson2_la-epson2.lo \
libepson2_la-epson2-commands.lo libepson2_la-epson2-ops.lo \
libepson2_la-epson2-cct.lo
libepson2_la_OBJECTS = $(am_libepson2_la_OBJECTS)
+libepsonds_la_LIBADD =
+am_libepsonds_la_OBJECTS = libepsonds_la-epsonds.lo \
+ libepsonds_la-epsonds-usb.lo libepsonds_la-epsonds-io.lo \
+ libepsonds_la-epsonds-cmd.lo libepsonds_la-epsonds-ops.lo \
+ libepsonds_la-epsonds-jpeg.lo
+libepsonds_la_OBJECTS = $(am_libepsonds_la_OBJECTS)
libfujitsu_la_LIBADD =
am_libfujitsu_la_OBJECTS = libfujitsu_la-fujitsu.lo
libfujitsu_la_OBJECTS = $(am_libfujitsu_la_OBJECTS)
@@ -654,6 +660,18 @@ libsane_epson2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(libsane_epson2_la_LDFLAGS) $(LDFLAGS) \
-o $@
+libsane_epsonds_la_DEPENDENCIES = $(COMMON_LIBS) libepsonds.la \
+ ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \
+ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo \
+ sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+nodist_libsane_epsonds_la_OBJECTS = libsane_epsonds_la-epsonds-s.lo
+libsane_epsonds_la_OBJECTS = $(nodist_libsane_epsonds_la_OBJECTS)
+libsane_epsonds_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libsane_epsonds_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
libsane_fujitsu_la_DEPENDENCIES = $(COMMON_LIBS) libfujitsu.la \
../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \
../sanei/sanei_config.lo ../sanei/sanei_config2.lo \
@@ -1505,24 +1523,24 @@ SOURCES = $(libabaton_la_SOURCES) $(libagfafocus_la_SOURCES) \
$(libdll_la_SOURCES) $(libdll_preload_la_SOURCES) \
$(libdmc_la_SOURCES) $(libepjitsu_la_SOURCES) \
$(libepson_la_SOURCES) $(libepson2_la_SOURCES) \
- $(libfujitsu_la_SOURCES) $(libgenesys_la_SOURCES) \
- $(libgphoto2_i_la_SOURCES) $(libgt68xx_la_SOURCES) \
- $(libhp_la_SOURCES) $(libhp3500_la_SOURCES) \
- $(libhp3900_la_SOURCES) $(libhp4200_la_SOURCES) \
- $(libhp5400_la_SOURCES) $(libhp5590_la_SOURCES) \
- $(libhpljm1005_la_SOURCES) $(libhpsj5s_la_SOURCES) \
- $(libhs2p_la_SOURCES) $(libibm_la_SOURCES) \
- $(libkodak_la_SOURCES) $(libkodakaio_la_SOURCES) \
- $(libkvs1025_la_SOURCES) $(libkvs20xx_la_SOURCES) \
- $(libkvs40xx_la_SOURCES) $(libleo_la_SOURCES) \
- $(liblexmark_la_SOURCES) $(libma1509_la_SOURCES) \
- $(libmagicolor_la_SOURCES) $(libmatsushita_la_SOURCES) \
- $(libmicrotek_la_SOURCES) $(libmicrotek2_la_SOURCES) \
- $(libmustek_la_SOURCES) $(libmustek_pp_la_SOURCES) \
- $(libmustek_usb_la_SOURCES) $(libmustek_usb2_la_SOURCES) \
- $(libnec_la_SOURCES) $(libnet_la_SOURCES) \
- $(libniash_la_SOURCES) $(libp5_la_SOURCES) \
- $(libpie_la_SOURCES) $(libpint_la_SOURCES) \
+ $(libepsonds_la_SOURCES) $(libfujitsu_la_SOURCES) \
+ $(libgenesys_la_SOURCES) $(libgphoto2_i_la_SOURCES) \
+ $(libgt68xx_la_SOURCES) $(libhp_la_SOURCES) \
+ $(libhp3500_la_SOURCES) $(libhp3900_la_SOURCES) \
+ $(libhp4200_la_SOURCES) $(libhp5400_la_SOURCES) \
+ $(libhp5590_la_SOURCES) $(libhpljm1005_la_SOURCES) \
+ $(libhpsj5s_la_SOURCES) $(libhs2p_la_SOURCES) \
+ $(libibm_la_SOURCES) $(libkodak_la_SOURCES) \
+ $(libkodakaio_la_SOURCES) $(libkvs1025_la_SOURCES) \
+ $(libkvs20xx_la_SOURCES) $(libkvs40xx_la_SOURCES) \
+ $(libleo_la_SOURCES) $(liblexmark_la_SOURCES) \
+ $(libma1509_la_SOURCES) $(libmagicolor_la_SOURCES) \
+ $(libmatsushita_la_SOURCES) $(libmicrotek_la_SOURCES) \
+ $(libmicrotek2_la_SOURCES) $(libmustek_la_SOURCES) \
+ $(libmustek_pp_la_SOURCES) $(libmustek_usb_la_SOURCES) \
+ $(libmustek_usb2_la_SOURCES) $(libnec_la_SOURCES) \
+ $(libnet_la_SOURCES) $(libniash_la_SOURCES) \
+ $(libp5_la_SOURCES) $(libpie_la_SOURCES) $(libpint_la_SOURCES) \
$(libpixma_la_SOURCES) $(libplustek_la_SOURCES) \
$(libplustek_pp_la_SOURCES) $(libpnm_la_SOURCES) \
$(libqcam_la_SOURCES) $(libricoh_la_SOURCES) \
@@ -1552,6 +1570,7 @@ SOURCES = $(libabaton_la_SOURCES) $(libagfafocus_la_SOURCES) \
$(nodist_libsane_epjitsu_la_SOURCES) \
$(nodist_libsane_epson_la_SOURCES) \
$(nodist_libsane_epson2_la_SOURCES) \
+ $(nodist_libsane_epsonds_la_SOURCES) \
$(nodist_libsane_fujitsu_la_SOURCES) \
$(nodist_libsane_genesys_la_SOURCES) \
$(nodist_libsane_gphoto2_la_SOURCES) \
@@ -1638,24 +1657,24 @@ DIST_SOURCES = $(libabaton_la_SOURCES) $(libagfafocus_la_SOURCES) \
$(libdll_la_SOURCES) $(libdll_preload_la_SOURCES) \
$(libdmc_la_SOURCES) $(libepjitsu_la_SOURCES) \
$(libepson_la_SOURCES) $(libepson2_la_SOURCES) \
- $(libfujitsu_la_SOURCES) $(libgenesys_la_SOURCES) \
- $(libgphoto2_i_la_SOURCES) $(libgt68xx_la_SOURCES) \
- $(libhp_la_SOURCES) $(libhp3500_la_SOURCES) \
- $(libhp3900_la_SOURCES) $(libhp4200_la_SOURCES) \
- $(libhp5400_la_SOURCES) $(libhp5590_la_SOURCES) \
- $(libhpljm1005_la_SOURCES) $(libhpsj5s_la_SOURCES) \
- $(libhs2p_la_SOURCES) $(libibm_la_SOURCES) \
- $(libkodak_la_SOURCES) $(libkodakaio_la_SOURCES) \
- $(libkvs1025_la_SOURCES) $(libkvs20xx_la_SOURCES) \
- $(libkvs40xx_la_SOURCES) $(libleo_la_SOURCES) \
- $(liblexmark_la_SOURCES) $(libma1509_la_SOURCES) \
- $(libmagicolor_la_SOURCES) $(libmatsushita_la_SOURCES) \
- $(libmicrotek_la_SOURCES) $(libmicrotek2_la_SOURCES) \
- $(libmustek_la_SOURCES) $(libmustek_pp_la_SOURCES) \
- $(libmustek_usb_la_SOURCES) $(libmustek_usb2_la_SOURCES) \
- $(libnec_la_SOURCES) $(libnet_la_SOURCES) \
- $(libniash_la_SOURCES) $(libp5_la_SOURCES) \
- $(libpie_la_SOURCES) $(libpint_la_SOURCES) \
+ $(libepsonds_la_SOURCES) $(libfujitsu_la_SOURCES) \
+ $(libgenesys_la_SOURCES) $(libgphoto2_i_la_SOURCES) \
+ $(libgt68xx_la_SOURCES) $(libhp_la_SOURCES) \
+ $(libhp3500_la_SOURCES) $(libhp3900_la_SOURCES) \
+ $(libhp4200_la_SOURCES) $(libhp5400_la_SOURCES) \
+ $(libhp5590_la_SOURCES) $(libhpljm1005_la_SOURCES) \
+ $(libhpsj5s_la_SOURCES) $(libhs2p_la_SOURCES) \
+ $(libibm_la_SOURCES) $(libkodak_la_SOURCES) \
+ $(libkodakaio_la_SOURCES) $(libkvs1025_la_SOURCES) \
+ $(libkvs20xx_la_SOURCES) $(libkvs40xx_la_SOURCES) \
+ $(libleo_la_SOURCES) $(liblexmark_la_SOURCES) \
+ $(libma1509_la_SOURCES) $(libmagicolor_la_SOURCES) \
+ $(libmatsushita_la_SOURCES) $(libmicrotek_la_SOURCES) \
+ $(libmicrotek2_la_SOURCES) $(libmustek_la_SOURCES) \
+ $(libmustek_pp_la_SOURCES) $(libmustek_usb_la_SOURCES) \
+ $(libmustek_usb2_la_SOURCES) $(libnec_la_SOURCES) \
+ $(libnet_la_SOURCES) $(libniash_la_SOURCES) \
+ $(libp5_la_SOURCES) $(libpie_la_SOURCES) $(libpint_la_SOURCES) \
$(libpixma_la_SOURCES) $(libplustek_la_SOURCES) \
$(libplustek_pp_la_SOURCES) $(libpnm_la_SOURCES) \
$(libqcam_la_SOURCES) $(libricoh_la_SOURCES) \
@@ -1916,31 +1935,32 @@ EXTRA_DIST = sane_strstatus.c stubs.c saned.conf.in abaton.conf.in \
cardscan.conf.in coolscan.conf.in coolscan2.conf.in \
coolscan3.conf.in dc25.conf.in dc210.conf.in dc240.conf.in \
dell1600n_net.conf.in dmc.conf.in epjitsu.conf.in \
- epson.conf.in epson2.conf.in fujitsu.conf.in genesys.conf.in \
- genesys_conv.c genesys_conv_hlp.c genesys_devices.c \
- gphoto2.conf.in gt68xx.conf.in gt68xx_devices.c \
- gt68xx_generic.c gt68xx_generic.h gt68xx_gt6801.c \
- gt68xx_gt6801.h gt68xx_gt6816.c gt68xx_gt6816.h gt68xx_high.c \
- gt68xx_high.h gt68xx_low.c gt68xx_low.h gt68xx_mid.c \
- gt68xx_mid.h gt68xx_shm_channel.c gt68xx_shm_channel.h \
- hp.conf.in hp.README hp.TODO hp3900.conf.in hp3900_config.c \
- hp3900_debug.c hp3900_rts8822.c hp3900_sane.c hp3900_types.c \
- hp3900_usb.c hp4200.conf.in hp4200_lm9830.c hp4200_lm9830.h \
- hp5400.conf.in hp5400_debug.c hp5400_debug.h hp5400_internal.c \
- hp5400_internal.h hp5400_sane.c hp5400_sanei.c hp5400_sanei.h \
- hp5400_xfer.h hp5590_cmds.c hp5590_cmds.h hp5590_low.c \
- hp5590_low.h hpsj5s.conf.in hs2p.conf.in hs2p-scsi.c \
- hs2p-scsi.h ibm.conf.in ibm-scsi.c kodak.conf.in \
- kodakaio.conf.in leo.conf.in lexmark.conf.in lexmark_models.c \
- lexmark_sensors.c ma1509.conf.in magicolor.conf.in \
- matsushita.conf.in microtek.conf.in microtek2.conf.in \
- mustek.conf.in mustek_scsi_pp.c mustek_scsi_pp.h \
- mustek_pp.conf.in mustek_pp_ccd300.c mustek_pp_ccd300.h \
- mustek_pp_cis.c mustek_pp_cis.h mustek_pp_null.c \
- mustek_usb.conf.in mustek_usb_high.c mustek_usb_high.h \
- mustek_usb_low.c mustek_usb_low.h mustek_usb_mid.c \
- mustek_usb_mid.h mustek_usb2_asic.c mustek_usb2_asic.h \
- mustek_usb2_high.c mustek_usb2_high.h mustek_usb2_reflective.c \
+ epson.conf.in epson2.conf.in epsonds.conf.in fujitsu.conf.in \
+ genesys.conf.in genesys_conv.c genesys_conv_hlp.c \
+ genesys_devices.c gphoto2.conf.in gt68xx.conf.in \
+ gt68xx_devices.c gt68xx_generic.c gt68xx_generic.h \
+ gt68xx_gt6801.c gt68xx_gt6801.h gt68xx_gt6816.c \
+ gt68xx_gt6816.h gt68xx_high.c gt68xx_high.h gt68xx_low.c \
+ gt68xx_low.h gt68xx_mid.c gt68xx_mid.h gt68xx_shm_channel.c \
+ gt68xx_shm_channel.h hp.conf.in hp.README hp.TODO \
+ hp3900.conf.in hp3900_config.c hp3900_debug.c hp3900_rts8822.c \
+ hp3900_sane.c hp3900_types.c hp3900_usb.c hp4200.conf.in \
+ hp4200_lm9830.c hp4200_lm9830.h hp5400.conf.in hp5400_debug.c \
+ hp5400_debug.h hp5400_internal.c hp5400_internal.h \
+ hp5400_sane.c hp5400_sanei.c hp5400_sanei.h hp5400_xfer.h \
+ hp5590_cmds.c hp5590_cmds.h hp5590_low.c hp5590_low.h \
+ hpsj5s.conf.in hs2p.conf.in hs2p-scsi.c hs2p-scsi.h \
+ ibm.conf.in ibm-scsi.c kodak.conf.in kodakaio.conf.in \
+ leo.conf.in lexmark.conf.in lexmark_models.c lexmark_sensors.c \
+ ma1509.conf.in magicolor.conf.in matsushita.conf.in \
+ microtek.conf.in microtek2.conf.in mustek.conf.in \
+ mustek_scsi_pp.c mustek_scsi_pp.h mustek_pp.conf.in \
+ mustek_pp_ccd300.c mustek_pp_ccd300.h mustek_pp_cis.c \
+ mustek_pp_cis.h mustek_pp_null.c mustek_usb.conf.in \
+ mustek_usb_high.c mustek_usb_high.h mustek_usb_low.c \
+ mustek_usb_low.h mustek_usb_mid.c mustek_usb_mid.h \
+ mustek_usb2_asic.c mustek_usb2_asic.h mustek_usb2_high.c \
+ mustek_usb2_high.h mustek_usb2_reflective.c \
mustek_usb2_transparent.c nec.conf.in net.conf.in niash_core.c \
niash_core.h niash_xfer.c niash_xfer.h pie.conf.in p5.conf.in \
p5_device.c pixma.conf.in pixma_sane_options.c \
@@ -1984,7 +2004,7 @@ BACKEND_CONFS = abaton.conf agfafocus.conf apple.conf artec.conf \
canon_pp.conf cardscan.conf coolscan2.conf coolscan3.conf \
coolscan.conf dc210.conf dc240.conf dc25.conf \
dell1600n_net.conf dmc.conf epjitsu.conf epson2.conf \
- epson.conf fujitsu.conf genesys.conf gphoto2.conf \
+ epson.conf epsonds.conf fujitsu.conf genesys.conf gphoto2.conf \
gt68xx.conf hp3900.conf hp4200.conf hp5400.conf \
hp.conf hpsj5s.conf hs2p.conf ibm.conf kodak.conf kodakaio.conf\
leo.conf lexmark.conf ma1509.conf magicolor.conf \
@@ -2020,7 +2040,7 @@ be_convenience_libs = libabaton.la libagfafocus.la \
libcoolscan2.la libcoolscan3.la libdc25.la \
libdc210.la libdc240.la libdell1600n_net.la \
libdmc.la libdll.la libdll_preload.la libepjitsu.la libepson.la \
- libepson2.la libfujitsu.la libgenesys.la \
+ libepson2.la libepsonds.la libfujitsu.la libgenesys.la \
libgphoto2_i.la libgt68xx.la libhp.la \
libhp3500.la libhp3900.la libhp4200.la \
libhp5400.la libhp5590.la libhpljm1005.la \
@@ -2054,7 +2074,7 @@ be_dlopen_libs = libsane-abaton.la libsane-agfafocus.la \
libsane-coolscan2.la libsane-coolscan3.la libsane-dc25.la \
libsane-dc210.la libsane-dc240.la libsane-dell1600n_net.la \
libsane-dmc.la libsane-epjitsu.la libsane-epson.la \
- libsane-epson2.la libsane-fujitsu.la libsane-genesys.la \
+ libsane-epson2.la libsane-epsonds.la libsane-fujitsu.la libsane-genesys.la \
libsane-gphoto2.la libsane-gt68xx.la libsane-hp.la \
libsane-hp3500.la libsane-hp3900.la libsane-hp4200.la \
libsane-hp5400.la libsane-hp5590.la libsane-hpljm1005.la \
@@ -2244,6 +2264,18 @@ nodist_libsane_epson2_la_SOURCES = epson2-s.c
libsane_epson2_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epson2
libsane_epson2_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
libsane_epson2_la_LIBADD = $(COMMON_LIBS) libepson2.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo ../sanei/sanei_pio.lo ../sanei/sanei_tcp.lo ../sanei/sanei_udp.lo $(SCSI_LIBS) $(USB_LIBS) $(SOCKET_LIBS) $(MATH_LIB) $(RESMGR_LIBS)
+libepsonds_la_SOURCES = epsonds.c epsonds.h epsonds-usb.c epsonds-usb.h epsonds-io.c epsonds-io.h \
+ epsonds-cmd.c epsonds-cmd.h epsonds-ops.c epsonds-ops.h epsonds-jpeg.c epsonds-jpeg.h
+
+libepsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds
+nodist_libsane_epsonds_la_SOURCES = epsonds-s.c
+libsane_epsonds_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=epsonds
+libsane_epsonds_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
+libsane_epsonds_la_LIBADD = $(COMMON_LIBS) libepsonds.la ../sanei/sanei_init_debug.lo ../sanei/sanei_constrain_value.lo \
+ ../sanei/sanei_config.lo ../sanei/sanei_config2.lo sane_strstatus.lo \
+ ../sanei/sanei_usb.lo ../sanei/sanei_scsi.lo \
+ @SANEI_SANEI_JPEG_LO@ $(JPEG_LIBS) $(USB_LIBS) $(MATH_LIB) $(RESMGR_LIBS)
+
libfujitsu_la_SOURCES = fujitsu.c fujitsu.h fujitsu-scsi.h
libfujitsu_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=fujitsu
nodist_libsane_fujitsu_la_SOURCES = fujitsu-s.c
@@ -2848,6 +2880,9 @@ libepson.la: $(libepson_la_OBJECTS) $(libepson_la_DEPENDENCIES) $(EXTRA_libepson
libepson2.la: $(libepson2_la_OBJECTS) $(libepson2_la_DEPENDENCIES) $(EXTRA_libepson2_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK) $(libepson2_la_OBJECTS) $(libepson2_la_LIBADD) $(LIBS)
+libepsonds.la: $(libepsonds_la_OBJECTS) $(libepsonds_la_DEPENDENCIES) $(EXTRA_libepsonds_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libepsonds_la_OBJECTS) $(libepsonds_la_LIBADD) $(LIBS)
+
libfujitsu.la: $(libfujitsu_la_OBJECTS) $(libfujitsu_la_DEPENDENCIES) $(EXTRA_libfujitsu_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK) $(libfujitsu_la_OBJECTS) $(libfujitsu_la_LIBADD) $(LIBS)
@@ -3055,6 +3090,9 @@ libsane-epson.la: $(libsane_epson_la_OBJECTS) $(libsane_epson_la_DEPENDENCIES) $
libsane-epson2.la: $(libsane_epson2_la_OBJECTS) $(libsane_epson2_la_DEPENDENCIES) $(EXTRA_libsane_epson2_la_DEPENDENCIES)
$(AM_V_CCLD)$(libsane_epson2_la_LINK) $(libsane_epson2_la_OBJECTS) $(libsane_epson2_la_LIBADD) $(LIBS)
+libsane-epsonds.la: $(libsane_epsonds_la_OBJECTS) $(libsane_epsonds_la_DEPENDENCIES) $(EXTRA_libsane_epsonds_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libsane_epsonds_la_LINK) $(libsane_epsonds_la_OBJECTS) $(libsane_epsonds_la_LIBADD) $(LIBS)
+
libsane-fujitsu.la: $(libsane_fujitsu_la_OBJECTS) $(libsane_fujitsu_la_DEPENDENCIES) $(EXTRA_libsane_fujitsu_la_DEPENDENCIES)
$(AM_V_CCLD)$(libsane_fujitsu_la_LINK) $(libsane_fujitsu_la_OBJECTS) $(libsane_fujitsu_la_LIBADD) $(LIBS)
@@ -3347,6 +3385,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson_la-epson.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson_la-epson_scsi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepson_la-epson_usb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-cmd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-io.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-jpeg.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-ops.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds-usb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libepsonds_la-epsonds.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfujitsu_la-fujitsu.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgenesys_la-genesys_gl124.Plo@am__quote@
@@ -3446,6 +3490,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epjitsu_la-epjitsu-s.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epson2_la-epson2-s.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epson_la-epson-s.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_epsonds_la-epsonds-s.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_genesys_la-genesys-s.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsane_gphoto2_la-gphoto2-s.Plo@am__quote@
@@ -3539,14 +3584,14 @@ distclean-compile:
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -3814,6 +3859,48 @@ libepson2_la-epson2-cct.lo: epson2-cct.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepson2_la-epson2-cct.lo `test -f 'epson2-cct.c' || echo '$(srcdir)/'`epson2-cct.c
+libepsonds_la-epsonds.lo: epsonds.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds.Tpo -c -o libepsonds_la-epsonds.lo `test -f 'epsonds.c' || echo '$(srcdir)/'`epsonds.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds.Tpo $(DEPDIR)/libepsonds_la-epsonds.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds.c' object='libepsonds_la-epsonds.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds.lo `test -f 'epsonds.c' || echo '$(srcdir)/'`epsonds.c
+
+libepsonds_la-epsonds-usb.lo: epsonds-usb.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-usb.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-usb.Tpo -c -o libepsonds_la-epsonds-usb.lo `test -f 'epsonds-usb.c' || echo '$(srcdir)/'`epsonds-usb.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-usb.Tpo $(DEPDIR)/libepsonds_la-epsonds-usb.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-usb.c' object='libepsonds_la-epsonds-usb.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-usb.lo `test -f 'epsonds-usb.c' || echo '$(srcdir)/'`epsonds-usb.c
+
+libepsonds_la-epsonds-io.lo: epsonds-io.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-io.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-io.Tpo -c -o libepsonds_la-epsonds-io.lo `test -f 'epsonds-io.c' || echo '$(srcdir)/'`epsonds-io.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-io.Tpo $(DEPDIR)/libepsonds_la-epsonds-io.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-io.c' object='libepsonds_la-epsonds-io.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-io.lo `test -f 'epsonds-io.c' || echo '$(srcdir)/'`epsonds-io.c
+
+libepsonds_la-epsonds-cmd.lo: epsonds-cmd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-cmd.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-cmd.Tpo -c -o libepsonds_la-epsonds-cmd.lo `test -f 'epsonds-cmd.c' || echo '$(srcdir)/'`epsonds-cmd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-cmd.Tpo $(DEPDIR)/libepsonds_la-epsonds-cmd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-cmd.c' object='libepsonds_la-epsonds-cmd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-cmd.lo `test -f 'epsonds-cmd.c' || echo '$(srcdir)/'`epsonds-cmd.c
+
+libepsonds_la-epsonds-ops.lo: epsonds-ops.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-ops.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-ops.Tpo -c -o libepsonds_la-epsonds-ops.lo `test -f 'epsonds-ops.c' || echo '$(srcdir)/'`epsonds-ops.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-ops.Tpo $(DEPDIR)/libepsonds_la-epsonds-ops.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-ops.c' object='libepsonds_la-epsonds-ops.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-ops.lo `test -f 'epsonds-ops.c' || echo '$(srcdir)/'`epsonds-ops.c
+
+libepsonds_la-epsonds-jpeg.lo: epsonds-jpeg.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libepsonds_la-epsonds-jpeg.lo -MD -MP -MF $(DEPDIR)/libepsonds_la-epsonds-jpeg.Tpo -c -o libepsonds_la-epsonds-jpeg.lo `test -f 'epsonds-jpeg.c' || echo '$(srcdir)/'`epsonds-jpeg.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libepsonds_la-epsonds-jpeg.Tpo $(DEPDIR)/libepsonds_la-epsonds-jpeg.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-jpeg.c' object='libepsonds_la-epsonds-jpeg.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libepsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libepsonds_la-epsonds-jpeg.lo `test -f 'epsonds-jpeg.c' || echo '$(srcdir)/'`epsonds-jpeg.c
+
libfujitsu_la-fujitsu.lo: fujitsu.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libfujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libfujitsu_la-fujitsu.lo -MD -MP -MF $(DEPDIR)/libfujitsu_la-fujitsu.Tpo -c -o libfujitsu_la-fujitsu.lo `test -f 'fujitsu.c' || echo '$(srcdir)/'`fujitsu.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfujitsu_la-fujitsu.Tpo $(DEPDIR)/libfujitsu_la-fujitsu.Plo
@@ -4507,6 +4594,13 @@ libsane_epson2_la-epson2-s.lo: epson2-s.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epson2_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_epson2_la-epson2-s.lo `test -f 'epson2-s.c' || echo '$(srcdir)/'`epson2-s.c
+libsane_epsonds_la-epsonds-s.lo: epsonds-s.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_epsonds_la-epsonds-s.lo -MD -MP -MF $(DEPDIR)/libsane_epsonds_la-epsonds-s.Tpo -c -o libsane_epsonds_la-epsonds-s.lo `test -f 'epsonds-s.c' || echo '$(srcdir)/'`epsonds-s.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_epsonds_la-epsonds-s.Tpo $(DEPDIR)/libsane_epsonds_la-epsonds-s.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='epsonds-s.c' object='libsane_epsonds_la-epsonds-s.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_epsonds_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libsane_epsonds_la-epsonds-s.lo `test -f 'epsonds-s.c' || echo '$(srcdir)/'`epsonds-s.c
+
libsane_fujitsu_la-fujitsu-s.lo: fujitsu-s.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsane_fujitsu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libsane_fujitsu_la-fujitsu-s.lo -MD -MP -MF $(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Tpo -c -o libsane_fujitsu_la-fujitsu-s.lo `test -f 'fujitsu-s.c' || echo '$(srcdir)/'`fujitsu-s.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Tpo $(DEPDIR)/libsane_fujitsu_la-fujitsu-s.Plo
diff --git a/backend/avision.c b/backend/avision.c
index 74ffe80..146125c 100644
--- a/backend/avision.c
+++ b/backend/avision.c
@@ -39,25 +39,22 @@
*****************************************************************************
- This backend is based upon the Tamarack backend and adapted to the Avision
- scanners by René Rebe and Meino Cramer.
-
This file implements a SANE backend for the Avision SCSI Scanners (like the
AV 630 / 620 (CS) ...) and some Avision (OEM) USB scanners (like the HP 53xx,
74xx, Minolta FS-V1 ...) or Fujitsu ScanPartner with the AVISION SCSI-2/3
- or USB command set.
+ or USB command set and written by René Rebe and Meino Cramer.
+
+ Copyright 2002 - 2015 by
+ "Ren Rebe" <rene@exactcode.de>
+
Copyright 1999, 2000, 2001 by
"René Rebe" <rene@exactcode.de>
"Meino Christian Cramer" <mccramer@s.netic.de>
Copyright 2002 by
- "René Rebe" <rene@exactcode.de>
"Jose Paulo Moitinho de Almeida" <moitinho@civil.ist.utl.pt>
- Copyright 2003, 2004, 2005, 2006, 2007 by
- "René Rebe" <rene@exactcode.de>
-
Copyright 2010, 2011 by
"Mike Kelly" <mike@piratehaven.org>
@@ -167,444 +164,451 @@ static Avision_HWEntry Avision_Device_List [] =
{ "AVISION", "AV100CS",
0, 0,
"Avision", "AV100CS",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV100IIICS",
0, 0,
"Avision", "AV100IIICS",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV100S",
0, 0,
"Avision", "AV100S",
- 0,0},
+ 0},
/* status="untested" */
{ NULL, NULL,
0x0638, 0x0A27,
"Avision", "AV120",
- AV_INT_STATUS,0},
+ AV_INT_STATUS},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A3C,
"Avision", "AV121",
- AV_INT_BUTTON | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA,0},
+ AV_INT_BUTTON | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA},
/* comment="sheetfed scanner" */
/* status="good" */
{ NULL, NULL,
0x0638, 0x0A33,
"Avision", "AV122",
- AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET,0},
+ AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET},
/* comment="sheetfed duplex scanner" */
/* status="good" */
{ NULL, NULL,
0x0638, 0x0A93,
"Avision", "AV122 C2",
- AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_NOT_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET,0},
+ AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_NOT_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET},
/* comment="sheetfed duplex scanner" */
/* status="good" */
{ NULL, NULL,
0x0638, 0x0A24,
"Avision", "AV210",
- AV_INT_BUTTON | AV_ACCEL_TABLE,0},
+ AV_INT_BUTTON | AV_ACCEL_TABLE},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A25,
"Avision", "AV210",
- AV_INT_BUTTON | AV_ACCEL_TABLE | AV_NO_64BYTE_ALIGN,0},
+ AV_INT_BUTTON | AV_ACCEL_TABLE | AV_NO_64BYTE_ALIGN},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A3A,
"Avision", "AV210C2",
- AV_INT_BUTTON | AV_GRAY_MODES,0},
+ AV_INT_BUTTON | AV_GRAY_MODES},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A2F,
"Avision", "AV210C2-G",
- AV_INT_BUTTON | AV_GRAY_MODES,0},
+ AV_INT_BUTTON | AV_GRAY_MODES},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x1A35,
"Avision", "AV210D2+",
- AV_INT_BUTTON, AV_USE_GRAY_FILTER},
+ AV_INT_BUTTON | AV_USE_GRAY_FILTER},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A23,
"Avision", "AV220",
- AV_INT_BUTTON | AV_GRAY_MODES,0},
+ AV_INT_BUTTON | AV_GRAY_MODES},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A2A,
"Avision", "AV220C2",
- AV_INT_BUTTON | AV_CANCEL_BUTTON,0},
+ AV_INT_BUTTON | AV_CANCEL_BUTTON},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A2B,
"Avision", "AV220D2",
- AV_INT_BUTTON | AV_CANCEL_BUTTON,0},
+ AV_INT_BUTTON | AV_CANCEL_BUTTON},
+ /* comment="duplex! sheetfed scanner" */
+ /* status="complete" */
+
+ { NULL, NULL,
+ 0x0638, 0x1A31,
+ "Avision", "AV220D2+",
+ AV_INT_BUTTON | AV_CANCEL_BUTTON | AV_USE_GRAY_FILTER},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A2C,
"Avision", "AV220+",
- AV_INT_BUTTON | AV_CANCEL_BUTTON,0},
+ AV_INT_BUTTON | AV_CANCEL_BUTTON},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A2D,
"Avision", "AV220C2-G",
- AV_INT_BUTTON | AV_CANCEL_BUTTON,0},
+ AV_INT_BUTTON | AV_CANCEL_BUTTON},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A2E,
"Avision", "AV220C2-B",
- AV_INT_BUTTON | AV_CANCEL_BUTTON,0},
+ AV_INT_BUTTON | AV_CANCEL_BUTTON},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A94,
"Avision", "AV220-G",
- AV_INT_BUTTON | AV_2ND_LINE_INTERLACED, AV_FIRMWARE},
+ AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_FIRMWARE},
/* comment="duplex! sheetfed scanner" */
/* status="complete" */
{ "AVISION", "AV240SC",
0, 0,
"Avision", "AV240SC",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV260CS",
0, 0,
"Avision", "AV260CS",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV360CS",
0, 0,
"Avision", "AV360CS",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV363CS",
0, 0,
"Avision", "AV363CS",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV420CS",
0, 0,
"Avision", "AV420CS",
- 0,0},
+ 0},
/* status="untested" */
{ "AVISION", "AV6120",
0, 0,
"Avision", "AV6120",
- 0,0},
+ 0},
/* status="untested" */
{ NULL, "AV610",
0x0638, 0x0a18,
"Avision", "AV610",
- AV_GRAY_CALIB_BLUE | AV_ACCEL_TABLE | AV_NO_64BYTE_ALIGN | AV_INT_BUTTON, 0},
+ AV_GRAY_CALIB_BLUE | AV_ACCEL_TABLE | AV_NO_64BYTE_ALIGN | AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x0638, 0x0a18,
"Avision", "AV600U Plus",
/* If this unit requires the AV_INT_STATUS flag, then we'll need to alter the code to deal with two different devices with the same USB id (AV610 above) */
- AV_GRAY_CALIB_BLUE | AV_ACCEL_TABLE | AV_NO_64BYTE_ALIGN | /* AV_INT_STATUS | */ AV_INT_BUTTON,0},
+ AV_GRAY_CALIB_BLUE | AV_ACCEL_TABLE | AV_NO_64BYTE_ALIGN | /* AV_INT_STATUS | */ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x0638, 0x0a5e,
"Avision", "AV610C2",
- AV_NO_BACKGROUND | AV_INT_BUTTON,0}, /* cancel button -> sense abort! */
+ AV_NO_BACKGROUND | AV_INT_BUTTON}, /* cancel button -> sense abort! */
/* status="good" */
{ NULL, NULL,
0x0638, 0x0a41,
"Avision", "AM3000 Series",
- 0,0},
+ 0},
/* comment="MFD" */
/* status="basic" */
{ NULL, NULL,
0x0638, 0x0a16,
"Avision", "DS610CU Scancopier",
- AV_INT_STATUS,0},
+ AV_INT_STATUS},
/* comment="1 pass, 600 dpi, A4" */
/* status="good" */
{ "AVISION", "AV620CS",
0, 0,
"Avision", "AV620CS",
- 0,0},
+ 0},
/* comment="1 pass, 600 dpi" */
/* status="complete" */
{ "AVISION", "AV620CS Plus",
0, 0,
"Avision", "AV620CS Plus",
- 0,0},
+ 0},
/* comment="1 pass, 1200 dpi" */
/* status="complete" */
{ "AVISION", "AV630CS",
0, 0,
"Avision", "AV630CS",
- 0,0},
+ 0},
/* comment="1 pass, 1200 dpi" */
/* status="complete" */
{ "AVISION", "AV630CSL",
0, 0,
"Avision", "AV630CSL",
- 0,0},
+ 0},
/* comment="1 pass, 1200 dpi" */
/* status="untested" */
{ "AVISION", "AV6240",
0, 0,
"Avision", "AV6240",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A13,
"Avision", "AV600U",
- AV_MULTI_CALIB_CMD | AV_ADF_BGR_ORDER_INVERT | AV_SOFT_SCALE | AV_INT_STATUS | AV_NO_BUTTON,0},
+ AV_MULTI_CALIB_CMD | AV_ADF_BGR_ORDER_INVERT | AV_SOFT_SCALE | AV_INT_STATUS | AV_NO_BUTTON},
/* comment="1 pass, 600 dpi" */
/* status="good" */
{ "AVISION", "AV660S",
0, 0,
"Avision", "AV660S",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV680S",
0, 0,
"Avision", "AV680S",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV690U",
0, 0,
"Avision", "AV690U",
- 0,0},
+ 0},
/* comment="1 pass, 2400 dpi" */
/* status="untested" */
{ "AVISION", "AV800S",
0, 0,
"Avision", "AV800S",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV810C",
0, 0,
"Avision", "AV810C",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV820",
0, 0,
"Avision", "AV820",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV820C",
0, 0,
"Avision", "AV820C",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV820C Plus",
0, 0,
"Avision", "AV820C Plus",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV830C",
0, 0,
"Avision", "AV830C",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV830C Plus",
0, 0,
"Avision", "AV830C Plus",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV880",
0, 0,
"Avision", "AV880",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV880C",
0, 0,
"Avision", "AV880C",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="untested" */
{ "AVISION", "AV3200C",
0, 0,
"Avision", "AV3200C",
- AV_NON_INTERLACED_DUPLEX_300 | AV_FASTER_WITH_FILTER,0},
+ AV_NON_INTERLACED_DUPLEX_300 | AV_FASTER_WITH_FILTER},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV3200SU",
0x0638, 0x0A4E,
"Avision", "AV3200SU",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV3730SU",
0x0638, 0x0A4F,
"Avision", "AV3730SU",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV3750SU",
0x0638, 0x0A65,
"Avision", "AV3750SU",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV3800C",
0, 0,
"Avision", "AV3800C",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "AV3850SU",
0x0638, 0x0a66,
"Avision", "AV3850SU",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi" */
/* status="complete" */
{ "AVISION", "FB6000E",
0, 0,
"Avision", "FB6000E",
- AV_NON_INTERLACED_DUPLEX_300,0},
+ AV_NON_INTERLACED_DUPLEX_300},
/* comment="1 pass, 1200 dpi, A3 - duplex! - zero edge!" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0a82,
"Avision", "FB6080E",
- AV_NON_INTERLACED_DUPLEX_300,0},
+ AV_NON_INTERLACED_DUPLEX_300},
/* comment="1 pass, 1200 dpi, A3 - duplex! - zero edge!" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0a84,
"Avision", "FB2080E",
- 0,0},
+ 0},
/* comment="1 pass, 600 dpi, zero-edge" ASIC 7 */
/* status="basic" */
{ "AVISION", "AV8000S",
0, 0,
"Avision", "AV8000S",
- AV_DOES_NOT_KEEP_WINDOW,0},
+ AV_DOES_NOT_KEEP_WINDOW},
/* comment="1 pass, 1200 dpi, A3" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0a4d,
"Avision", "AV8050U",
- AV_NON_INTERLACED_DUPLEX_300 | AV_DOES_NOT_KEEP_GAMMA,0},
+ AV_NON_INTERLACED_DUPLEX_300 | AV_DOES_NOT_KEEP_GAMMA},
/* comment="1 pass, 1200 dpi, A3 - duplex!" */
/* status="complete" */
{ "AVISION", "AV8300",
0x0638, 0x0A40,
"Avision", "AV8300",
- AV_NON_INTERLACED_DUPLEX_300 | AV_DOES_NOT_KEEP_GAMMA,0},
+ AV_NON_INTERLACED_DUPLEX_300 | AV_DOES_NOT_KEEP_GAMMA},
/* comment="1 pass, 1200 dpi, A3 - duplex!" */
/* status="complete" */
{ "AVISION", "AV8350",
0x0638, 0x0A68,
"Avision", "AV8350",
- AV_NON_INTERLACED_DUPLEX_300 | AV_DOES_NOT_KEEP_GAMMA,0},
+ AV_NON_INTERLACED_DUPLEX_300 | AV_DOES_NOT_KEEP_GAMMA},
/* comment="1 pass, 1200 dpi, A3 - duplex!" */
/* status="complete" */
{ NULL, NULL,
0x0638, 0x0A61,
"Avision", "IT8300",
- AV_NON_INTERLACED_DUPLEX_300 | AV_ACCEL_TABLE,0},
+ AV_NON_INTERLACED_DUPLEX_300 | AV_ACCEL_TABLE},
/* comment="1 pass, 1200 dpi, A3 - duplex!, LCD screen, paper sensors" */
/* status="good" */
{ NULL, NULL,
0x0638, 0x0AA1,
"Avision", "@V2500",
- 0,0},
+ 0},
/* comment="" */
/* status="untested" */
{ NULL, NULL,
0x0638, 0x0A45,
"Avision", "@V5100",
- 0,0},
+ 0},
/* comment="1 pass, 1200 dpi, A3 - duplex!, LCD screen, paper sensors" */
/* status="good" */
{ "AVISION", "AVA3",
0, 0,
"Avision", "AVA3",
- AV_FORCE_A3,0},
+ AV_FORCE_A3},
/* comment="1 pass, 600 dpi, A3" */
/* status="basic" */
@@ -613,21 +617,21 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "ScanJet 5300C",
0x03f0, 0x0701,
"Hewlett-Packard", "ScanJet 5300C",
- AV_INT_STATUS,0},
+ AV_INT_STATUS},
/* comment="1 pass, 2400 dpi - some FW revisions have x-axis image scaling problems over 1200 dpi" */
/* status="complete" */
{ "HP", "ScanJet 5370C",
0x03f0, 0x0701,
"Hewlett-Packard", "ScanJet 5370C",
- AV_MULTI_CALIB_CMD | AV_INT_STATUS, 0 },
+ AV_MULTI_CALIB_CMD | AV_INT_STATUS},
/* comment="1 pass, 2400 dpi - some FW revisions have x-axis image scaling problems over 1200 dpi" */
/* status="good" */
{ "hp", "scanjet 7400c",
0x03f0, 0x0801,
"Hewlett-Packard", "ScanJet 7400c",
- AV_LIGHT_CHECK_BOGUS | AV_NO_64BYTE_ALIGN | AV_INT_STATUS,0},
+ AV_LIGHT_CHECK_BOGUS | AV_NO_64BYTE_ALIGN | AV_INT_STATUS},
/* comment="1 pass, 2400 dpi - dual USB/SCSI interface" */
/* status="good" */
@@ -635,14 +639,14 @@ static Avision_HWEntry Avision_Device_List [] =
{ "hp", "scanjet 7450c",
0x03f0, 0x0801,
"Hewlett-Packard", "ScanJet 7450c",
- AV_NO_64BYTE_ALIGN | AV_INT_STATUS,0},
+ AV_NO_64BYTE_ALIGN | AV_INT_STATUS},
/* comment="1 pass, 2400 dpi - dual USB/SCSI interface" */
/* status="good" */
{ "hp", "scanjet 7490c",
0x03f0, 0x0801,
"Hewlett-Packard", "ScanJet 7490c",
- AV_NO_64BYTE_ALIGN | AV_INT_STATUS,0},
+ AV_NO_64BYTE_ALIGN | AV_INT_STATUS},
/* comment="1 pass, 1200 dpi - dual USB/SCSI interface" */
/* status="good" */
@@ -650,7 +654,7 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "C9930A",
0x03f0, 0x0b01,
"Hewlett-Packard", "ScanJet 8200",
- 0, AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE },
+ AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE},
/* comment="1 pass, 4800 (?) dpi - USB 2.0" */
/* status="good" */
@@ -658,7 +662,7 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "C9930A",
0x03f0, 0x0b01,
"Hewlett-Packard", "ScanJet 8250",
- 0, AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE },
+ AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE},
/* comment="1 pass, 4800 (?) dpi - USB 2.0" */
/* status="good" */
#endif
@@ -666,7 +670,7 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "C9930A",
0x03f0, 0x3905,
"Hewlett-Packard", "ScanJet 8270",
- 0, AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE },
+ AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE},
/* comment="1 pass, 4800 (?) dpi - USB 2.0" */
/* status="good" */
@@ -674,7 +678,7 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "C9930A",
0x03f0, 0x0b01,
"Hewlett-Packard", "ScanJet 8290",
- 0, AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE },
+ AV_ADF_FLIPPING_DUPLEX | AV_FIRMWARE},
/* comment="1 pass, 4800 (?) dpi - USB 2.0 and SCSI - only SCSI tested so far" */
/* status="good" */
@@ -682,7 +686,7 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "C9930A",
0x03f0, 0x3805,
"Hewlett-Packard", "ScanJet 8300",
- 0,0},
+ 0},
/* comment="1 pass, 4800 (?) dpi - USB 2.0" */
/* status="good" */
@@ -690,14 +694,14 @@ static Avision_HWEntry Avision_Device_List [] =
{ "HP", "C9930A",
0x03f0, 0x3805,
"Hewlett-Packard", "ScanJet 8350",
- 0,0},
+ 0},
/* comment="1 pass, 4800 (?) dpi - USB 2.0" */
/* status="good" */
{ "HP", "C9930A",
0x03f0, 0x3805,
"Hewlett-Packard", "ScanJet 8390",
- 0,0},
+ 0},
/* comment="1 pass, 4800 (?) dpi - USB 2.0" */
/* status="good" */
@@ -705,79 +709,79 @@ static Avision_HWEntry Avision_Device_List [] =
{ "Minolta", "#2882",
0, 0,
"Minolta", "Dimage Scan Dual I",
- AV_FORCE_FILM | AV_NO_START_SCAN,0}, /* not AV_FILMSCANNER (no frame control) */
+ AV_FORCE_FILM | AV_NO_START_SCAN}, /* not AV_FILMSCANNER (no frame control) */
/* status="basic" */
{ "Minolta", "#2887",
0, 0,
"Minolta", "Scan Multi Pro",
- AV_FORCE_FILM | AV_NO_START_SCAN,0}, /* AV_FILMSCANNER (frame control)? */
+ AV_FORCE_FILM | AV_NO_START_SCAN}, /* AV_FILMSCANNER (frame control)? */
/* status="untested" */
{ "MINOLTA", "FS-V1",
0x0638, 0x026a,
"Minolta", "Dimage Scan Dual II",
- AV_FILMSCANNER | AV_ONE_CALIB_CMD | AV_12_BIT_MODE,0},
+ AV_FILMSCANNER | AV_ONE_CALIB_CMD | AV_12_BIT_MODE},
/* comment="1 pass, film-scanner" */
/* status="good" */
{ "MINOLTA", "Elite II",
0x0686, 0x4004,
"Minolta", "Elite II",
- AV_FILMSCANNER | AV_ONE_CALIB_CMD,0},
+ AV_FILMSCANNER | AV_ONE_CALIB_CMD},
/* comment="1 pass, film-scanner" */
/* status="untested" */
{ "MINOLTA", "FS-V3",
0x0686, 0x400d,
"Minolta", "Dimage Scan Dual III",
- AV_FILMSCANNER | AV_ONE_CALIB_CMD | AV_ACCEL_TABLE ,0},
+ AV_FILMSCANNER | AV_ONE_CALIB_CMD | AV_ACCEL_TABLE},
/* comment="1 pass, film-scanner" */
/* status="good" */
{ "MINOLTA", "FS-V4",
0x0686, 0x400e,
"Minolta", "Dimage Scan Elite 5400",
- AV_FILMSCANNER | AV_ONE_CALIB_CMD | /*AV_ACCEL_TABLE |*/ AV_NO_START_SCAN,0},
+ AV_FILMSCANNER | AV_ONE_CALIB_CMD | /*AV_ACCEL_TABLE |*/ AV_NO_START_SCAN},
/* comment="1 pass, film-scanner" */
/* status="good" */
{ "QMS", "SC-110",
0x0638, 0x0a15,
"Minolta-QMS", "SC-110",
- 0,0},
+ 0},
/* comment="" */
/* status="untested" */
{ "QMS", "SC-215",
0x0638, 0x0a16,
"Minolta-QMS", "SC-215",
- 0,0},
+ 0},
/* comment="" */
/* status="good" */
{ "MITSBISH", "MCA-ADFC",
0, 0,
"Mitsubishi", "MCA-ADFC",
- 0,0},
+ 0},
/* status="untested" */
{ "MITSBISH", "MCA-S1200C",
0, 0,
"Mitsubishi", "S1200C",
- 0,0},
+ 0},
/* status="untested" */
{ "MITSBISH", "MCA-S600C",
0, 0,
"Mitsubishi", "S600C",
- 0,0},
+ 0},
/* status="untested" */
{ "MITSBISH", "SS600",
0, 0,
"Mitsubishi", "SS600",
- 0,0},
+ 0},
/* status="good" */
/* The next are all untested ... */
@@ -785,209 +789,209 @@ static Avision_HWEntry Avision_Device_List [] =
{ "FCPA", "ScanPartner",
0, 0,
"Fujitsu", "ScanPartner",
- AV_FUJITSU,0},
+ AV_FUJITSU},
/* status="untested" */
{ "FCPA", "ScanPartner 10",
0, 0,
"Fujitsu", "ScanPartner 10",
- AV_FUJITSU,0},
+ AV_FUJITSU},
/* status="untested" */
{ "FCPA", "ScanPartner 10C",
0, 0,
"Fujitsu", "ScanPartner 10C",
- AV_FUJITSU,0},
+ AV_FUJITSU},
/* status="untested" */
{ "FCPA", "ScanPartner 15C",
0, 0,
"Fujitsu", "ScanPartner 15C",
- AV_FUJITSU,0},
+ AV_FUJITSU},
/* status="untested" */
{ "FCPA", "ScanPartner 300C",
0, 0,
"Fujitsu", "ScanPartner 300C",
- 0,0},
+ 0},
/* status="untested" */
{ "FCPA", "ScanPartner 600C",
0, 0,
"Fujitsu", "ScanPartner 600C",
- 0,0},
+ 0},
/* status="untested" */
{ "FCPA", "ScanPartner 620C",
0, 0,
"Fujitsu", "ScanPartner 620C",
- AV_LIGHT_CHECK_BOGUS,0},
+ AV_LIGHT_CHECK_BOGUS},
/* status="good" */
{ "FCPA", "ScanPartner Jr",
0, 0,
"Fujitsu", "ScanPartner Jr",
- 0,0},
+ 0},
/* status="untested" */
{ "FCPA", "ScanStation",
0, 0,
"Fujitsu", "ScanStation",
- 0,0},
+ 0},
/* status="untested" */
{ NULL, NULL,
0x04c5, 0x1029,
"Fujitsu", "fi-4010CU",
- 0,0},
+ 0},
/* status="untested" */
{ NULL, NULL,
0x04c5, 0x10ef,
"Fujitsu", "fi-5015C",
- 0,0},
+ 0},
/* status="good" */
{ NULL, NULL,
0x040a, 0x6001,
"Kodak", "i30",
- AV_INT_BUTTON | AV_GRAY_MODES,0},
+ AV_INT_BUTTON | AV_GRAY_MODES},
/* status="untested" */
{ NULL, NULL,
0x040a, 0x6002,
"Kodak", "i40",
- AV_INT_BUTTON | AV_GRAY_MODES,0},
+ AV_INT_BUTTON | AV_GRAY_MODES},
/* status="basic" */
{ NULL, NULL,
0x040a, 0x6003,
"Kodak", "i50",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#ifdef FAKE_ENTRIES_FOR_DESC_GENERATION
{ NULL, NULL,
0x040a, 0x6003,
"Kodak", "i55",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#endif
{ NULL, NULL,
0x040a, 0x6004,
"Kodak", "i60",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#ifdef FAKE_ENTRIES_FOR_DESC_GENERATION
{ NULL, NULL,
0x040a, 0x6004,
"Kodak", "i65",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#endif
{ NULL, NULL,
0x040a, 0x6005,
"Kodak", "i80",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ "iVina", "1200U",
0x0638, 0x0268,
"iVina", "1200U",
- 0,0},
+ 0},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x0424,
"Visioneer", "Strobe XP 450",
- AV_INT_BUTTON | AV_ACCEL_TABLE,0},
+ AV_INT_BUTTON | AV_ACCEL_TABLE},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0491,
"Visioneer", "Strobe XP 450-G",
- AV_INT_BUTTON | AV_ACCEL_TABLE,0},
+ AV_INT_BUTTON | AV_ACCEL_TABLE},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0479,
"Visioneer", "Strobe XP 470",
- AV_INT_BUTTON | AV_ACCEL_TABLE,0},
+ AV_INT_BUTTON | AV_ACCEL_TABLE},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x048F,
"Visioneer", "Strobe XP 470-G",
- AV_INT_BUTTON | AV_ACCEL_TABLE,0},
+ AV_INT_BUTTON | AV_ACCEL_TABLE},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0420,
"Visioneer", "9320",
- 0,0},
+ 0},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0421,
"Visioneer", "9450",
- AV_MULTI_CALIB_CMD | AV_ADF_BGR_ORDER_INVERT | AV_NO_BUTTON, AV_NO_TUNE_SCAN_LENGTH},
+ AV_MULTI_CALIB_CMD | AV_ADF_BGR_ORDER_INVERT | AV_NO_BUTTON | AV_NO_TUNE_SCAN_LENGTH},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x047A,
"Visioneer", "9450-G",
- 0,0},
+ 0},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0422,
"Visioneer", "9550",
- 0,0},
+ 0},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0390,
"Visioneer", "9650",
- 0,0},
+ 0},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x047B,
"Visioneer", "9650-G",
- 0,0},
+ 0},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0423,
"Visioneer", "9750",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0493,
"Visioneer", "9750-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0497,
"Visioneer", "Patriot 430",
- AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET,0},
+ AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET},
/* comment="sheetfed scanner" */
/* status="complete" */
@@ -995,7 +999,7 @@ static Avision_HWEntry Avision_Device_List [] =
{ NULL, NULL,
0x04a7, 0x048F,
"Visioneer", "Patriot 470",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* comment="sheetfed scanner" */
/* status="complete" */
#endif
@@ -1003,150 +1007,150 @@ static Avision_HWEntry Avision_Device_List [] =
{ NULL, NULL,
0x04a7, 0x0498,
"Visioneer", "Patriot 680",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x0499,
"Visioneer", "Patriot 780",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* comment="sheetfed scanner" */
/* status="complete" */
{ NULL, NULL,
0x04a7, 0x049C,
"Xerox", "DocuMate150",
- AV_INT_BUTTON | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_BACKGROUND_QUIRK,0},
+ AV_INT_BUTTON | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_BACKGROUND_QUIRK},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x0477,
"Xerox", "DocuMate152",
- AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET | AV_BACKGROUND_QUIRK,0},
+ AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET | AV_BACKGROUND_QUIRK},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x049D,
"Xerox", "DocuMate162",
- AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET | AV_BACKGROUND_QUIRK,0},
+ AV_INT_BUTTON | AV_2ND_LINE_INTERLACED | AV_NO_REAR | AV_SOFT_SCALE | AV_DOES_KEEP_WINDOW | AV_DOES_KEEP_GAMMA | AV_REAR_OFFSET | AV_BACKGROUND_QUIRK},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x0448,
"Xerox", "DocuMate250",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x0490,
"Xerox", "DocuMate250-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x0449,
"Xerox", "DocuMate252",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x048C,
"Xerox", "DocuMate252-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x0476,
"Xerox", "DocuMate232",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x044c,
"Xerox", "DocuMate262",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x048D,
"Xerox", "DocuMate262-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x04a7,
"Xerox", "DocuMate262i",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="good" */
{ NULL, NULL,
0x04a7, 0x0475,
"Xerox", "DocuMate272",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x048E,
"Xerox", "DocuMate272-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x0446,
"Xerox", "DocuMate510",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x0495,
"Xerox", "DocuMate512",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x047c,
"Xerox", "DocuMate510-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x0447,
"Xerox", "DocuMate520",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x0492,
"Xerox", "DocuMate520-G",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#ifdef FAKE_ENTRIES_FOR_DESC_GENERATION
{ NULL, NULL,
0x04a7, 0x0498,
"Xerox", "DocuMate632",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#endif
{ NULL, NULL,
0x04a7, 0x0478,
"Xerox", "DocuMate752",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
{ NULL, NULL,
0x04a7, 0x049A,
"Xerox", "DocuMate752",
- AV_INT_BUTTON,0},
+ AV_INT_BUTTON},
/* status="untested" */
#ifdef FAKE_ENTRIES_FOR_DESC_GENERATION
{ NULL, NULL,
0x0638, 0x0a16,
"OKI", "S700 Scancopier",
- 0,0},
+ 0},
/* comment="1 pass, 600 dpi, A4" */
/* status="good" */
#endif
@@ -1154,14 +1158,14 @@ static Avision_HWEntry Avision_Device_List [] =
{ "B+H", "2000F",
0, 0,
"Bell+Howell", "2000F",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi, A4" */
/* status="basic" */
{ NULL, NULL,
0x0482, 0x0335,
"Kyocera", "FS-1016MFP",
- 0,0},
+ 0},
/* comment="1 pass, ??? dpi, A4" */
/* status="untested" */
@@ -1203,7 +1207,7 @@ Lexmark X4500 MFP
{ NULL, NULL,
0, 0,
NULL, NULL,
- 0,0}
+ 0}
};
#if 0
@@ -3208,7 +3212,7 @@ get_accessories_info (Avision_Scanner* s)
dev->inquiry_adf |= result [0];
- if (dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX)
+ if (dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX)
{
if (result[0] == 1)
{
@@ -3765,14 +3769,14 @@ attach (SANE_String_Const devname, Avision_ConnectionType con_type,
if (!found) {
DBG (0, "attach: \"%s\" - \"%s\" not yet in whitelist!\n", mfg, model);
DBG (0, "attach: You might want to report this output.\n");
- DBG (0, "attach: To: mike@piratehaven.org (the Avision backend maintainer)\n");
+ DBG (0, "attach: To: rene@exactcode.de (the Avision backend author)\n");
status = SANE_STATUS_INVAL;
goto close_scanner_and_return;
}
/* second: maybe ask for the firmware status and flash ram info */
- if (Avision_Device_List [model_num].feature_type2 & AV_FIRMWARE)
+ if (Avision_Device_List [model_num].feature_type & AV_FIRMWARE)
{
DBG (3, "attach: reading firmware status\n");
status = get_firmware_status (&av_con);
@@ -4211,7 +4215,7 @@ get_double ( &(result[48] ) ));
}
dev->inquiry_tune_scan_length = BIT(result[94],2);
- if (Avision_Device_List [model_num].feature_type2 & AV_NO_TUNE_SCAN_LENGTH)
+ if (Avision_Device_List [model_num].feature_type & AV_NO_TUNE_SCAN_LENGTH)
dev->inquiry_tune_scan_length = 0;
dev->inquiry_background_raster = BIT(result[95],2);
@@ -4278,7 +4282,9 @@ get_double ( &(result[48] ) ));
else
dev->scsi_buffer_size = sanei_scsi_max_request_size;
- if (dev->inquiry_asic_type >= AV_ASIC_C5)
+ if (dev->inquiry_asic_type > AV_ASIC_C7 && dev->inquiry_asic_type < AV_ASIC_OA980)
+ dev->read_stripe_size = 16;
+ else if (dev->inquiry_asic_type >= AV_ASIC_C5)
dev->read_stripe_size = 32;
else /* tested on AV3200 with it's max of 300dpi @color */
dev->read_stripe_size = 8; /* maybe made dynamic on scan res ... */
@@ -5142,7 +5148,7 @@ send_gamma (Avision_Scanner* s)
switch (dev->inquiry_asic_type)
{
case AV_ASIC_Cx:
- case AV_ASIC_C1: /* from avision code */
+ case AV_ASIC_C1:
gamma_table_raw_size = 4096;
gamma_table_size = 2048;
break;
@@ -5150,10 +5156,6 @@ send_gamma (Avision_Scanner* s)
gamma_table_raw_size = 256;
gamma_table_size = 256;
break;
- case AV_ASIC_C6: /* SPEC claims: 256 ... ? */
- case AV_ASIC_C7:
- gamma_table_raw_size = 512;
- gamma_table_size = 512;
break;
case AV_ASIC_OA980:
gamma_table_raw_size = 4096;
@@ -5164,7 +5166,8 @@ send_gamma (Avision_Scanner* s)
gamma_table_size = 256;
break;
default:
- gamma_table_raw_size = gamma_table_size = 4096;
+ gamma_table_raw_size = 512; /* SPEC claims: 256 ... ? */
+ gamma_table_size = 512;
}
gamma_values = gamma_table_size / 256;
@@ -5678,8 +5681,9 @@ set_window (Avision_Scanner* s)
}
}
- if (s->val[OPT_PAPERLEN].w)
+ if (s->val[OPT_PAPERLEN].w != SANE_FALSE) {
set_double (cmd.window.descriptor.paper_length, (int)((double)30.0*1200));
+ }
if ( !(dev->hw->feature_type & AV_FUJITSU) )
{
@@ -5780,7 +5784,7 @@ set_window (Avision_Scanner* s)
else {
if (dev->hw->feature_type & AV_FASTER_WITH_FILTER)
cmd.window.avision.bitset1 |= AVISION_FILTER_GREEN;
- else if (dev->hw->feature_type2 & AV_USE_GRAY_FILTER)
+ else if (dev->hw->feature_type & AV_USE_GRAY_FILTER)
cmd.window.avision.bitset1 |= AVISION_FILTER_GRAY;
else
cmd.window.avision.bitset1 |= AVISION_FILTER_NONE;
@@ -6182,7 +6186,7 @@ do_eof (Avision_Scanner *s)
/* we can now mark the rear data as valid */
if (s->avdimen.interlaced_duplex ||
- (s->hw->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX)) {
+ (s->hw->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX)) {
DBG (3, "do_eof: toggling duplex rear data valid\n");
s->duplex_rear_valid = !s->duplex_rear_valid;
DBG (3, "do_eof: duplex rear data valid: %x\n",
@@ -6262,11 +6266,6 @@ init_options (Avision_Scanner* s)
/* Init the SANE option from the scanner inquiry data */
- dev->x_range.max = SANE_FIX ( (int)dev->inquiry_x_ranges[s->source_mode_dim]);
- dev->x_range.quant = 0;
- dev->y_range.max = SANE_FIX ( (int)dev->inquiry_y_ranges[s->source_mode_dim]);
- dev->y_range.quant = 0;
-
switch (dev->inquiry_asic_type) {
case AV_ASIC_C2:
dev->dpi_range.min = 100;
@@ -6331,6 +6330,11 @@ init_options (Avision_Scanner* s)
s->source_mode = match_source_mode (dev, s->val[OPT_SOURCE].s);
s->source_mode_dim = match_source_mode_dim (s->source_mode);
+ dev->x_range.max = SANE_FIX ( (int)dev->inquiry_x_ranges[s->source_mode_dim]);
+ dev->x_range.quant = 0;
+ dev->y_range.max = SANE_FIX ( (int)dev->inquiry_y_ranges[s->source_mode_dim]);
+ dev->y_range.quant = 0;
+
/* resolution */
s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION;
s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION;
@@ -6667,7 +6671,7 @@ init_options (Avision_Scanner* s)
/* ADF page flipping */
s->opt[OPT_ADF_FLIP].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_AUTOMATIC | SANE_CAP_ADVANCED;
- if (!(s->hw->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX))
+ if (!(s->hw->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX))
s->opt[OPT_ADF_FLIP].cap |= SANE_CAP_INACTIVE;
s->opt[OPT_ADF_FLIP].name = "flip-page";
s->opt[OPT_ADF_FLIP].title = "Flip document after duplex scanning";
@@ -6782,7 +6786,7 @@ reader_process (void *data)
return SANE_STATUS_NO_MEM;
/* start scan ? */
- if ((deinterlace == NONE && !((dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && s->duplex_rear_valid)) ||
+ if ((deinterlace == NONE && !((dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && s->duplex_rear_valid)) ||
(deinterlace != NONE && !s->duplex_rear_valid))
{
/* reserve unit - in the past we did this in open - but the
@@ -6820,7 +6824,7 @@ reader_process (void *data)
/* setup file i/o for deinterlacing scans or if we are the back page with a flipping duplexer */
if (deinterlace != NONE ||
- (dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2)))
+ (dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2)))
{
if (!s->duplex_rear_valid) { /* create new file for writing */
DBG (3, "reader_process: opening duplex rear file for writing.\n");
@@ -6954,11 +6958,15 @@ reader_process (void *data)
/* only EOF on the second stripe, as otherwise the rear page
is shorter */
if (status == SANE_STATUS_EOF && deinterlace == STRIPE) {
- static int already_eof = 0;
- if (!already_eof) {
- DBG (5, "reader_process: first EOF on stripe interlace: hiding.\n");
- status = SANE_STATUS_GOOD;
- already_eof = 1;
+ if (dev->inquiry_asic_type > AV_ASIC_C7 && dev->inquiry_asic_type < AV_ASIC_OA980) {
+ this_read = 0;
+ } else {
+ static int already_eof = 0;
+ if (!already_eof) {
+ DBG (5, "reader_process: first EOF on stripe interlace: hiding.\n");
+ status = SANE_STATUS_GOOD;
+ already_eof = 1;
+ }
}
}
@@ -7047,7 +7055,7 @@ reader_process (void *data)
DBG (9, "reader_process: after deinterlacing: useful_bytes: %d, stripe_fill: %d\n",
useful_bytes, stripe_fill);
}
- if (dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2) && !s->duplex_rear_valid) {
+ if (dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2) && !s->duplex_rear_valid) {
/* Here we flip the image by writing the lines from the end of the file to the beginning. */
unsigned int absline = (processed_bytes - stripe_fill) / s->avdimen.hw_bytes_per_line;
unsigned int abslines = absline + useful_bytes / s->avdimen.hw_bytes_per_line;
@@ -7454,7 +7462,7 @@ reader_process (void *data)
/* Eject film holder and/or release_unit - but only for
non-duplex-rear / non-virtual scans. */
if ((deinterlace != NONE && s->duplex_rear_valid) ||
- ((dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2) && s->duplex_rear_valid))
+ ((dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && !(s->page % 2) && s->duplex_rear_valid))
{
DBG (1, "reader_process: virtual duplex scan - no device cleanup!\n");
}
@@ -7477,7 +7485,7 @@ reader_process (void *data)
}
}
- if ((dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && s->page % 2) {
+ if ((dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) && s->source_mode == AV_ADF_DUPLEX && s->page % 2) {
/* front page of flipping duplex */
if (exit_status == SANE_STATUS_EOF) {
if (s->val[OPT_ADF_FLIP].w) {
@@ -7891,7 +7899,7 @@ sane_open (SANE_String_Const devicename, SANE_Handle *handle)
init_options (s);
if (dev->inquiry_duplex_interlaced || dev->scanner_type == AV_FILM ||
- dev->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX) {
+ dev->hw->feature_type & AV_ADF_FLIPPING_DUPLEX) {
/* Might need at least *DOS (Windows flavour and OS/2) portability fix
However, I was told Cygwin (et al.) takes care of it. */
strncpy(s->duplex_rear_fname, "/tmp/avision-rear-XXXXXX", PATH_MAX);
@@ -8188,7 +8196,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
dev->y_range.max =
SANE_FIX ( dev->inquiry_y_ranges[s->source_mode_dim]);
- if (s->hw->hw->feature_type2 & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX) {
+ if (s->hw->hw->feature_type & AV_ADF_FLIPPING_DUPLEX && s->source_mode == AV_ADF_DUPLEX) {
s->opt[OPT_ADF_FLIP].cap &= ~SANE_CAP_INACTIVE;
} else {
s->opt[OPT_ADF_FLIP].cap |= SANE_CAP_INACTIVE;
@@ -8284,16 +8292,9 @@ sane_get_parameters (SANE_Handle handle, SANE_Parameters* params)
}
if (params) {
+ *params = s->params;
/* add background raster lines */
- s->params.lines += s->val[OPT_BACKGROUND].w;
-
- /* copy structure members */
- params->format = s->params.format;
- params->last_frame = s->params.last_frame;
- params->bytes_per_line = s->params.bytes_per_line;
- params->pixels_per_line = s->params.pixels_per_line;
- params->lines = s->params.lines;
- params->depth = s->params.depth;
+ params->lines += s->val[OPT_BACKGROUND].w;
}
return SANE_STATUS_GOOD;
diff --git a/backend/avision.h b/backend/avision.h
index 14134e1..2122e09 100644
--- a/backend/avision.h
+++ b/backend/avision.h
@@ -93,123 +93,119 @@ typedef struct Avision_HWEntry {
/* feature overwrites - as embedded CPUs have 16bit enums - this
would need a change ... */
- enum {
/* force no calibration */
- AV_NO_CALIB = (1<<0),
+ #define AV_NO_CALIB ((uint64_t)1<<0)
/* force all in one command calibration */
- AV_ONE_CALIB_CMD = (1<<1),
+ #define AV_ONE_CALIB_CMD ((uint64_t)1<<1)
/* no gamma table */
- AV_NO_GAMMA = (1<<2),
+ #define AV_NO_GAMMA ((uint64_t)1<<2)
/* light check is bogus */
- AV_LIGHT_CHECK_BOGUS = (1<<3),
+ #define AV_LIGHT_CHECK_BOGUS ((uint64_t)1<<3)
/* no button though the device advertise it */
- AV_NO_BUTTON = (1<<4),
+ #define AV_NO_BUTTON ((uint64_t)1<<4)
/* if the scan area needs to be forced to A3 */
- AV_FORCE_A3 = (1<<5),
+ #define AV_FORCE_A3 ((uint64_t)1<<5)
/* if the scan area and resolution needs to be forced for films */
- AV_FORCE_FILM = (1<<6),
+ #define AV_FORCE_FILM ((uint64_t)1<<6)
/* does not suport, or very broken background (added for AV610C2) */
- AV_NO_BACKGROUND = (1<<7),
+ #define AV_NO_BACKGROUND ((uint64_t)1<<7)
/* is film scanner - no detection yet */
- AV_FILMSCANNER = (1<<8),
+ #define AV_FILMSCANNER ((uint64_t)1<<8)
/* fujitsu adaption */
- AV_FUJITSU = (1<<9),
+ #define AV_FUJITSU ((uint64_t)1<<9)
/* gray calibration data has to be uploaded on the blue channel ... ? */
- AV_GRAY_CALIB_BLUE = (1<<10),
+ #define AV_GRAY_CALIB_BLUE ((uint64_t)1<<10)
/* Interrupt endpoint button readout (so far AV220) */
- AV_INT_BUTTON = (1<<11),
+ #define AV_INT_BUTTON ((uint64_t)1<<11)
/* send acceleration table ... */
- AV_ACCEL_TABLE = (1<<12),
+ #define AV_ACCEL_TABLE ((uint64_t)1<<12)
/* non-interlaced scanns up to 300 dpi (AV32xx / AV83xx) */
- AV_NON_INTERLACED_DUPLEX_300 = (1<<13),
+ #define AV_NON_INTERLACED_DUPLEX_300 ((uint64_t)1<<13)
/* do not read multiples of 64 bytes - stalls the USB chip */
- AV_NO_64BYTE_ALIGN = (1<<14),
+ #define AV_NO_64BYTE_ALIGN ((uint64_t)1<<14)
/* force channel-by-channel calibration */
- AV_MULTI_CALIB_CMD = (1<<15),
+ #define AV_MULTI_CALIB_CMD ((uint64_t)1<<15)
/* non color scans are faster with a filter applied (AV32xx) */
- AV_FASTER_WITH_FILTER = (1<<16),
+ #define AV_FASTER_WITH_FILTER ((uint64_t)1<<16)
/* interlaced data with 1 line distance */
- AV_2ND_LINE_INTERLACED = (1<<17),
+ #define AV_2ND_LINE_INTERLACED ((uint64_t)1<<17)
/* does not keep the window though it advertices so */
- AV_DOES_NOT_KEEP_WINDOW = (1<<18),
+ #define AV_DOES_NOT_KEEP_WINDOW ((uint64_t)1<<18)
/* does not keep the gamma though it advertices so */
- AV_DOES_NOT_KEEP_GAMMA = (1<<19),
+ #define AV_DOES_NOT_KEEP_GAMMA ((uint64_t)1<<19)
/* advertises ADF is BGR order, but isn't (or vice versa) */
- AV_ADF_BGR_ORDER_INVERT = (1<<20),
+ #define AV_ADF_BGR_ORDER_INVERT ((uint64_t)1<<20)
/* allows 12bit mode, though not flagged */
- AV_12_BIT_MODE = (1<<21),
+ #define AV_12_BIT_MODE ((uint64_t)1<<21)
/* very broken background raster */
- AV_BACKGROUND_QUIRK = (1<<22),
+ #define AV_BACKGROUND_QUIRK ((uint64_t)1<<22)
/* though marked as GRAY only the scanner can do GRAY modes */
- AV_GRAY_MODES = (1<<23),
+ #define AV_GRAY_MODES ((uint64_t)1<<23)
/* no seperate, single REAR scan (AV122, DM152, ...) */
- AV_NO_REAR = (1<<24),
+ #define AV_NO_REAR ((uint64_t)1<<24)
/* only scan with some known good hardware resolutions, as the
scanner fails to properly interpoloate in between (e.g. AV121,
DM152 on duplex scans - but also the AV600), software scale and
interpolate to all the others */
- AV_SOFT_SCALE = (1<<25),
+ #define AV_SOFT_SCALE ((uint64_t)1<<25)
/* does keep window though it does not advertice it - the AV122/DM152
mess up image data if window is resend between ADF pages */
- AV_DOES_KEEP_WINDOW = (1<<26),
+ #define AV_DOES_KEEP_WINDOW ((uint64_t)1<<26)
/* does keep gamma though it does not advertice it */
- AV_DOES_KEEP_GAMMA = (1<<27),
+ #define AV_DOES_KEEP_GAMMA ((uint64_t)1<<27)
/* does the scanner contain a Cancel button? */
- AV_CANCEL_BUTTON = (1<<28),
+ #define AV_CANCEL_BUTTON ((uint64_t)1<<28)
/* is the rear image offset? */
- AV_REAR_OFFSET = (1<<29),
+ #define AV_REAR_OFFSET ((uint64_t)1<<29)
/* some devices do not need a START_SCAN, even hang with it */
- AV_NO_START_SCAN = (1<<30),
-
- AV_INT_STATUS = (1<<31)
+ #define AV_NO_START_SCAN ((uint64_t)1<<30)
- /* maybe more ...*/
- } feature_type;
-
- /*second enum cause 32 bit int above is full*/
- enum {
+ #define AV_INT_STATUS ((uint64_t)1<<31)
+
/* force no calibration */
- AV_NO_TUNE_SCAN_LENGTH = (1<<0),
+ #define AV_NO_TUNE_SCAN_LENGTH ((uint64_t)1<<32)
/* for gray scans, set grey filter */
- AV_USE_GRAY_FILTER = (1<<1),
+ #define AV_USE_GRAY_FILTER ((uint64_t)1<<33)
/* For (HP) scanners with flipping duplexers */
- AV_ADF_FLIPPING_DUPLEX = (1<<2),
+ #define AV_ADF_FLIPPING_DUPLEX ((uint64_t)1<<34)
/* For scanners which need to have their firmware read to properly function. */
- AV_FIRMWARE = (1<<3)
- } feature_type2;
+ #define AV_FIRMWARE ((uint64_t)1<<35)
+
+ /* maybe more ...*/
+ uint64_t feature_type;
} Avision_HWEntry;
diff --git a/backend/canon_dr.c b/backend/canon_dr.c
index 15dcc59..0b120fa 100644
--- a/backend/canon_dr.c
+++ b/backend/canon_dr.c
@@ -309,6 +309,8 @@
- set another unknown byte in buffermode for ssm2
- add another gettimeofday call at end of do_usb_cmd
- don't print 0 length line in hexdump
+ v49 2015-03-18, MAN
+ - initial support for DR-C125
SANE FLOW DIAGRAM
@@ -358,7 +360,7 @@
#include "canon_dr.h"
#define DEBUG 1
-#define BUILD 48
+#define BUILD 49
/* values for SANE_DEBUG_CANON_DR env var:
- errors 5
@@ -1542,6 +1544,38 @@ init_model (struct scanner *s)
s->can_monochrome=0;
}
+ else if (strstr (s->model_name,"DR-C125")
+ || strstr (s->model_name,"DR-C225")
+ ){
+
+ /*confirmed settings*/
+ s->gray_interlace[SIDE_FRONT] = GRAY_INTERLACE_2510;
+ s->gray_interlace[SIDE_BACK] = GRAY_INTERLACE_2510;
+ s->color_interlace[SIDE_FRONT] = COLOR_INTERLACE_2510;
+ s->color_interlace[SIDE_BACK] = COLOR_INTERLACE_2510;
+ s->duplex_interlace = DUPLEX_INTERLACE_2510;
+ s->unknown_byte2 = 0x88;
+ s->need_ccal = 1;
+ s->ccal_version = 3;
+ s->need_fcal = 1;
+ s->invert_tly = 1;
+ s->can_color = 1;
+ s->rgb_format = 1;
+ /*s->duplex_offset = 400; now set in config file*/
+
+ /*only in Y direction, so we trash them in X*/
+ s->std_res_x[DPI_100]=0;
+ s->std_res_x[DPI_150]=0;
+ s->std_res_x[DPI_200]=0;
+ s->std_res_x[DPI_240]=0;
+ s->std_res_x[DPI_400]=0;
+
+ /*suspected settings*/
+ s->always_op = 0;
+ s->fixed_width = 1;
+ s->valid_x = 8.5 * 1200;
+ }
+
DBG (10, "init_model: finish\n");
return SANE_STATUS_GOOD;
diff --git a/backend/canon_dr.conf.in b/backend/canon_dr.conf.in
index e946d9b..453065b 100644
--- a/backend/canon_dr.conf.in
+++ b/backend/canon_dr.conf.in
@@ -150,6 +150,7 @@ option duplex-offset 400
usb 0x1083 0x163f
# DR-C125
+option duplex-offset 400
usb 0x1083 0x1640
# DR-P215
diff --git a/backend/dll.conf.in b/backend/dll.conf.in
index a7e4b3e..ee6f2f1 100644
--- a/backend/dll.conf.in
+++ b/backend/dll.conf.in
@@ -24,6 +24,7 @@ dmc
epjitsu
#epson
epson2
+epsonds
fujitsu
#gphoto2
genesys
diff --git a/backend/epjitsu.c b/backend/epjitsu.c
index 08e78b2..7d987dc 100644
--- a/backend/epjitsu.c
+++ b/backend/epjitsu.c
@@ -146,6 +146,11 @@
- fix 150 dpi settings for fi-60F and fi-65F
- make adf_height_padding variable
- make white_factor variable
+ v27 2015-01-24, MAN
+ - don't override br_x and br_y
+ - call change_params after changing page_width
+ v28 2015-03-23, MAN
+ - call get_hardware_status before starting scan
SANE FLOW DIAGRAM
@@ -194,7 +199,7 @@
#include "epjitsu-cmd.h"
#define DEBUG 1
-#define BUILD 26
+#define BUILD 28
#ifndef MAX3
#define MAX3(a,b,c) ((a) > (b) ? ((a) > (c) ? a : c) : ((b) > (c) ? b : c))
@@ -1712,8 +1717,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
return SANE_STATUS_GOOD;
s->page_width = FIXED_MM_TO_SCANNER_UNIT(val_c);
- *info |= SANE_INFO_RELOAD_OPTIONS;
- return SANE_STATUS_GOOD;
+ *info |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS;
+ return change_params(s);
case OPT_PAGE_HEIGHT:
if (s->page_height == FIXED_MM_TO_SCANNER_UNIT(val_c))
@@ -1970,11 +1975,6 @@ change_params(struct scanner *s)
s->max_y = PIX_TO_SCANNER_UNIT( settings[i].max_y, settings[i].y_res );
s->min_y = PIX_TO_SCANNER_UNIT( settings[i].min_y, settings[i].y_res );
- /* wrong place for this?*/
- s->page_width = s->max_x;
- s->br_x = s->max_x;
- s->br_y = s->max_y;
-
/*current dpi*/
s->setWindowCoarseCal = settings[i].sw_coarsecal;
s->setWindowCoarseCalLen = SET_WINDOW_LEN;
@@ -2018,13 +2018,14 @@ change_params(struct scanner *s)
if (s->page_height < s->min_y && s->page_height > 0)
s->page_height = s->min_y;
if (s->tl_y + s->page_height > s->max_y)
- s->tl_y = s->max_y - s->adf_height_padding - s->page_height ;
+ s->tl_y = s->max_y - s->adf_height_padding - s->page_height;
+ if (s->tl_y < 0)
+ s->tl_y = 0;
if (s->page_height > 0) {
s->br_y = s->tl_y + s->page_height;
}
- else
- {
+ else {
s->br_y = s->max_y;
}
@@ -2370,6 +2371,9 @@ sane_start (SANE_Handle handle)
s->side = !s->side;
}
+ /* recent scanners need ghs called before scanning */
+ ret = get_hardware_status(s);
+
/* ingest paper with adf */
if( s->source == SOURCE_ADF_BACK || s->source == SOURCE_ADF_FRONT
|| (s->source == SOURCE_ADF_DUPLEX && s->side == SIDE_FRONT) ){
diff --git a/backend/epson2-commands.c b/backend/epson2-commands.c
index 0c28eab..eccd4ba 100644
--- a/backend/epson2-commands.c
+++ b/backend/epson2-commands.c
@@ -680,8 +680,10 @@ esci_set_scanning_parameter(SANE_Handle handle, unsigned char *buf)
return status;
status = e2_cmd_simple(s, buf, 64);
- if (status != SANE_STATUS_GOOD)
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "%s: invalid scanning parameters\n", __func__);
return status;
+ }
return SANE_STATUS_GOOD;
}
diff --git a/backend/epson2-io.c b/backend/epson2-io.c
index 13adef4..4477963 100644
--- a/backend/epson2-io.c
+++ b/backend/epson2-io.c
@@ -110,8 +110,8 @@ e2_send(Epson_Scanner * s, void *buf, size_t buf_size, size_t reply_len,
}
ssize_t
-e2_recv(Epson_Scanner * s, void *buf, ssize_t buf_size,
- SANE_Status * status)
+e2_recv(Epson_Scanner *s, void *buf, ssize_t buf_size,
+ SANE_Status *status)
{
ssize_t n = 0;
@@ -142,8 +142,9 @@ e2_recv(Epson_Scanner * s, void *buf, ssize_t buf_size,
}
if (n < buf_size) {
- DBG(1, "%s: expected = %lu, got = %ld\n", __func__,
- (u_long) buf_size, (long) n);
+ DBG(1, "%s: expected = %lu, got = %ld, canceling: %d\n", __func__,
+ (u_long) buf_size, (long) n, s->canceling);
+
*status = SANE_STATUS_IO_ERROR;
}
diff --git a/backend/epson2-ops.c b/backend/epson2-ops.c
index d81deaf..5d8c84d 100644
--- a/backend/epson2-ops.c
+++ b/backend/epson2-ops.c
@@ -472,8 +472,10 @@ e2_set_tpu2_area(struct Epson_Scanner *s, int x, int y, int unit)
}
void
-e2_add_depth(Epson_Device * dev, SANE_Word depth)
+e2_add_depth(Epson_Device *dev, SANE_Int depth)
{
+ DBG(10, "%s: add (bpp): %d\n", __func__, depth);
+
if (depth > dev->maxDepth)
dev->maxDepth = depth;
@@ -765,7 +767,7 @@ e2_discover_capabilities(Epson_Scanner *s)
* Check for the max. supported color depth and assign
* the values to the bitDepthList.
*/
- dev->depth_list = malloc(sizeof(SANE_Word) * 4);
+ dev->depth_list = malloc(sizeof(SANE_Int) * (4 + 1));
if (dev->depth_list == NULL) {
DBG(1, "out of memory (line %d)\n", __LINE__);
return SANE_STATUS_NO_MEM;
@@ -776,9 +778,12 @@ e2_discover_capabilities(Epson_Scanner *s)
/* maximum depth discovery */
DBG(3, "discovering max depth, NAKs are expected\n");
- if (dev->maxDepth >= 16 || dev->maxDepth == 0) {
- if (esci_set_data_format(s, 16) == SANE_STATUS_GOOD)
- e2_add_depth(dev, 16);
+ /* add default depth */
+ e2_add_depth(dev, 8);
+
+ if (dev->maxDepth >= 12 || dev->maxDepth == 0) {
+ if (esci_set_data_format(s, 12) == SANE_STATUS_GOOD)
+ e2_add_depth(dev, 12);
}
if (dev->maxDepth >= 14 || dev->maxDepth == 0) {
@@ -786,14 +791,11 @@ e2_discover_capabilities(Epson_Scanner *s)
e2_add_depth(dev, 14);
}
- if (dev->maxDepth >= 12 || dev->maxDepth == 0) {
- if (esci_set_data_format(s, 12) == SANE_STATUS_GOOD)
- e2_add_depth(dev, 12);
+ if (dev->maxDepth >= 16 || dev->maxDepth == 0) {
+ if (esci_set_data_format(s, 16) == SANE_STATUS_GOOD)
+ e2_add_depth(dev, 16);
}
- /* add default depth */
- e2_add_depth(dev, 8);
-
DBG(1, "maximum supported color depth: %d\n", dev->maxDepth);
/*
@@ -1742,6 +1744,8 @@ e2_ext_read(struct Epson_Scanner *s)
SANE_Status status = SANE_STATUS_GOOD;
ssize_t buf_len = 0, read;
+ DBG(18, "%s: begin\n", __func__);
+
/* did we passed everything we read to sane? */
if (s->ptr == s->end) {
@@ -1765,10 +1769,12 @@ e2_ext_read(struct Epson_Scanner *s)
/* receive image data + error code */
read = e2_recv(s, s->buf, buf_len + 1, &status);
- DBG(18, "%s: read %lu bytes\n", __func__, (unsigned long) read);
+ DBG(18, "%s: read %lu bytes, status: %d\n", __func__, (unsigned long) read, status);
- if (read != buf_len + 1)
- return SANE_STATUS_IO_ERROR;
+ if (status != SANE_STATUS_GOOD) {
+ e2_cancel(s);
+ return status;
+ }
if (e2_dev_model(dev, "GT-8200") || e2_dev_model(dev, "Perfection1650")) {
/* See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597922#127 */
diff --git a/backend/epson2.c b/backend/epson2.c
index e023010..b1eda33 100644
--- a/backend/epson2.c
+++ b/backend/epson2.c
@@ -977,7 +977,7 @@ init_options(Epson_Scanner *s)
s->opt[OPT_MODE].size = max_string_size(mode_list);
s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
s->opt[OPT_MODE].constraint.string_list = mode_list;
- s->val[OPT_MODE].w = 0; /* Binary */
+ s->val[OPT_MODE].w = 0; /* Lineart */
/* disable infrared on unsupported scanners */
if (!e2_model(s, "GT-X800") && !e2_model(s, "GT-X700") && !e2_model(s, "GT-X900"))
@@ -988,14 +988,13 @@ init_options(Epson_Scanner *s)
s->opt[OPT_BIT_DEPTH].title = SANE_TITLE_BIT_DEPTH;
s->opt[OPT_BIT_DEPTH].desc = SANE_DESC_BIT_DEPTH;
s->opt[OPT_BIT_DEPTH].type = SANE_TYPE_INT;
- s->opt[OPT_BIT_DEPTH].unit = SANE_UNIT_NONE;
+ s->opt[OPT_BIT_DEPTH].unit = SANE_UNIT_BIT;
s->opt[OPT_BIT_DEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST;
s->opt[OPT_BIT_DEPTH].constraint.word_list = s->hw->depth_list;
- s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE;
- s->val[OPT_BIT_DEPTH].w = s->hw->depth_list[1]; /* the first "real" element is the default */
+ s->val[OPT_BIT_DEPTH].w = 8; /* default to 8 bit */
- if (s->hw->depth_list[0] == 1) /* only one element in the list -> hide the option */
- s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE;
+ /* default is Lineart, disable depth selection */
+ s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE;
/* halftone */
s->opt[OPT_HALFTONE].name = SANE_NAME_HALFTONE;
@@ -1535,6 +1534,8 @@ sane_close(SANE_Handle handle)
int i;
Epson_Scanner *s;
+ DBG(1, "* %s\n", __func__);
+
/*
* XXX Test if there is still data pending from
* the scanner. If so, then do a cancel
@@ -1909,6 +1910,8 @@ setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info)
sval->w = optindex;
+ DBG(17, "%s: setting mode to %d\n", __func__, optindex);
+
/* halftoning available only on bw scans */
if (s->hw->cmd->set_halftoning != 0)
setOptionState(s, mode_params[optindex].depth == 1,
@@ -1923,16 +1926,18 @@ setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info)
/* if binary, then disable the bit depth selection */
if (optindex == 0) {
+ DBG(17, "%s: disabling bit depth selection\n", __func__);
s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE;
} else {
- if (s->hw->depth_list[0] == 1)
- s->opt[OPT_BIT_DEPTH].cap |=
- SANE_CAP_INACTIVE;
- else {
- s->opt[OPT_BIT_DEPTH].cap &=
- ~SANE_CAP_INACTIVE;
- s->val[OPT_BIT_DEPTH].w =
- mode_params[optindex].depth;
+ if (s->hw->depth_list[0] == 1) {
+ DBG(17, "%s: only one depth is available\n", __func__);
+ s->opt[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE;
+ } else {
+
+ DBG(17, "%s: enabling bit depth selection\n", __func__);
+
+ s->opt[OPT_BIT_DEPTH].cap &= ~SANE_CAP_INACTIVE;
+ s->val[OPT_BIT_DEPTH].w = mode_params[optindex].depth;
}
}
@@ -2077,7 +2082,10 @@ sane_start(SANE_Handle handle)
Epson_Device *dev = s->hw;
SANE_Status status;
- DBG(5, "%s\n", __func__);
+ DBG(5, "* %s\n", __func__);
+
+ s->eof = SANE_FALSE;
+ s->canceling = SANE_FALSE;
/* check if we just have finished working with the ADF */
status = e2_check_adf(s);
@@ -2202,9 +2210,7 @@ sane_start(SANE_Handle handle)
if (s->buf == NULL)
return SANE_STATUS_NO_MEM;
- s->eof = SANE_FALSE;
s->ptr = s->end = s->buf;
- s->canceling = SANE_FALSE;
/* feed the first sheet in the ADF */
if (dev->ADF && dev->use_extension && dev->cmd->feed) {
@@ -2275,8 +2281,14 @@ sane_read(SANE_Handle handle, SANE_Byte *data, SANE_Int max_length,
SANE_Status status;
Epson_Scanner *s = (Epson_Scanner *) handle;
- if (s->buf == NULL || s->canceling)
- return SANE_STATUS_CANCELLED;
+ DBG(18, "* %s: eof: %d, canceling: %d\n",
+ __func__, s->eof, s->canceling);
+
+ /* sane_read called before sane_start? */
+ if (s->buf == NULL) {
+ DBG(1, "%s: buffer is NULL", __func__);
+ return SANE_STATUS_INVAL;
+ }
*length = 0;
@@ -2285,9 +2297,12 @@ sane_read(SANE_Handle handle, SANE_Byte *data, SANE_Int max_length,
else
status = e2_block_read(s);
- if (status == SANE_STATUS_CANCELLED) {
+ /* The scanning operation might be canceled by the scanner itself
+ * or the fronted program
+ */
+ if (status == SANE_STATUS_CANCELLED || s->canceling) {
e2_scan_finish(s);
- return status;
+ return SANE_STATUS_CANCELLED;
}
/* XXX if FS G and STATUS_IOERR, use e2_check_extended_status */
@@ -2298,9 +2313,9 @@ sane_read(SANE_Handle handle, SANE_Byte *data, SANE_Int max_length,
e2_copy_image_data(s, data, max_length, length);
- DBG(18, "%d lines read, eof: %d, status: %d\n",
+ DBG(18, "%d lines read, eof: %d, canceling: %d, status: %d\n",
*length / s->params.bytes_per_line,
- s->eof, status);
+ s->canceling, s->eof, status);
/* continue reading if appropriate */
if (status == SANE_STATUS_GOOD)
@@ -2323,6 +2338,8 @@ sane_cancel(SANE_Handle handle)
{
Epson_Scanner *s = (Epson_Scanner *) handle;
+ DBG(1, "* %s\n", __func__);
+
s->canceling = SANE_TRUE;
}
diff --git a/backend/epson2.h b/backend/epson2.h
index bb6c9e0..8650f01 100644
--- a/backend/epson2.h
+++ b/backend/epson2.h
@@ -346,7 +346,7 @@ struct Epson_Device
SANE_Bool color_shuffle; /* does this scanner need color shuffling */
SANE_Int maxDepth; /* max. color depth */
- SANE_Word *depth_list;
+ SANE_Int *depth_list;
SANE_Int optical_res; /* optical resolution */
SANE_Int max_line_distance;
diff --git a/backend/epsonds-cmd.c b/backend/epsonds-cmd.c
new file mode 100644
index 0000000..5fb1f9d
--- /dev/null
+++ b/backend/epsonds-cmd.c
@@ -0,0 +1,899 @@
+/*
+ * epsonds-cmd.c - Epson ESC/I-2 routines.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define DEBUG_DECLARE_ONLY
+
+#include "sane/config.h"
+#include <ctype.h>
+#include <unistd.h> /* sleep */
+
+#include "epsonds.h"
+#include "epsonds-io.h"
+#include "epsonds-cmd.h"
+#include "epsonds-ops.h"
+
+static SANE_Status
+esci2_parse_block(char *buf, int len, void *userdata, SANE_Status (*cb)(void *userdata, char *token, int len))
+{
+ SANE_Status status = SANE_STATUS_GOOD;
+ SANE_Status delayed_status = SANE_STATUS_GOOD;
+
+
+ char *start = buf;
+ char *end = (buf + len) - 1;
+
+ /* 0 : #
+ * 1-3: param
+ * 4- : data
+ */
+
+ while (1) {
+
+ char param[4];
+
+ while (*start != '#' && start < end)
+ start++;
+
+ if (*start != '#')
+ break;
+
+ param[0] = *++start;
+ param[1] = *++start;
+ param[2] = *++start;
+ param[3] = '\0';
+
+ if (strncmp("---", param, 3) == 0)
+ break;
+
+ /* ugly hack to skip over GMT in RESA */
+ if (strncmp("GMT", param, 3) == 0 && *(start + 5) == 'h') {
+ start = start + 4 + 0x100;
+ continue;
+ }
+
+ /* find the end of the token */
+ {
+ int tlen;
+ char *next = start;
+
+ while (*next != '#' && *next != 0x00 && next < end)
+ next++;
+
+ tlen = next - start - 1;
+
+ if (cb) {
+ status = cb(userdata, start - 2, tlen);
+ if (status != SANE_STATUS_GOOD) {
+ delayed_status = status;
+ }
+ }
+
+ start = next;
+ }
+ }
+
+ if (delayed_status != SANE_STATUS_GOOD)
+ return delayed_status;
+
+ return status;
+}
+
+static SANE_Bool
+esci2_check_header(const char *cmd, const char *buf, unsigned int *more)
+{
+ int err;
+
+ *more = 0;
+
+ if (strncmp(cmd, buf, 4) != 0) {
+
+ if (strncmp("UNKN", buf, 4) == 0) {
+ DBG(1, "UNKN reply code received\n");
+ } else if (strncmp("INVD", buf, 4) == 0) {
+ DBG(1, "INVD reply code received\n");
+ } else {
+ DBG(1, "%c%c%c%c, unexpected reply code\n", buf[0], buf[1], buf[2], buf[3]);
+ }
+
+ return 0;
+ }
+
+ /* INFOx0000100#.... */
+
+ /* read the answer len */
+ if (buf[4] != 'x') {
+ DBG(1, "unknown type in header: %c\n", buf[4]);
+ return 0;
+ }
+
+ err = sscanf(&buf[5], "%x#", more);
+ if (err != 1) {
+ DBG(1, "cannot decode length from header\n");
+ return 0;
+ }
+
+ return 1;
+}
+
+static SANE_Status esci2_cmd(epsonds_scanner* s,
+ char *cmd, size_t len,
+ char *payload, size_t plen,
+ void *userdata, SANE_Status (*cb)(void *userdata, char *token, int len))
+{
+ SANE_Status status;
+ unsigned int more;
+ char rbuf[64];
+
+ DBG(8, "%s: %4s len %lu, payload len: %lu\n", __func__, cmd, len, plen);
+
+ if (len < 12) {
+ DBG(1, "%s: command is too short (%lu)\n", __func__, len);
+ return SANE_STATUS_INVAL;
+ }
+
+ /* merge the payload size and send the RequestBlock */
+ if (payload && plen) {
+
+ sprintf(rbuf, "%4.4sx%07x", cmd, (unsigned int)plen);
+
+ DBG(8, " %s (%d)\n", rbuf, plen);
+
+ eds_send(s, rbuf, 12, &status);
+
+ } else {
+ eds_send(s, cmd, len, &status);
+ }
+
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+
+ /* send ParameterBlock */
+ if (payload && plen) {
+
+ eds_send(s, payload, plen, &status);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+ }
+
+ /* receive DataHeaderBlock */
+ memset(rbuf, 0x00, sizeof(rbuf));
+
+ eds_recv(s, rbuf, 64, &status);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+
+ /* rxbuf holds the DataHeaderBlock, which should be
+ * parsed to know if we need to read more data
+ */
+ if (!esci2_check_header(cmd, rbuf, &more)) {
+ return SANE_STATUS_IO_ERROR;
+ }
+
+ /* parse the received header block */
+ if (cb) {
+ status = esci2_parse_block(rbuf + 12, 64 - 12, userdata, cb);
+ if (status != SANE_STATUS_GOOD && status != SANE_STATUS_DEVICE_BUSY) {
+ DBG(1, "%s: %4s error while parsing received header\n", __func__, cmd);
+ }
+ }
+
+ /* header valid, get the data block if present */
+ if (more) {
+
+ char *pbuf = malloc(more);
+ if (pbuf) {
+
+ ssize_t read = eds_recv(s, pbuf, more, &status);
+ if (read != more) {
+ }
+
+ /* parse the received data block */
+ if (cb) {
+ status = esci2_parse_block(pbuf, more, userdata, cb);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "%s: %4s error while parsing received data block\n", __func__, cmd);
+ }
+ }
+
+ free(pbuf);
+
+ } else {
+ return SANE_STATUS_NO_MEM;
+ }
+ }
+
+ return status;
+}
+
+static SANE_Status esci2_cmd_simple(epsonds_scanner* s, char *cmd, SANE_Status (*cb)(void *userdata, char *token, int len))
+{
+ return esci2_cmd(s, cmd, 12, NULL, 0, s, cb);
+}
+
+SANE_Status esci2_fin(epsonds_scanner *s)
+{
+ DBG(5, "%s\n", __func__);
+
+ SANE_Status status = esci2_cmd_simple(s, "FIN x0000000", NULL);
+ s->locked = 0;
+ return status;
+}
+
+SANE_Status esci2_can(epsonds_scanner *s)
+{
+ return esci2_cmd_simple(s, "CAN x0000000", NULL);
+}
+
+static int decode_value(char *buf, int len)
+{
+ char tmp[10];
+
+ memcpy(tmp, buf, len);
+ tmp[len] = '\0';
+
+ if (buf[0] == 'd' && len == 4) {
+ return strtol(buf + 1, NULL, 10);
+ } else if (buf[0] == 'i' && len == 8) {
+ return strtol(buf + 1, NULL, 10);
+ } else if (buf[0] == 'x' && len == 8) {
+ return strtol(buf + 1, NULL, 16);
+ } else if (buf[0] == 'h' && len == 4) {
+ return strtol(buf + 1, NULL, 16);
+ }
+
+ return -1;
+}
+
+/* h000 */
+static char *decode_binary(char *buf)
+{
+ char tmp[6];
+
+ memcpy(tmp, buf, 4);
+ tmp[4] = '\0';
+
+ if (buf[0] != 'h')
+ return NULL;
+
+ int hl = strtol(tmp + 1, NULL, 16);
+ if (hl) {
+
+ char *v = malloc(hl + 1);
+ memcpy(v, buf + 4, hl);
+ v[hl] = '\0';
+
+ return v;
+ }
+
+ return NULL;
+}
+
+static char *decode_string(char *buf)
+{
+ char *s = decode_binary(buf);
+ if (s == NULL)
+ return NULL;
+
+ /* trim white space at the end */
+ char *p = s + strlen(s);
+ while (*--p == ' ')
+ *p = '\0';
+
+ return s;
+}
+
+static void debug_token(int level, const char *func, char *token, int len)
+{
+ char *tdata = malloc(len + 1);
+ memcpy(tdata, token + 3, len);
+ tdata[len] = '\0';
+
+ DBG(level, "%s: %3.3s / %s / %d\n", func, token, tdata, len);
+
+ free(tdata);
+}
+
+static SANE_Status info_cb(void *userdata, char *token, int len)
+{
+ epsonds_scanner *s = (epsonds_scanner *)userdata;
+
+ if (DBG_LEVEL >= 11) {
+ debug_token(DBG_LEVEL, __func__, token, len);
+ }
+
+ /* pointer to the token's value */
+ char *value = token + 3;
+
+ /* nrd / nrdBUSY */
+
+ if (strncmp("nrd", token, 3) == 0) {
+ if (strncmp("BUSY", value, 4) == 0) {
+ return SANE_STATUS_DEVICE_BUSY;
+ }
+ }
+
+ if (strncmp("PRD", token, 3) == 0) {
+ free(s->hw->model);
+ s->hw->model = decode_string(value);
+ s->hw->sane.model = s->hw->model;
+ DBG(1, " product: %s\n", s->hw->model);
+ /* we will free the string later */
+ }
+
+ if (strncmp("VER", token, 3) == 0) {
+ char *v = decode_string(value);
+ DBG(1, " version: %s\n", v);
+ free(v);
+ }
+
+ if (strncmp("S/N", token, 3) == 0) {
+ char *v = decode_string(value);
+ DBG(1, " serial: %s\n", v);
+ free(v);
+ }
+
+ if (strncmp("ADF", token, 3) == 0) {
+
+ s->hw->has_adf = 1;
+
+ if (len == 8) {
+
+ if (strncmp("TYPEPAGE", value, len) == 0) {
+ DBG(1, " ADF: page type\n");
+ }
+
+ if (strncmp("TYPEFEED", value, len) == 0) {
+ DBG(1, " ADF: sheet feed type\n");
+ }
+
+ if (strncmp("DPLX1SCN", value, len) == 0) {
+ DBG(1, " ADF: duplex single pass\n");
+ s->hw->adf_singlepass = 1;
+ }
+
+ if (strncmp("DPLX2SCN", value, len) == 0) {
+ DBG(1, " ADF: duplex double pass\n");
+ s->hw->adf_singlepass = 0;
+ }
+
+ if (strncmp("FORDPF1N", value, len) == 0) {
+ DBG(1, " ADF: order is 1 to N\n");
+ }
+
+ if (strncmp("FORDPFN1", value, len) == 0) {
+ DBG(1, " ADF: order is N to 1\n");
+ }
+
+ if (strncmp("ALGNLEFT", value, len) == 0) {
+ DBG(1, " ADF: left aligned\n");
+ s->hw->adf_alignment = 0;
+ }
+
+ if (strncmp("ALGNCNTR", value, len) == 0) {
+ DBG(1, " ADF: center aligned\n");
+ s->hw->adf_alignment = 1;
+ }
+
+ if (strncmp("ALGNRIGT", value, len) == 0) {
+ DBG(1, " ADF: right aligned (not supported!)\n");
+ s->hw->adf_alignment = 2;
+ }
+ }
+
+ if (len == 4) {
+
+ if (strncmp("PREF", value, len) == 0) {
+ DBG(1, " ADF: auto pre-feed\n");
+ }
+
+ if (strncmp("ASCN", value, len) == 0) {
+ DBG(1, " ADF: auto scan\n");
+ }
+
+ if (strncmp("RCVR", value, len) == 0) {
+ DBG(1, " ADF: auto recovery\n");
+ }
+ }
+
+ if (len == 20) {
+
+ /* ADFAREAi0000850i0001400 */
+
+ if (strncmp("AREA", value, 4) == 0) {
+
+ int min = decode_value(value + 4, 8);
+ int max = decode_value(value + 4 + 8, 8);
+
+ DBG(1, " ADF: area %dx%d @ 100dpi\n", min, max);
+ }
+
+ if (strncmp("AMIN", value, 4) == 0) {
+
+ int min = decode_value(value + 4, 8);
+ int max = decode_value(value + 4 + 8, 8);
+
+ DBG(1, " ADF: min %dx%d @ 100dpi\n", min, max);
+ }
+
+ if (strncmp("AMAX", value, 4) == 0) {
+
+ int min = decode_value(value + 4, 8);
+ int max = decode_value(value + 4 + 8, 8);
+
+ DBG(1, " ADF: max %dx%d @ 100dpi\n", min, max);
+
+ eds_set_adf_area(s->hw, min, max, 100);
+ }
+ }
+
+ if (len == 12) {
+
+ /* RESOi0000600 */
+
+ if (strncmp("RESO", value, 4) == 0) {
+
+ int res = decode_value(value + 4, 8);
+
+ DBG(1, " ADF: basic resolution is %d dpi\n", res);
+ }
+
+ /* OVSNd025d035 */
+
+ if (strncmp("OVSN", value, 4) == 0) {
+
+ int x = decode_value(value + 4, 4);
+ int y = decode_value(value + 4 + 4, 4);
+
+ DBG(1, " ADF: overscan %dx%d @ 100dpi\n", x, y);
+ }
+ }
+ }
+
+ if (strncmp("FB ", token, 3) == 0) {
+
+ s->hw->has_fb = 1;
+
+ if (len == 20) {
+
+ /* AREAi0000850i0001400 */
+ if (strncmp("AREA", value, 4) == 0) {
+
+ int min = decode_value(value + 4, 8);
+ int max = decode_value(value + 4 + 8, 8);
+
+ DBG(1, " FB: area %dx%d @ 100dpi\n", min, max);
+
+ eds_set_fbf_area(s->hw, min, max, 100);
+ }
+ }
+
+ if (len == 8) {
+
+ if (strncmp("ALGNLEFT", value, len) == 0) {
+ DBG(1, " FB: left aligned\n");
+ s->hw->fbf_alignment = 0;
+ }
+
+ if (strncmp("ALGNCNTR", value, len) == 0) {
+ DBG(1, " FB: center aligned\n");
+ s->hw->fbf_alignment = 1;
+ }
+
+ if (strncmp("ALGNRIGT", value, len) == 0) {
+ DBG(1, " FB: right aligned (not supported!)\n");
+ s->hw->fbf_alignment = 2;
+ }
+ }
+
+ if (len == 12) {
+
+ /* RESOi0000600 */
+
+ if (strncmp("RESO", value, 4) == 0) {
+
+ int res = decode_value(value + 4, 8);
+
+ DBG(1, " FB: basic resolution is %d dpi\n", res);
+ }
+
+ /* OVSNd025d035 */
+
+ if (strncmp("OVSN", value, 4) == 0) {
+
+ int x = decode_value(value + 4, 4);
+ int y = decode_value(value + 4 + 4, 4);
+
+ DBG(1, " FB: overscan %dx%d @ 100dpi\n", x, y);
+ }
+ }
+
+ if (len == 4) {
+
+ if (strncmp("DETX", value, len) == 0) {
+ DBG(1, " FB: paper width detection\n");
+ }
+
+ if (strncmp("DETY", value, len) == 0) {
+ DBG(1, " FB: paper height detection\n");
+ }
+ }
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status esci2_info(epsonds_scanner *s)
+{
+ DBG(1, "= gathering device information\n");
+
+ SANE_Status status;
+ int i = 4;
+
+ do {
+ status = esci2_cmd_simple(s, "INFOx0000000", &info_cb);
+ if (status == SANE_STATUS_DEVICE_BUSY) {
+ sleep(2);
+ }
+
+ i--;
+
+ } while (status == SANE_STATUS_DEVICE_BUSY && i);
+
+ return status;
+}
+
+/* CAPA */
+
+static SANE_Status capa_cb(void *userdata, char *token, int len)
+{
+ epsonds_scanner *s = (epsonds_scanner *)userdata;
+
+ char *value = token + 3;
+
+ if (DBG_LEVEL >= 11) {
+ debug_token(DBG_LEVEL, __func__, token, len);
+ }
+
+ if (len == 4) {
+
+ if (strncmp("ADFDPLX", token, 3 + 4) == 0) {
+ DBG(1, " ADF: duplex\n");
+ s->hw->adf_is_duplex = 1;
+ }
+
+ if (strncmp("ADFSKEW", token, 3 + 4) == 0) {
+ DBG(1, " ADF: skew correction\n");
+ s->hw->adf_has_skew = 1;
+ }
+
+ if (strncmp("ADFOVSN", token, 3 + 4) == 0) {
+ DBG(1, " ADF: overscan\n");
+ }
+
+ if (strncmp("ADFPEDT", token, 3 + 4) == 0) {
+ DBG(1, " ADF: paper end detection\n");
+ }
+
+ if (strncmp("ADFLOAD", token, 3 + 4) == 0) {
+ DBG(1, " ADF: paper load\n");
+ s->hw->adf_has_load = 1;
+ }
+
+ if (strncmp("ADFEJCT", token, 3 + 4) == 0) {
+ DBG(1, " ADF: paper eject\n");
+ s->hw->adf_has_eject = 1;
+ }
+
+ if (strncmp("ADFCRP ", token, 3 + 4) == 0) {
+ DBG(1, " ADF: image cropping\n");
+ }
+
+ if (strncmp("ADFFAST", token, 3 + 4) == 0) {
+ DBG(1, " ADF: fast mode available\n");
+ }
+
+ if (strncmp("ADFDFL1", token, 3 + 4) == 0) {
+ DBG(1, " ADF: double feed detection\n");
+ }
+ }
+
+ if (len == 8 && strncmp("ADFDFL1DFL2", token, 3 + 4) == 0) {
+ DBG(1, " ADF: double feed detection (high sensitivity)\n");
+ }
+
+ if (strncmp("FMT", token, 3) == 0) {
+
+ /* a bit ugly... */
+
+ if (len >= 8) {
+ if (strncmp("RAW ", value + 4, 4) == 0) {
+ s->hw->has_raw = 1;
+ }
+ }
+
+ if (len >= 12) {
+ if (strncmp("RAW ", value + 8, 4) == 0) {
+ s->hw->has_raw = 1;
+ }
+ }
+ }
+
+ /* RSMRANGi0000050i0000600 */
+
+ if (strncmp("RSMRANG", token, 3 + 4) == 0) {
+
+ char *p = token + 3 + 4;
+
+ if (p[0] == 'i') {
+
+ int min = decode_value(p, 8);
+ int max = decode_value(p + 8, 8);
+
+ eds_set_resolution_range(s->hw, min, max);
+
+ DBG(1, "resolution min/max %d/%d\n", min, max);
+ }
+ }
+
+ /* RSMLISTi0000300i0000600 */
+
+ if (strncmp("RSMLIST", token, 3 + 4) == 0) {
+
+ char *p = token + 3 + 4;
+
+ if (p[0] == 'i') {
+
+ int i;
+ int count = (len - 4) / 8;
+
+ for (i = 0; i < count; i++) {
+
+ eds_add_resolution(s->hw, decode_value(p, 8));
+ p += 8;
+ }
+ }
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status esci2_capa(epsonds_scanner *s)
+{
+ return esci2_cmd_simple(s, "CAPAx0000000", &capa_cb);
+}
+
+/* STAT */
+
+static SANE_Status stat_cb(void *userdata, char *token, int len)
+{
+/*
+ epsonds_scanner *s = (epsonds_scanner *)userdata;
+ char *value = token + 3;
+*/
+ userdata = userdata;
+
+ if (DBG_LEVEL >= 11) {
+ debug_token(DBG_LEVEL, __func__, token, len);
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status esci2_stat(epsonds_scanner *s)
+{
+ return esci2_cmd_simple(s, "STATx0000000", &stat_cb);
+}
+
+/* RESA */
+
+static SANE_Status resa_cb(void *userdata, char *token, int len)
+{
+ /* epsonds_scanner *s = (epsonds_scanner *)userdata; */
+
+ userdata = userdata;
+
+ if (DBG_LEVEL >= 11) {
+ debug_token(DBG_LEVEL, __func__, token, len);
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status esci2_resa(epsonds_scanner *s)
+{
+ return esci2_cmd_simple(s, "RESAx0000000", &resa_cb);
+}
+
+/* PARA */
+
+static SANE_Status para_cb(void *userdata, char *token, int len)
+{
+ if (DBG_LEVEL >= 11) {
+ debug_token(DBG_LEVEL, __func__, token, len);
+ }
+
+ userdata = userdata;
+
+ if (strncmp("par", token, 3) == 0) {
+ if (strncmp("FAIL", token + 3, 4) == 0) {
+ DBG(1, "%s: parameter setting failed\n", __func__);
+ return SANE_STATUS_INVAL;
+ }
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status esci2_para(epsonds_scanner *s, char *parameters)
+{
+ DBG(8, "%s: %s\n", __func__, parameters);
+ return esci2_cmd(s, "PARAx0000000", 12, parameters, strlen(parameters), NULL, &para_cb);
+}
+
+SANE_Status esci2_mech(epsonds_scanner *s, char *parameters)
+{
+ DBG(8, "%s: %s\n", __func__, parameters);
+ return esci2_cmd(s, "MECHx0000000", 12, parameters, strlen(parameters), NULL, &para_cb);
+}
+
+SANE_Status esci2_trdt(epsonds_scanner *s)
+{
+ return esci2_cmd_simple(s, "TRDTx0000000", NULL);
+}
+
+
+static SANE_Status img_cb(void *userdata, char *token, int len)
+{
+ struct epsonds_scanner *s = userdata;
+
+ if (DBG_LEVEL >= 11) {
+ debug_token(DBG_LEVEL, __func__, token, len);
+ }
+
+ /* psti0000256i0000000i0000945 / 24 */
+
+ /* integer comparison first so it's faster */
+ if (len == 24 && strncmp("pst", token, 3) == 0) {
+
+ s->dummy = decode_value(token + 3 + 8, 8);
+
+ DBG(10, "%s: pst width: %d, height: %d, dummy: %d\n",
+ __func__,
+ decode_value(token + 3, 8),
+ decode_value(token + 3 + 8 + 8, 8),
+ s->dummy);
+
+ return SANE_STATUS_GOOD;
+ }
+
+ if (len == 16 && strncmp("pen", token, 3) == 0) {
+ DBG(10, "%s: page end\n", __func__);
+ s->eof = 1;
+ return SANE_STATUS_EOF;
+ }
+
+ /* typIMGA or typIMGB */
+ if (len == 4 && strncmp("typ", token, 3) == 0) {
+
+ if (token[6] == 'B')
+ s->backside = 1;
+ else
+ s->backside = 0;
+
+ return SANE_STATUS_GOOD;
+ }
+
+ if (strncmp("err", token, 3) == 0) {
+
+ s->scanning = 0;
+
+ char *option = token + 3; /* ADF, TPU, FB */
+ char *cause = token + 3 + 4; /* OPN, PJ, PE, ERR, LTF, LOCK, DFED, DTCL, AUT, PERM */
+
+ DBG(1, "%s: error on option %3.3s, cause %4.4s\n",
+ __func__, option, cause);
+
+ if (cause[0] == 'P' && cause[1] == 'J')
+ return SANE_STATUS_JAMMED;
+
+ if (cause[0] == 'P' && cause[1] == 'E')
+ return SANE_STATUS_NO_DOCS;
+
+ if (cause[0] == 'O' && cause[1] == 'P' && cause[2] == 'N')
+ return SANE_STATUS_COVER_OPEN;
+
+ return SANE_STATUS_IO_ERROR;
+ }
+
+ if (len == 4 && strncmp("atnCAN ", token, 3 + 4) == 0) {
+ DBG(1, "%s: cancel request\n", __func__);
+ s->canceling = 1;
+ s->scanning = 0;
+ return SANE_STATUS_CANCELLED;
+ }
+
+ if (len == 4 && strncmp("lftd000", token, 3 + 4) == 0) {
+ s->scanning = 0;
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+
+SANE_Status
+esci2_img(struct epsonds_scanner *s, SANE_Int *length)
+{
+ SANE_Status status = SANE_STATUS_GOOD;
+
+ *length = 0;
+
+ if (s->canceling)
+ return SANE_STATUS_CANCELLED;
+
+ /* request image data */
+ eds_send(s, "IMG x0000000", 12, &status);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+
+ /* receive DataHeaderBlock */
+ memset(s->buf, 0x00, 64);
+ eds_recv(s, s->buf, 64, &status);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+
+ /* check if we need to read any image data */
+ unsigned int more = 0;
+ if (!esci2_check_header("IMG ", (char *)s->buf, &more)) {
+ return SANE_STATUS_IO_ERROR;
+ }
+
+ /* this handles eof and errors */
+ SANE_Status parse_status = esci2_parse_block((char *)s->buf + 12, 64 - 12, s, &img_cb);
+
+ /* no more data? return using the status of the esci2_parse_block
+ * call, which might hold other error conditions.
+ */
+ if (!more) {
+ return parse_status;
+ }
+
+ /* ALWAYS read image data */
+ ssize_t read = eds_recv(s, s->buf, more, &status);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+
+ if (read != more) {
+ return SANE_STATUS_IO_ERROR;
+ }
+
+ /* handle esci2_parse_block errors */
+ if (parse_status != SANE_STATUS_GOOD) {
+ return parse_status;
+ }
+
+ DBG(15, "%s: read %lu bytes, status: %d\n", __func__, (unsigned long) read, status);
+
+ *length = read;
+
+ if (s->canceling) {
+ return SANE_STATUS_CANCELLED;
+ }
+
+ return SANE_STATUS_GOOD;
+}
diff --git a/backend/epsonds-cmd.h b/backend/epsonds-cmd.h
new file mode 100644
index 0000000..923e811
--- /dev/null
+++ b/backend/epsonds-cmd.h
@@ -0,0 +1,29 @@
+/*
+ * epsonds-cmd.h - Epson ESC/I-2 routines.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#ifndef epsonds_cmd_h
+#define epsonds_cmd_h
+
+SANE_Status esci2_info(epsonds_scanner *s);
+SANE_Status esci2_fin(epsonds_scanner *s);
+SANE_Status esci2_can(epsonds_scanner *s);
+SANE_Status esci2_capa(epsonds_scanner *s);
+SANE_Status esci2_resa(epsonds_scanner *s);
+SANE_Status esci2_stat(epsonds_scanner *s);
+SANE_Status esci2_para(epsonds_scanner *s, char *parameters);
+SANE_Status esci2_mech(epsonds_scanner *s, char *parameters);
+SANE_Status esci2_trdt(epsonds_scanner *s);
+SANE_Status esci2_img(struct epsonds_scanner *s, SANE_Int *length) ;
+
+#endif
+
diff --git a/backend/epsonds-io.c b/backend/epsonds-io.c
new file mode 100644
index 0000000..28bacfc
--- /dev/null
+++ b/backend/epsonds-io.c
@@ -0,0 +1,177 @@
+/*
+ * epsonds-io.c - Epson ESC/I-2 driver, low level I/O.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define DEBUG_DECLARE_ONLY
+
+#include "sane/config.h"
+#include <ctype.h>
+#include <unistd.h> /* sleep */
+
+#include "epsonds.h"
+#include "epsonds-io.h"
+
+size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status)
+{
+ DBG(32, "%s: size = %lu\n", __func__, (u_long) length);
+
+ if (length == 2) {
+
+ char *cmd = buf;
+
+ switch (cmd[0]) {
+ case FS:
+ DBG(9, "%s: FS %c\n", __func__, cmd[1]);
+ break;
+ }
+ }
+
+ if (s->hw->connection == SANE_EPSONDS_NET) {
+ /* XXX */
+ } else if (s->hw->connection == SANE_EPSONDS_USB) {
+
+ size_t n = length;
+
+ *status = sanei_usb_write_bulk(s->fd, buf, &n);
+
+ return n;
+ }
+
+ /* never reached */
+
+ *status = SANE_STATUS_INVAL;
+
+ return 0;
+}
+
+size_t eds_recv(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status)
+{
+ size_t n = 0;
+
+ DBG(30, "%s: size = %ld, buf = %p\n", __func__, (long) length, buf);
+
+ if (s->hw->connection == SANE_EPSONDS_NET) {
+ /* XXX */
+ } else if (s->hw->connection == SANE_EPSONDS_USB) {
+
+ /* !!! only report an error if we don't read anything */
+
+ n = length;
+ *status = sanei_usb_read_bulk(s->fd, (SANE_Byte *)buf,
+ (size_t *) &n);
+ if (n > 0)
+ *status = SANE_STATUS_GOOD;
+ }
+
+ if (n < length) {
+ DBG(1, "%s: expected = %lu, got = %ld, canceling: %d\n", __func__,
+ (u_long)length, (long)n, s->canceling);
+
+ *status = SANE_STATUS_IO_ERROR;
+ }
+
+ return n;
+}
+
+/* Simple function to exchange a fixed amount of data with the scanner */
+
+SANE_Status eds_txrx(epsonds_scanner* s, char *txbuf, size_t txlen,
+ char *rxbuf, size_t rxlen)
+{
+ SANE_Status status;
+ size_t done;
+
+ done = eds_send(s, txbuf, txlen, &status);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "%s: tx err, %s\n", __func__, sane_strstatus(status));
+ return status;
+ }
+
+ if (done != txlen) {
+ DBG(1, "%s: tx err, short write\n", __func__);
+ return SANE_STATUS_IO_ERROR;
+ }
+
+ done = eds_recv(s, rxbuf, rxlen, &status);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "%s: rx err, %s\n", __func__, sane_strstatus(status));
+ }
+
+ return status;
+}
+
+/* This function should be used to send codes that only requires the scanner
+ * to give back an ACK or a NAK, namely FS X or FS Y
+ */
+
+SANE_Status eds_control(epsonds_scanner *s, void *buf, size_t buf_size)
+{
+ char result;
+ SANE_Status status;
+
+ DBG(12, "%s: size = %lu\n", __func__, (u_long) buf_size);
+
+ status = eds_txrx(s, buf, buf_size, &result, 1);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "%s: failed, %s\n", __func__, sane_strstatus(status));
+ return status;
+ }
+
+ if (result == ACK)
+ return SANE_STATUS_GOOD;
+
+ if (result == NAK) {
+ DBG(3, "%s: NAK\n", __func__);
+ return SANE_STATUS_INVAL;
+ }
+
+ DBG(1, "%s: result is neither ACK nor NAK but 0x%02x\n",
+ __func__, result);
+
+ return SANE_STATUS_INVAL;
+}
+
+SANE_Status eds_fsy(epsonds_scanner *s)
+{
+ return eds_control(s, "\x1CY", 2);
+}
+
+SANE_Status eds_fsx(epsonds_scanner *s)
+{
+ SANE_Status status = eds_control(s, "\x1CX", 2);
+ if (status == SANE_STATUS_GOOD) {
+ s->locked = 1;
+ }
+
+ return status;
+}
+
+SANE_Status eds_lock(epsonds_scanner *s)
+{
+ SANE_Status status;
+
+ DBG(5, "%s\n", __func__);
+
+ if (s->hw->connection == SANE_EPSONDS_USB) {
+ sanei_usb_set_timeout(USB_SHORT_TIMEOUT);
+ }
+
+ status = eds_fsx(s);
+
+ if (s->hw->connection == SANE_EPSONDS_USB) {
+ sanei_usb_set_timeout(USB_TIMEOUT);
+ }
+
+ return status;
+}
+
+
diff --git a/backend/epsonds-io.h b/backend/epsonds-io.h
new file mode 100644
index 0000000..1a1b2b7
--- /dev/null
+++ b/backend/epsonds-io.h
@@ -0,0 +1,33 @@
+/*
+ * epsonds-io.h - Epson ESC/I-2 driver, low level I/O.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#ifndef epsonds_io_h
+#define epsonds_io_h
+
+#define USB_TIMEOUT (6 * 1000)
+#define USB_SHORT_TIMEOUT (1 * 800)
+
+size_t eds_send(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status);
+size_t eds_recv(epsonds_scanner *s, void *buf, size_t length, SANE_Status *status);
+
+SANE_Status eds_txrx(epsonds_scanner *s, char *txbuf, size_t txlen,
+ char *rxbuf, size_t rxlen);
+
+SANE_Status eds_control(epsonds_scanner *s, void *buf, size_t buf_size);
+
+SANE_Status eds_fsy(epsonds_scanner *s);
+SANE_Status eds_fsx(epsonds_scanner *s);
+SANE_Status eds_lock(epsonds_scanner *s);
+
+#endif
+
diff --git a/backend/epsonds-jpeg.c b/backend/epsonds-jpeg.c
new file mode 100644
index 0000000..d825d99
--- /dev/null
+++ b/backend/epsonds-jpeg.c
@@ -0,0 +1,221 @@
+/*
+ * epsonds-jpeg.c - Epson ESC/I-2 driver, JPEG support.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define DEBUG_DECLARE_ONLY
+
+#include <math.h>
+
+#include "epsonds.h"
+#include "epsonds-jpeg.h"
+#include "epsonds-ops.h"
+
+#define min(A,B) (((A)<(B)) ? (A) : (B))
+
+typedef struct
+{
+ struct jpeg_source_mgr pub;
+
+ epsonds_scanner *s;
+ JOCTET *buffer;
+
+ SANE_Byte *linebuffer;
+ SANE_Int linebuffer_size;
+ SANE_Int linebuffer_index;
+}
+epsonds_src_mgr;
+
+METHODDEF(void)
+jpeg_init_source(j_decompress_ptr UNUSEDARG cinfo)
+{
+}
+
+METHODDEF(void)
+jpeg_term_source(j_decompress_ptr UNUSEDARG cinfo)
+{
+}
+
+METHODDEF(boolean)
+jpeg_fill_input_buffer(j_decompress_ptr cinfo)
+{
+ epsonds_src_mgr *src = (epsonds_src_mgr *)cinfo->src;
+
+ /* read from the scanner or the ring buffer */
+
+ int avail = eds_ring_avail(src->s->current);
+ if (avail == 0) {
+ return FALSE;
+ }
+
+ /* read from scanner if no data? */
+ int size = min(1024, avail);
+
+ eds_ring_read(src->s->current, src->buffer, size);
+
+ src->pub.next_input_byte = src->buffer;
+ src->pub.bytes_in_buffer = size;
+
+ return TRUE;
+}
+
+METHODDEF (void)
+jpeg_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
+{
+ epsonds_src_mgr *src = (epsonds_src_mgr *)cinfo->src;
+
+ if (num_bytes > 0) {
+
+ while (num_bytes > (long)src->pub.bytes_in_buffer) {
+ num_bytes -= (long)src->pub.bytes_in_buffer;
+ jpeg_fill_input_buffer(cinfo);
+ }
+
+ src->pub.next_input_byte += (size_t) num_bytes;
+ src->pub.bytes_in_buffer -= (size_t) num_bytes;
+ }
+}
+
+SANE_Status
+eds_jpeg_start(epsonds_scanner *s)
+{
+ epsonds_src_mgr *src;
+
+ s->jpeg_cinfo.err = jpeg_std_error(&s->jpeg_err);
+
+ jpeg_create_decompress(&s->jpeg_cinfo);
+
+ s->jpeg_cinfo.src = (struct jpeg_source_mgr *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo,
+ JPOOL_PERMANENT, sizeof(epsonds_src_mgr));
+
+ memset(s->jpeg_cinfo.src, 0x00, sizeof(epsonds_src_mgr));
+
+ src = (epsonds_src_mgr *)s->jpeg_cinfo.src;
+ src->s = s;
+
+ src->buffer = (JOCTET *)(*s->jpeg_cinfo.mem->alloc_small)((j_common_ptr)&s->jpeg_cinfo,
+ JPOOL_PERMANENT,
+ 1024 * sizeof(JOCTET));
+
+ src->pub.init_source = jpeg_init_source;
+ src->pub.fill_input_buffer = jpeg_fill_input_buffer;
+ src->pub.skip_input_data = jpeg_skip_input_data;
+ src->pub.resync_to_restart = jpeg_resync_to_restart;
+ src->pub.term_source = jpeg_term_source;
+ src->pub.bytes_in_buffer = 0;
+ src->pub.next_input_byte = NULL;
+
+ s->jpeg_header_seen = 0;
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status
+eds_jpeg_read_header(epsonds_scanner *s)
+{
+ epsonds_src_mgr *src = (epsonds_src_mgr *)s->jpeg_cinfo.src;
+
+ if (jpeg_read_header(&s->jpeg_cinfo, TRUE)) {
+
+ s->jdst = sanei_jpeg_jinit_write_ppm(&s->jpeg_cinfo);
+
+ if (jpeg_start_decompress(&s->jpeg_cinfo)) {
+
+ DBG(3, "%s: w: %d, h: %d, components: %d\n",
+ __func__,
+ s->jpeg_cinfo.output_width, s->jpeg_cinfo.output_height,
+ s->jpeg_cinfo.output_components);
+
+ int size = s->jpeg_cinfo.output_width * s->jpeg_cinfo.output_components * 1;
+
+ src->linebuffer = (*s->jpeg_cinfo.mem->alloc_large)((j_common_ptr)&s->jpeg_cinfo,
+ JPOOL_PERMANENT, size);
+
+ src->linebuffer_size = 0;
+ src->linebuffer_index = 0;
+
+ s->jpeg_header_seen = 1;
+
+ return SANE_STATUS_GOOD;
+
+ } else {
+ DBG(0, "%s: decompression failed\n", __func__);
+ return SANE_STATUS_IO_ERROR;
+ }
+ } else {
+ DBG(0, "%s: cannot read JPEG header\n", __func__);
+ return SANE_STATUS_IO_ERROR;
+ }
+}
+
+void
+eds_jpeg_finish(epsonds_scanner *s)
+{
+ jpeg_destroy_decompress(&s->jpeg_cinfo);
+}
+
+void
+eds_jpeg_read(SANE_Handle handle, SANE_Byte *data,
+ SANE_Int max_length, SANE_Int *length)
+{
+ epsonds_scanner *s = handle;
+
+ *length = 0;
+
+ struct jpeg_decompress_struct cinfo = s->jpeg_cinfo;
+ epsonds_src_mgr *src = (epsonds_src_mgr *)s->jpeg_cinfo.src;
+
+ /* copy from line buffer if available */
+ if (src->linebuffer_size && src->linebuffer_index < src->linebuffer_size) {
+
+ *length = src->linebuffer_size - src->linebuffer_index;
+
+ if (*length > max_length)
+ *length = max_length;
+
+ memcpy(data, src->linebuffer + src->linebuffer_index, *length);
+ src->linebuffer_index += *length;
+
+ return;
+ }
+
+ if (cinfo.output_scanline >= cinfo.output_height) {
+ *length = 0;
+ return;
+ }
+
+ /* scanlines of decompressed data will be in s->jdst->buffer
+ * only one line at time is supported
+ */
+
+ int l = jpeg_read_scanlines(&cinfo, s->jdst->buffer, 1);
+ if (l == 0) {
+ return;
+ }
+
+ /* from s->jdst->buffer to linebuffer
+ * linebuffer holds width * bytesperpixel
+ */
+
+ (*s->jdst->put_pixel_rows)(&cinfo, s->jdst, 1, (char *)src->linebuffer);
+
+ *length = cinfo.output_width * cinfo.output_components * 1;
+ src->linebuffer_size = *length;
+ src->linebuffer_index = 0;
+
+ if (*length > max_length)
+ *length = max_length;
+
+ memcpy(data, src->linebuffer + src->linebuffer_index, *length);
+ src->linebuffer_index += *length;
+}
+
+
diff --git a/backend/epsonds-jpeg.h b/backend/epsonds-jpeg.h
new file mode 100644
index 0000000..c54208e
--- /dev/null
+++ b/backend/epsonds-jpeg.h
@@ -0,0 +1,19 @@
+/*
+ * epsonds.c - Epson ESC/I-2 driver, JPEG support.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define UNUSEDARG __attribute__ ((unused))
+
+SANE_Status eds_jpeg_start(epsonds_scanner *s);
+void eds_jpeg_finish(epsonds_scanner *s);
+SANE_Status eds_jpeg_read_header(epsonds_scanner *s);
+void eds_jpeg_read(SANE_Handle handle, SANE_Byte *data, SANE_Int max_length, SANE_Int *length);
diff --git a/backend/epsonds-ops.c b/backend/epsonds-ops.c
new file mode 100644
index 0000000..94f1071
--- /dev/null
+++ b/backend/epsonds-ops.c
@@ -0,0 +1,474 @@
+/*
+ * epsonds-ops.c - Epson ESC/I-2 driver, support routines.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define DEBUG_DECLARE_ONLY
+
+#include "sane/config.h"
+
+#include <unistd.h> /* sleep */
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+
+#include "epsonds.h"
+#include "epsonds-io.h"
+#include "epsonds-ops.h"
+#include "epsonds-cmd.h"
+
+extern struct mode_param mode_params[];
+
+/* Define the different scan sources */
+
+#define FBF_STR SANE_I18N("Flatbed")
+#define TPU_STR SANE_I18N("Transparency Unit")
+#define ADF_STR SANE_I18N("Automatic Document Feeder")
+
+extern SANE_String_Const source_list[];
+
+void
+eds_dev_init(epsonds_device *dev)
+{
+ dev->res_list = malloc(sizeof(SANE_Word));
+ dev->res_list[0] = 0;
+
+ dev->depth_list = malloc(sizeof(SANE_Word));
+ dev->depth_list[0] = 0;
+}
+
+SANE_Status
+eds_dev_post_init(struct epsonds_device *dev)
+{
+ DBG(10, "%s\n", __func__);
+
+ SANE_String_Const *source_list_add = source_list;
+ if (dev->has_fb)
+ *source_list_add++ = FBF_STR;
+
+ if (dev->has_adf)
+ *source_list_add++ = ADF_STR;
+
+ if (source_list[0] == 0
+ || (dev->res_list[0] == 0 && dev->dpi_range.min == 0)
+ || dev->depth_list[0] == 0) {
+
+ DBG(1, "something is wrong in the discovery process, aborting.\n");
+ DBG(1, "sources: %ld, res: %d, depths: %d.\n",
+ source_list_add - source_list, dev->res_list[0], dev->depth_list[0]);
+
+ return SANE_STATUS_INVAL;
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status
+eds_add_resolution(epsonds_device *dev, int r)
+{
+ DBG(10, "%s: add (dpi): %d\n", __func__, r);
+
+ /* first element is the list size */
+ dev->res_list[0]++;
+ dev->res_list = realloc(dev->res_list,
+ (dev->res_list[0] + 1) *
+ sizeof(SANE_Word));
+ if (dev->res_list == NULL)
+ return SANE_STATUS_NO_MEM;
+
+ dev->res_list[dev->res_list[0]] = r;
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status
+eds_set_resolution_range(epsonds_device *dev, int min, int max)
+{
+ DBG(10, "%s: set min/max (dpi): %d/%d\n", __func__, min, max);
+
+ dev->dpi_range.min = min;
+ dev->dpi_range.max = max;
+ dev->dpi_range.quant = 1;
+
+ return SANE_STATUS_GOOD;
+}
+
+void
+eds_set_fbf_area(epsonds_device *dev, int x, int y, int unit)
+{
+ if (x == 0 || y == 0)
+ return;
+
+ dev->fbf_x_range.min = 0;
+ dev->fbf_x_range.max = SANE_FIX(x * MM_PER_INCH / unit);
+ dev->fbf_x_range.quant = 0;
+
+ dev->fbf_y_range.min = 0;
+ dev->fbf_y_range.max = SANE_FIX(y * MM_PER_INCH / unit);
+ dev->fbf_y_range.quant = 0;
+
+ DBG(5, "%s: %f,%f %f,%f %d [mm]\n",
+ __func__,
+ SANE_UNFIX(dev->fbf_x_range.min),
+ SANE_UNFIX(dev->fbf_y_range.min),
+ SANE_UNFIX(dev->fbf_x_range.max),
+ SANE_UNFIX(dev->fbf_y_range.max), unit);
+}
+
+void
+eds_set_adf_area(struct epsonds_device *dev, int x, int y, int unit)
+{
+ dev->adf_x_range.min = 0;
+ dev->adf_x_range.max = SANE_FIX(x * MM_PER_INCH / unit);
+ dev->adf_x_range.quant = 0;
+
+ dev->adf_y_range.min = 0;
+ dev->adf_y_range.max = SANE_FIX(y * MM_PER_INCH / unit);
+ dev->adf_y_range.quant = 0;
+
+ DBG(5, "%s: %f,%f %f,%f %d [mm]\n",
+ __func__,
+ SANE_UNFIX(dev->adf_x_range.min),
+ SANE_UNFIX(dev->adf_y_range.min),
+ SANE_UNFIX(dev->adf_x_range.max),
+ SANE_UNFIX(dev->adf_y_range.max), unit);
+}
+
+void
+eds_set_tpu_area(struct epsonds_device *dev, int x, int y, int unit)
+{
+ dev->tpu_x_range.min = 0;
+ dev->tpu_x_range.max = SANE_FIX(x * MM_PER_INCH / unit);
+ dev->tpu_x_range.quant = 0;
+
+ dev->tpu_y_range.min = 0;
+ dev->tpu_y_range.max = SANE_FIX(y * MM_PER_INCH / unit);
+ dev->tpu_y_range.quant = 0;
+
+ DBG(5, "%s: %f,%f %f,%f %d [mm]\n",
+ __func__,
+ SANE_UNFIX(dev->tpu_x_range.min),
+ SANE_UNFIX(dev->tpu_y_range.min),
+ SANE_UNFIX(dev->tpu_x_range.max),
+ SANE_UNFIX(dev->tpu_y_range.max), unit);
+}
+
+SANE_Status
+eds_add_depth(epsonds_device *dev, SANE_Word depth)
+{
+ DBG(5, "%s: add (bpp): %d\n", __func__, depth);
+
+ /* > 8bpp not implemented yet */
+ if (depth > 8) {
+ DBG(1, " not supported");
+ return SANE_STATUS_GOOD;
+ }
+
+ if (depth > dev->max_depth)
+ dev->max_depth = depth;
+
+ /* first element is the list size */
+ dev->depth_list[0]++;
+ dev->depth_list = realloc(dev->depth_list,
+ (dev->depth_list[0] + 1) *
+ sizeof(SANE_Word));
+
+ if (dev->depth_list == NULL)
+ return SANE_STATUS_NO_MEM;
+
+ dev->depth_list[dev->depth_list[0]] = depth;
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status
+eds_init_parameters(epsonds_scanner *s)
+{
+ int dpi, bytes_per_pixel;
+
+ memset(&s->params, 0, sizeof(SANE_Parameters));
+
+ s->dummy = 0;
+
+ dpi = s->val[OPT_RESOLUTION].w;
+
+ if (SANE_UNFIX(s->val[OPT_BR_Y].w) == 0 ||
+ SANE_UNFIX(s->val[OPT_BR_X].w) == 0)
+ return SANE_STATUS_INVAL;
+
+ s->left = ((SANE_UNFIX(s->val[OPT_TL_X].w) / MM_PER_INCH) *
+ s->val[OPT_RESOLUTION].w) + 0.5;
+
+ s->top = ((SANE_UNFIX(s->val[OPT_TL_Y].w) / MM_PER_INCH) *
+ s->val[OPT_RESOLUTION].w) + 0.5;
+
+ s->params.pixels_per_line =
+ ((SANE_UNFIX(s->val[OPT_BR_X].w -
+ s->val[OPT_TL_X].w) / MM_PER_INCH) * dpi) + 0.5;
+ s->params.lines =
+ ((SANE_UNFIX(s->val[OPT_BR_Y].w -
+ s->val[OPT_TL_Y].w) / MM_PER_INCH) * dpi) + 0.5;
+
+ DBG(5, "%s: tlx %f tly %f brx %f bry %f [mm]\n",
+ __func__,
+ SANE_UNFIX(s->val[OPT_TL_X].w), SANE_UNFIX(s->val[OPT_TL_Y].w),
+ SANE_UNFIX(s->val[OPT_BR_X].w), SANE_UNFIX(s->val[OPT_BR_Y].w));
+
+ DBG(5, "%s: tlx %d tly %d brx %d bry %d [dots @ %d dpi]\n",
+ __func__, s->left, s->top,
+ s->params.pixels_per_line, s->params.lines, dpi);
+
+ /* center aligned? */
+ if (s->hw->alignment == 1) {
+
+ SANE_Int offset = ((SANE_UNFIX(s->hw->x_range->max) / MM_PER_INCH) * dpi) + 0.5;
+
+ s->left += ((offset - s->params.pixels_per_line) / 2);
+
+ DBG(5, "%s: centered to tlx %d tly %d brx %d bry %d [dots @ %d dpi]\n",
+ __func__, s->left, s->top,
+ s->params.pixels_per_line, s->params.lines, dpi);
+ }
+
+ /*
+ * Calculate bytes_per_pixel and bytes_per_line for
+ * any color depths.
+ *
+ * The default color depth is stored in mode_params.depth:
+ */
+
+ if (mode_params[s->val[OPT_MODE].w].depth == 1)
+ s->params.depth = 1;
+ else
+ s->params.depth = s->val[OPT_DEPTH].w;
+
+ /* this works because it can only be set to 1, 8 or 16 */
+ bytes_per_pixel = s->params.depth / 8;
+ if (s->params.depth % 8) { /* just in case ... */
+ bytes_per_pixel++;
+ }
+
+ /* pixels_per_line is rounded to the next 8bit boundary */
+ s->params.pixels_per_line = s->params.pixels_per_line & ~7;
+
+ s->params.last_frame = SANE_TRUE;
+
+ switch (s->val[OPT_MODE].w) {
+ case MODE_BINARY:
+ case MODE_GRAY:
+ s->params.format = SANE_FRAME_GRAY;
+ s->params.bytes_per_line =
+ s->params.pixels_per_line * s->params.depth / 8;
+ break;
+ case MODE_COLOR:
+ s->params.format = SANE_FRAME_RGB;
+ s->params.bytes_per_line =
+ 3 * s->params.pixels_per_line * bytes_per_pixel;
+ break;
+ }
+
+ if (s->params.bytes_per_line == 0) {
+ DBG(1, "bytes_per_line is ZERO\n");
+ return SANE_STATUS_INVAL;
+ }
+
+ /*
+ * If (s->top + s->params.lines) is larger than the max scan area, reset
+ * the number of scan lines:
+ * XXX: precalculate the maximum scanning area elsewhere (use dev max_y)
+ */
+
+ if (SANE_UNFIX(s->val[OPT_BR_Y].w) / MM_PER_INCH * dpi <
+ (s->params.lines + s->top)) {
+ s->params.lines =
+ ((int) SANE_UNFIX(s->val[OPT_BR_Y].w) / MM_PER_INCH *
+ dpi + 0.5) - s->top;
+ }
+
+ if (s->params.lines <= 0) {
+ DBG(1, "wrong number of lines: %d\n", s->params.lines);
+ return SANE_STATUS_INVAL;
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+void
+eds_copy_image_from_ring(epsonds_scanner *s, SANE_Byte *data, SANE_Int max_length,
+ SANE_Int *length)
+{
+ int lines, available;
+ int hw_line_size = (s->params.bytes_per_line + s->dummy);
+
+ /* trim max_length to a multiple of hw_line_size */
+ max_length -= (max_length % hw_line_size);
+
+ /* check available data */
+ available = eds_ring_avail(s->current);
+ if (max_length > available)
+ max_length = available;
+
+ lines = max_length / hw_line_size;
+
+ DBG(18, "copying %d lines (%d, %d)\n", lines, s->params.bytes_per_line, s->dummy);
+
+ /* need more data? */
+ if (lines == 0) {
+ *length = 0;
+ return;
+ }
+
+ *length = (lines * s->params.bytes_per_line);
+
+ /* we need to copy one line at time, skipping
+ * dummy bytes at the end of each line
+ */
+
+ /* lineart */
+ if (s->params.depth == 1) {
+
+ while (lines--) {
+
+ eds_ring_read(s->current, s->line_buffer, s->params.bytes_per_line);
+ eds_ring_skip(s->current, s->dummy);
+
+ int i;
+
+ SANE_Byte *p = s->line_buffer;
+
+ for (i = 0; i < s->params.bytes_per_line; i++) {
+ *data++ = ~*p++;
+ }
+ }
+
+ } else { /* gray and color */
+
+ while (lines--) {
+
+ eds_ring_read(s->current, data, s->params.bytes_per_line);
+ eds_ring_skip(s->current, s->dummy);
+
+ data += s->params.bytes_per_line;
+
+ }
+ }
+}
+
+SANE_Status eds_ring_init(ring_buffer *ring, SANE_Int size)
+{
+ ring->ring = realloc(ring->ring, size);
+ if (!ring->ring) {
+ return SANE_STATUS_NO_MEM;
+ }
+
+ ring->size = size;
+ ring->fill = 0;
+ ring->end = ring->ring + size;
+ ring->wp = ring->rp = ring->ring;
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status eds_ring_write(ring_buffer *ring, SANE_Byte *buf, SANE_Int size)
+{
+ if (size > (ring->size - ring->fill)) {
+ DBG(1, "ring buffer full, requested: %d, available: %d\n", size, ring->size - ring->fill);
+ return SANE_STATUS_NO_MEM;
+ }
+
+ SANE_Int tail = ring->end - ring->wp;
+ if (size < tail) {
+
+ memcpy(ring->wp, buf, size);
+
+ ring->wp += size;
+ ring->fill += size;
+
+ } else {
+
+ memcpy(ring->wp, buf, tail);
+ size -= tail;
+
+ ring->wp = ring->ring;
+ memcpy(ring->wp, buf + tail, size);
+
+ ring->wp += size;
+ ring->fill += (tail + size);
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Int eds_ring_read(ring_buffer *ring, SANE_Byte *buf, SANE_Int size)
+{
+ DBG(18, "reading from ring, %d bytes available\n", (int)ring->fill);
+
+ /* limit read to available */
+ if (size > ring->fill) {
+ DBG(1, "not enough data in the ring, shouldn't happen\n");
+ size = ring->fill;
+ }
+
+ SANE_Int tail = ring->end - ring->rp;
+ if (size < tail) {
+
+ memcpy(buf, ring->rp, size);
+
+ ring->rp += size;
+ ring->fill -= size;
+
+ return size;
+
+ } else {
+
+ memcpy(buf, ring->rp, tail);
+ size -= tail;
+
+ ring->rp = ring->ring;
+ memcpy(buf + tail, ring->rp, size);
+
+ ring->rp += size;
+ ring->fill -= (size + tail);
+
+ return size + tail;
+ }
+}
+
+SANE_Int eds_ring_skip(ring_buffer *ring, SANE_Int size)
+{
+ /* limit skip to available */
+ if (size > ring->fill)
+ size = ring->fill;
+
+ SANE_Int tail = ring->end - ring->rp;
+ if (size < tail) {
+ ring->rp += size;
+ } else {
+
+ ring->rp = ring->ring + (size - tail);
+ }
+
+ ring->fill -= size;
+
+ return size;
+}
+
+SANE_Int eds_ring_avail(ring_buffer *ring)
+{
+ return ring->fill;
+}
+
+void eds_ring_flush(ring_buffer *ring)
+{
+ eds_ring_skip(ring, ring->fill);
+}
+
+
diff --git a/backend/epsonds-ops.h b/backend/epsonds-ops.h
new file mode 100644
index 0000000..3f45393
--- /dev/null
+++ b/backend/epsonds-ops.h
@@ -0,0 +1,41 @@
+/*
+ * epsonds-ops.h - Epson ESC/I-2 driver.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define e2_model(s,m) e2_dev_model((s)->hw,(m))
+
+extern void eds_dev_init(epsonds_device *dev);
+extern SANE_Status eds_dev_post_init(struct epsonds_device *dev);
+
+extern SANE_Status eds_add_resolution(epsonds_device *dev, int r);
+extern SANE_Status eds_set_resolution_range(epsonds_device *dev, int min, int max);
+extern void eds_set_fbf_area(epsonds_device *dev, int x, int y, int unit);
+extern void eds_set_adf_area(epsonds_device *dev, int x, int y, int unit);
+extern void eds_set_tpu_area(epsonds_device *dev, int x, int y, int unit);
+
+extern SANE_Status eds_add_depth(epsonds_device *dev, SANE_Word depth);
+extern SANE_Status eds_discover_capabilities(epsonds_scanner *s);
+extern SANE_Status eds_set_extended_scanning_parameters(epsonds_scanner *s);
+extern SANE_Status eds_set_scanning_parameters(epsonds_scanner *s);
+extern void eds_setup_block_mode(epsonds_scanner *s);
+extern SANE_Status eds_init_parameters(epsonds_scanner *s);
+
+extern void eds_copy_image_from_ring(epsonds_scanner *s, SANE_Byte *data, SANE_Int max_length,
+ SANE_Int *length);
+
+extern SANE_Status eds_ring_init(ring_buffer *ring, SANE_Int size);
+extern SANE_Status eds_ring_write(ring_buffer *ring, SANE_Byte *buf, SANE_Int size);
+extern SANE_Int eds_ring_read(ring_buffer *ring, SANE_Byte *buf, SANE_Int size);
+extern SANE_Int eds_ring_skip(ring_buffer *ring, SANE_Int size);
+extern SANE_Int eds_ring_avail(ring_buffer *ring);
+extern void eds_ring_flush(ring_buffer *ring) ;
+
diff --git a/backend/epsonds-usb.c b/backend/epsonds-usb.c
new file mode 100644
index 0000000..c7e514c
--- /dev/null
+++ b/backend/epsonds-usb.c
@@ -0,0 +1,33 @@
+/*
+ * epsonds-usb.c - Epson ESC/I-2 driver, USB device list.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#include "epsonds-usb.h"
+
+SANE_Word epsonds_usb_product_ids[] = {
+ 0x0145, /* DS-5500, DS-6500, DS-7500 */
+ 0x0146, /* DS-50000, DS-60000, DS-70000 */
+ 0x014c, /* DS-510 */
+ 0x014d, /* DS-560 */
+ 0x0150, /* DS-40 */
+ 0x0152, /* DS-760, DS-860 */
+ 0x0154, /* DS-520 */
+ 0x08bc, /* PX-M7050 Series, WF-8510/8590 Series */
+ 0x08cc, /* PX-M7050FX Series, WF-R8590 Series */
+ 0 /* last entry - this is used for devices that are specified
+ in the config file as "usb <vendor> <product>" */
+};
+
+int epsonds_get_number_of_ids(void)
+{
+ return sizeof (epsonds_usb_product_ids) / sizeof (SANE_Word);
+}
diff --git a/backend/epsonds-usb.h b/backend/epsonds-usb.h
new file mode 100644
index 0000000..96c77b5
--- /dev/null
+++ b/backend/epsonds-usb.h
@@ -0,0 +1,24 @@
+/*
+ * epsonds-usb.h - Epson ESC/I-2 driver, USB device list.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#include "sane/sane.h"
+
+#ifndef _EPSONDS_USB_H_
+#define _EPSONDS_USB_H_
+
+#define SANE_EPSONDS_VENDOR_ID (0x4b8)
+
+extern SANE_Word epsonds_usb_product_ids[];
+extern int epsonds_get_number_of_ids(void);
+
+#endif
diff --git a/backend/epsonds.c b/backend/epsonds.c
new file mode 100644
index 0000000..d16744f
--- /dev/null
+++ b/backend/epsonds.c
@@ -0,0 +1,1434 @@
+/*
+ * epsonds.c - Epson ESC/I-2 driver.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#define EPSONDS_VERSION 1
+#define EPSONDS_REVISION 0
+#define EPSONDS_BUILD 35
+
+/* debugging levels:
+ *
+ * 32 eds_send
+ * 30 eds_recv
+ * 20 sane_read and related
+ * 18 sane_read and related
+ * 17 setvalue, getvalue, control_option
+ * 16
+ * 15 esci2_img
+ * 13 image_cb
+ * 12 eds_control
+ * 11 all received params
+ * 10 some received params
+ * 9
+ * 8 esci2_xxx
+ * 7 open/close/attach
+ * 6 print_params
+ * 5 basic functions
+ * 3 JPEG decompressor
+ * 1 scanner info and capabilities
+ * 0 errors
+ */
+
+#include "sane/config.h"
+
+#include <ctype.h>
+
+#include "sane/saneopts.h"
+#include "sane/sanei_config.h"
+
+#include "epsonds.h"
+#include "epsonds-usb.h"
+#include "epsonds-io.h"
+#include "epsonds-cmd.h"
+#include "epsonds-ops.h"
+#include "epsonds-jpeg.h"
+
+/*
+ * Definition of the mode_param struct, that is used to
+ * specify the valid parameters for the different scan modes.
+ *
+ * The depth variable gets updated when the bit depth is modified.
+ */
+
+struct mode_param mode_params[] = {
+ {0, 0x00, 0x30, 1},
+ {0, 0x00, 0x30, 8},
+ {1, 0x02, 0x00, 8},
+ {0, 0x00, 0x30, 1}
+};
+
+static SANE_String_Const mode_list[] = {
+ SANE_VALUE_SCAN_MODE_LINEART,
+ SANE_VALUE_SCAN_MODE_GRAY,
+ SANE_VALUE_SCAN_MODE_COLOR,
+ NULL
+};
+
+static const SANE_String_Const adf_mode_list[] = {
+ SANE_I18N("Simplex"),
+ SANE_I18N("Duplex"),
+ NULL
+};
+
+/* Define the different scan sources */
+
+#define FBF_STR SANE_I18N("Flatbed")
+#define ADF_STR SANE_I18N("Automatic Document Feeder")
+
+/* order will be fixed: fb, adf, tpu */
+SANE_String_Const source_list[] = {
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+/*
+ * List of pointers to devices - will be dynamically allocated depending
+ * on the number of devices found.
+ */
+static const SANE_Device **devlist;
+
+/* Some utility functions */
+
+static size_t
+max_string_size(const SANE_String_Const strings[])
+{
+ size_t size, max_size = 0;
+ int i;
+
+ for (i = 0; strings[i]; i++) {
+ size = strlen(strings[i]) + 1;
+ if (size > max_size)
+ max_size = size;
+ }
+ return max_size;
+}
+
+static SANE_Status attach_one_usb(SANE_String_Const devname);
+
+static void
+print_params(const SANE_Parameters params)
+{
+ DBG(6, "params.format = %d\n", params.format);
+ DBG(6, "params.last_frame = %d\n", params.last_frame);
+ DBG(6, "params.bytes_per_line = %d\n", params.bytes_per_line);
+ DBG(6, "params.pixels_per_line = %d\n", params.pixels_per_line);
+ DBG(6, "params.lines = %d\n", params.lines);
+ DBG(6, "params.depth = %d\n", params.depth);
+}
+
+static void
+close_scanner(epsonds_scanner *s)
+{
+ DBG(7, "%s: fd = %d\n", __func__, s->fd);
+
+ if (s->fd == -1)
+ return;
+
+ if (s->locked) {
+ DBG(7, " unlocking scanner\n");
+ esci2_fin(s);
+ }
+
+ if (s->hw->connection == SANE_EPSONDS_USB) {
+ sanei_usb_close(s->fd);
+ }
+
+ free(s->front.ring);
+ free(s->back.ring);
+ free(s->line_buffer);
+ free(s);
+
+ DBG(7, "%s: ZZZ\n", __func__);
+}
+
+static SANE_Status
+open_scanner(epsonds_scanner *s)
+{
+ SANE_Status status = SANE_STATUS_INVAL;
+
+ DBG(7, "%s: %s\n", __func__, s->hw->sane.name);
+
+ if (s->fd != -1) {
+ DBG(5, "scanner is already open: fd = %d\n", s->fd);
+ return SANE_STATUS_GOOD; /* no need to open the scanner */
+ }
+
+ if (s->hw->connection == SANE_EPSONDS_USB) {
+
+ status = sanei_usb_open(s->hw->sane.name, &s->fd);
+ sanei_usb_set_timeout(USB_TIMEOUT);
+
+ } else {
+ DBG(1, "unknown connection type: %d\n", s->hw->connection);
+ }
+
+ if (status == SANE_STATUS_ACCESS_DENIED) {
+ DBG(1, "please check that you have permissions on the device.\n");
+ DBG(1, "if this is a multi-function device with a printer,\n");
+ DBG(1, "disable any conflicting driver (like usblp).\n");
+ }
+
+ if (status != SANE_STATUS_GOOD)
+ DBG(1, "%s open failed: %s\n",
+ s->hw->sane.name,
+ sane_strstatus(status));
+ else
+ DBG(5, " opened correctly\n");
+
+ return status;
+}
+
+static SANE_Status
+validate_usb(struct epsonds_scanner *s)
+{
+ DBG(1, "%s\n", __func__);
+
+ SANE_Status status;
+ int vendor, product;
+ int i = 0, numIds;
+
+ SANE_Bool is_valid = SANE_FALSE;
+
+ /* if the sanei_usb_get_vendor_product call is not supported,
+ * then we just ignore this and rely on the user to config
+ * the correct device.
+ */
+ status = sanei_usb_get_vendor_product(s->fd, &vendor, &product);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "the device cannot be verified - will continue\n");
+ return SANE_STATUS_GOOD;
+ }
+
+ /* check the vendor ID to see if we are dealing with an EPSON device */
+ if (vendor != SANE_EPSONDS_VENDOR_ID) {
+ /* this is not a supported vendor ID */
+ DBG(1, "not an Epson device at %s (vendor id=0x%x)\n",
+ s->hw->sane.name, vendor);
+ return SANE_STATUS_INVAL;
+ }
+
+ numIds = epsonds_get_number_of_ids();
+
+ /* check all known product IDs to verify that we know
+ about the device */
+ while (i != numIds && !is_valid) {
+ if (product == epsonds_usb_product_ids[i])
+ is_valid = SANE_TRUE;
+ i++;
+ }
+
+ if (is_valid == SANE_FALSE) {
+ DBG(1, "the device at %s is not a supported (product id=0x%x)\n",
+ s->hw->sane.name, product);
+ return SANE_STATUS_INVAL;
+ }
+
+ DBG(1, "found valid Epson ESC/I-2 scanner: 0x%x/0x%x at %s\n",
+ vendor, product, s->hw->sane.name);
+
+ return SANE_STATUS_GOOD;
+}
+
+static int num_devices; /* number of scanners attached to backend */
+static epsonds_device *first_dev; /* first EPSON scanner in list */
+
+static struct epsonds_scanner *
+scanner_create(struct epsonds_device *dev, SANE_Status *status)
+{
+ struct epsonds_scanner *s;
+
+ s = malloc(sizeof(struct epsonds_scanner));
+ if (s == NULL) {
+ *status = SANE_STATUS_NO_MEM;
+ return NULL;
+ }
+
+ /* clear verything */
+ memset(s, 0x00, sizeof(struct epsonds_scanner));
+
+ s->fd = -1;
+ s->hw = dev;
+
+ return s;
+}
+
+static struct epsonds_scanner *
+device_detect(const char *name, int type, SANE_Status *status)
+{
+ struct epsonds_scanner *s;
+ struct epsonds_device *dev;
+
+ DBG(1, "%s\n", __func__);
+
+ /* try to find the device in our list */
+ for (dev = first_dev; dev; dev = dev->next) {
+ if (strcmp(dev->sane.name, name) == 0) {
+ DBG(1, " found cached device\n");
+ return scanner_create(dev, status);
+ }
+ }
+
+ /* not found, create new if valid */
+ if (type == SANE_EPSONDS_NODEV) {
+ *status = SANE_STATUS_INVAL;
+ return NULL;
+ }
+
+ /* alloc and clear our device structure */
+ dev = malloc(sizeof(*dev));
+ if (!dev) {
+ *status = SANE_STATUS_NO_MEM;
+ return NULL;
+ }
+ memset(dev, 0x00, sizeof(struct epsonds_device));
+
+ s = scanner_create(dev, status);
+ if (s == NULL)
+ return NULL;
+
+ dev->connection = type;
+ dev->model = strdup("(undetermined)");
+
+ dev->sane.name = name;
+ dev->sane.vendor = "Epson";
+ dev->sane.model = dev->model;
+ dev->sane.type = "ESC/I-2";
+
+ *status = open_scanner(s);
+ if (*status != SANE_STATUS_GOOD) {
+ free(s);
+ return NULL;
+ }
+
+ if (dev->connection == SANE_EPSONDS_USB) {
+ *status = validate_usb(s);
+ }
+
+ if (*status != SANE_STATUS_GOOD)
+ goto close;
+
+ eds_dev_init(dev);
+
+ /* lock scanner */
+ *status = eds_lock(s);
+ if (*status != SANE_STATUS_GOOD) {
+ goto close;
+ }
+
+ /* discover capabilities */
+ *status = esci2_info(s);
+ if (*status != SANE_STATUS_GOOD)
+ goto close;
+
+ *status = esci2_capa(s);
+ if (*status != SANE_STATUS_GOOD)
+ goto close;
+
+ *status = esci2_resa(s);
+ if (*status != SANE_STATUS_GOOD)
+ goto close;
+
+ /* assume 1 and 8 bit are always supported */
+ eds_add_depth(s->hw, 1);
+ eds_add_depth(s->hw, 8);
+
+ /* setup area according to available options */
+ if (s->hw->has_fb) {
+
+ dev->x_range = &dev->fbf_x_range;
+ dev->y_range = &dev->fbf_y_range;
+ dev->alignment = dev->fbf_alignment;
+
+ } else if (s->hw->has_adf) {
+
+ dev->x_range = &dev->adf_x_range;
+ dev->y_range = &dev->adf_y_range;
+ dev->alignment = dev->adf_alignment;
+
+ } else {
+ DBG(0, "unable to lay on the flatbed or feed the feeder. is that a scanner??\n");
+ }
+
+ *status = eds_dev_post_init(dev);
+ if (*status != SANE_STATUS_GOOD)
+ goto close;
+
+ DBG(1, "scanner model: %s\n", dev->model);
+
+ /* add this scanner to the device list */
+
+ num_devices++;
+ dev->next = first_dev;
+ first_dev = dev;
+
+ return s;
+
+close:
+ DBG(1, " failed\n");
+
+ close_scanner(s);
+ return NULL;
+}
+
+
+static SANE_Status
+attach(const char *name, int type)
+{
+ SANE_Status status;
+
+ DBG(7, "%s: devname = %s, type = %d\n", __func__, name, type);
+
+ epsonds_scanner *s = device_detect(name, type, &status);
+ if (s == NULL)
+ return status;
+
+ close_scanner(s);
+ return status;
+}
+
+SANE_Status
+attach_one_usb(const char *dev)
+{
+ DBG(7, "%s: dev = %s\n", __func__, dev);
+ return attach(dev, SANE_EPSONDS_USB);
+}
+
+static SANE_Status
+attach_one_config(SANEI_Config __sane_unused__ *config, const char *line)
+{
+ int vendor, product;
+
+ int len = strlen(line);
+
+ DBG(7, "%s: len = %d, line = %s\n", __func__, len, line);
+
+ if (sscanf(line, "usb %i %i", &vendor, &product) == 2) {
+
+ int numIds;
+
+ /* add the vendor and product IDs to the list of
+ known devices before we call the attach function */
+
+ DBG(7, " user configured device\n");
+
+ numIds = epsonds_get_number_of_ids();
+ if (vendor != 0x4b8)
+ return SANE_STATUS_INVAL; /* this is not an EPSON device */
+
+ /* add to last slot */
+ epsonds_usb_product_ids[numIds - 1] = product;
+ sanei_usb_attach_matching_devices(line, attach_one_usb);
+
+ } else if (strncmp(line, "usb", 3) == 0 && len == 3) {
+
+ int i, numIds;
+
+ DBG(7, " probing usb devices\n");
+
+ numIds = epsonds_get_number_of_ids();
+
+ for (i = 0; i < numIds; i++) {
+ sanei_usb_find_devices(0x4b8,
+ epsonds_usb_product_ids[i], attach_one_usb);
+ }
+ } else {
+ DBG(0, "unable to parse config line: %s\n", line);
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+static void
+free_devices(void)
+{
+ epsonds_device *dev, *next;
+
+ for (dev = first_dev; dev; dev = next) {
+ next = dev->next;
+ free(dev->name);
+ free(dev->model);
+ free(dev);
+ }
+
+ free(devlist);
+ first_dev = NULL;
+}
+
+static void
+probe_devices(void)
+{
+ DBG(5, "%s\n", __func__);
+
+ free_devices();
+ sanei_configure_attach(EPSONDS_CONFIG_FILE, NULL, attach_one_config);
+}
+
+/**** SANE API ****/
+
+SANE_Status
+sane_init(SANE_Int *version_code, SANE_Auth_Callback __sane_unused__ authorize)
+{
+ DBG_INIT();
+ DBG(2, "%s: " PACKAGE " " VERSION "\n", __func__);
+
+ DBG(1, "epsonds backend, version %i.%i.%i\n",
+ EPSONDS_VERSION, EPSONDS_REVISION, EPSONDS_BUILD);
+
+ if (version_code != NULL)
+ *version_code = SANE_VERSION_CODE(SANE_CURRENT_MAJOR, V_MINOR,
+ EPSONDS_BUILD);
+
+ sanei_usb_init();
+
+ return SANE_STATUS_GOOD;
+}
+
+void
+sane_exit(void)
+{
+ DBG(5, "** %s\n", __func__);
+ free_devices();
+}
+
+SANE_Status
+sane_get_devices(const SANE_Device ***device_list, SANE_Bool __sane_unused__ local_only)
+{
+ int i;
+ epsonds_device *dev;
+
+ DBG(5, "** %s\n", __func__);
+
+ probe_devices();
+
+ devlist = malloc((num_devices + 1) * sizeof(devlist[0]));
+ if (!devlist) {
+ DBG(1, "out of memory (line %d)\n", __LINE__);
+ return SANE_STATUS_NO_MEM;
+ }
+
+ DBG(5, "%s - results:\n", __func__);
+
+ for (i = 0, dev = first_dev; i < num_devices && dev; dev = dev->next, i++) {
+ DBG(1, " %d (%d): %s\n", i, dev->connection, dev->model);
+ devlist[i] = &dev->sane;
+ }
+
+ devlist[i] = NULL;
+
+ *device_list = devlist;
+
+ return SANE_STATUS_GOOD;
+}
+
+static SANE_Status
+init_options(epsonds_scanner *s)
+{
+ int i;
+
+ for (i = 0; i < NUM_OPTIONS; i++) {
+ s->opt[i].size = sizeof(SANE_Word);
+ s->opt[i].cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
+ }
+
+ s->opt[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS;
+ s->opt[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS;
+ s->opt[OPT_NUM_OPTS].type = SANE_TYPE_INT;
+ s->opt[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT;
+ s->val[OPT_NUM_OPTS].w = NUM_OPTIONS;
+
+ /* "Scan Mode" group: */
+
+ s->opt[OPT_MODE_GROUP].title = SANE_I18N("Scan Mode");
+ s->opt[OPT_MODE_GROUP].desc = "";
+ s->opt[OPT_MODE_GROUP].type = SANE_TYPE_GROUP;
+ s->opt[OPT_MODE_GROUP].cap = 0;
+
+ /* scan mode */
+ s->opt[OPT_MODE].name = SANE_NAME_SCAN_MODE;
+ s->opt[OPT_MODE].title = SANE_TITLE_SCAN_MODE;
+ s->opt[OPT_MODE].desc = SANE_DESC_SCAN_MODE;
+ s->opt[OPT_MODE].type = SANE_TYPE_STRING;
+ s->opt[OPT_MODE].size = max_string_size(mode_list);
+ s->opt[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
+ s->opt[OPT_MODE].constraint.string_list = mode_list;
+ s->val[OPT_MODE].w = 0; /* Lineart */
+
+ /* bit depth */
+ s->opt[OPT_DEPTH].name = SANE_NAME_BIT_DEPTH;
+ s->opt[OPT_DEPTH].title = SANE_TITLE_BIT_DEPTH;
+ s->opt[OPT_DEPTH].desc = SANE_DESC_BIT_DEPTH;
+ s->opt[OPT_DEPTH].type = SANE_TYPE_INT;
+ s->opt[OPT_DEPTH].unit = SANE_UNIT_BIT;
+ s->opt[OPT_DEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST;
+ s->opt[OPT_DEPTH].constraint.word_list = s->hw->depth_list;
+ s->val[OPT_DEPTH].w = s->hw->depth_list[1]; /* the first "real" element is the default */
+
+ /* default is Lineart, disable depth selection */
+ s->opt[OPT_DEPTH].cap |= SANE_CAP_INACTIVE;
+
+ /* resolution */
+ s->opt[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION;
+ s->opt[OPT_RESOLUTION].title = SANE_TITLE_SCAN_RESOLUTION;
+ s->opt[OPT_RESOLUTION].desc = SANE_DESC_SCAN_RESOLUTION;
+
+ s->opt[OPT_RESOLUTION].type = SANE_TYPE_INT;
+ s->opt[OPT_RESOLUTION].unit = SANE_UNIT_DPI;
+
+ /* range */
+ if (s->hw->dpi_range.quant) {
+ s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_RANGE;
+ s->opt[OPT_RESOLUTION].constraint.range = &s->hw->dpi_range;
+ s->val[OPT_RESOLUTION].w = s->hw->dpi_range.min;
+ } else { /* list */
+ s->opt[OPT_RESOLUTION].constraint_type = SANE_CONSTRAINT_WORD_LIST;
+ s->opt[OPT_RESOLUTION].constraint.word_list = s->hw->res_list;
+ s->val[OPT_RESOLUTION].w = s->hw->res_list[1];
+ }
+
+ /* "Geometry" group: */
+ s->opt[OPT_GEOMETRY_GROUP].title = SANE_I18N("Geometry");
+ s->opt[OPT_GEOMETRY_GROUP].desc = "";
+ s->opt[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP;
+ s->opt[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED;
+
+ /* top-left x */
+ s->opt[OPT_TL_X].name = SANE_NAME_SCAN_TL_X;
+ s->opt[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X;
+ s->opt[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X;
+ s->opt[OPT_TL_X].type = SANE_TYPE_FIXED;
+ s->opt[OPT_TL_X].unit = SANE_UNIT_MM;
+ s->opt[OPT_TL_X].constraint_type = SANE_CONSTRAINT_RANGE;
+ s->opt[OPT_TL_X].constraint.range = s->hw->x_range;
+ s->val[OPT_TL_X].w = 0;
+
+ /* top-left y */
+ s->opt[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y;
+ s->opt[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y;
+ s->opt[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y;
+
+ s->opt[OPT_TL_Y].type = SANE_TYPE_FIXED;
+ s->opt[OPT_TL_Y].unit = SANE_UNIT_MM;
+ s->opt[OPT_TL_Y].constraint_type = SANE_CONSTRAINT_RANGE;
+ s->opt[OPT_TL_Y].constraint.range = s->hw->y_range;
+ s->val[OPT_TL_Y].w = 0;
+
+ /* bottom-right x */
+ s->opt[OPT_BR_X].name = SANE_NAME_SCAN_BR_X;
+ s->opt[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X;
+ s->opt[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X;
+
+ s->opt[OPT_BR_X].type = SANE_TYPE_FIXED;
+ s->opt[OPT_BR_X].unit = SANE_UNIT_MM;
+ s->opt[OPT_BR_X].constraint_type = SANE_CONSTRAINT_RANGE;
+ s->opt[OPT_BR_X].constraint.range = s->hw->x_range;
+ s->val[OPT_BR_X].w = s->hw->x_range->max;
+
+ /* bottom-right y */
+ s->opt[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y;
+ s->opt[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y;
+ s->opt[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y;
+
+ s->opt[OPT_BR_Y].type = SANE_TYPE_FIXED;
+ s->opt[OPT_BR_Y].unit = SANE_UNIT_MM;
+ s->opt[OPT_BR_Y].constraint_type = SANE_CONSTRAINT_RANGE;
+ s->opt[OPT_BR_Y].constraint.range = s->hw->y_range;
+ s->val[OPT_BR_Y].w = s->hw->y_range->max;
+
+ /* "Optional equipment" group: */
+ s->opt[OPT_EQU_GROUP].title = SANE_I18N("Optional equipment");
+ s->opt[OPT_EQU_GROUP].desc = "";
+ s->opt[OPT_EQU_GROUP].type = SANE_TYPE_GROUP;
+ s->opt[OPT_EQU_GROUP].cap = SANE_CAP_ADVANCED;
+
+ /* source */
+ s->opt[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE;
+ s->opt[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE;
+ s->opt[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE;
+ s->opt[OPT_SOURCE].type = SANE_TYPE_STRING;
+ s->opt[OPT_SOURCE].size = max_string_size(source_list);
+ s->opt[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
+ s->opt[OPT_SOURCE].constraint.string_list = source_list;
+ s->val[OPT_SOURCE].w = 0;
+
+ s->opt[OPT_EJECT].name = "eject";
+ s->opt[OPT_EJECT].title = SANE_I18N("Eject");
+ s->opt[OPT_EJECT].desc = SANE_I18N("Eject the sheet in the ADF");
+ s->opt[OPT_EJECT].type = SANE_TYPE_BUTTON;
+
+ if (!s->hw->adf_has_eject)
+ s->opt[OPT_EJECT].cap |= SANE_CAP_INACTIVE;
+
+ s->opt[OPT_LOAD].name = "load";
+ s->opt[OPT_LOAD].title = SANE_I18N("Load");
+ s->opt[OPT_LOAD].desc = SANE_I18N("Load a sheet in the ADF");
+ s->opt[OPT_LOAD].type = SANE_TYPE_BUTTON;
+
+ if (!s->hw->adf_has_load)
+ s->opt[OPT_LOAD].cap |= SANE_CAP_INACTIVE;
+
+ s->opt[OPT_ADF_MODE].name = "adf-mode";
+ s->opt[OPT_ADF_MODE].title = SANE_I18N("ADF Mode");
+ s->opt[OPT_ADF_MODE].desc =
+ SANE_I18N("Selects the ADF mode (simplex/duplex)");
+ s->opt[OPT_ADF_MODE].type = SANE_TYPE_STRING;
+ s->opt[OPT_ADF_MODE].size = max_string_size(adf_mode_list);
+ s->opt[OPT_ADF_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
+ s->opt[OPT_ADF_MODE].constraint.string_list = adf_mode_list;
+ s->val[OPT_ADF_MODE].w = 0; /* simplex */
+
+ if (!s->hw->adf_is_duplex)
+ s->opt[OPT_ADF_MODE].cap |= SANE_CAP_INACTIVE;
+
+ s->opt[OPT_ADF_SKEW].name = "adf-skew";
+ s->opt[OPT_ADF_SKEW].title = SANE_I18N("ADF Skew Correction");
+ s->opt[OPT_ADF_SKEW].desc =
+ SANE_I18N("Enables ADF skew correction");
+ s->opt[OPT_ADF_SKEW].type = SANE_TYPE_BOOL;
+ s->val[OPT_ADF_SKEW].w = 0;
+
+ if (!s->hw->adf_has_skew)
+ s->opt[OPT_ADF_SKEW].cap |= SANE_CAP_INACTIVE;
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status
+sane_open(SANE_String_Const name, SANE_Handle *handle)
+{
+ SANE_Status status;
+ epsonds_scanner *s = NULL;
+
+ int l = strlen(name);
+
+ DBG(7, "** %s: name = %s\n", __func__, name);
+
+ /* probe if empty device name provided */
+ if (l == 0) {
+
+ probe_devices();
+
+ if (first_dev == NULL) {
+ DBG(1, "no devices detected\n");
+ return SANE_STATUS_INVAL;
+ }
+
+ s = device_detect(first_dev->sane.name, first_dev->connection,
+ &status);
+ if (s == NULL) {
+ DBG(1, "cannot open a perfectly valid device (%s),"
+ " please report to the authors\n", name);
+ return SANE_STATUS_INVAL;
+ }
+
+ } else {
+
+ if (strncmp(name, "libusb:", 7) == 0) {
+ s = device_detect(name, SANE_EPSONDS_USB, &status);
+ if (s == NULL)
+ return status;
+ } else {
+
+ /* as a last resort, check for a match
+ * in the device list. This should handle SCSI
+ * devices and platforms without libusb.
+ */
+
+ if (first_dev == NULL)
+ probe_devices();
+
+ s = device_detect(name, SANE_EPSONDS_NODEV, &status);
+ if (s == NULL) {
+ DBG(1, "invalid device name: %s\n", name);
+ return SANE_STATUS_INVAL;
+ }
+ }
+ }
+
+ /* s is always valid here */
+
+ DBG(5, "%s: handle obtained\n", __func__);
+
+ init_options(s);
+
+ *handle = (SANE_Handle)s;
+
+ status = open_scanner(s);
+ if (status != SANE_STATUS_GOOD) {
+ free(s);
+ return status;
+ }
+
+ /* lock scanner if required */
+ if (!s->locked) {
+ status = eds_lock(s);
+ }
+
+ return status;
+}
+
+void
+sane_close(SANE_Handle handle)
+{
+ epsonds_scanner *s = (epsonds_scanner *)handle;
+
+ DBG(1, "** %s\n", __func__);
+
+ close_scanner(s);
+}
+
+const SANE_Option_Descriptor *
+sane_get_option_descriptor(SANE_Handle handle, SANE_Int option)
+{
+ epsonds_scanner *s = (epsonds_scanner *) handle;
+
+ if (option < 0 || option >= NUM_OPTIONS)
+ return NULL;
+
+ return s->opt + option;
+}
+
+static const SANE_String_Const *
+search_string_list(const SANE_String_Const *list, SANE_String value)
+{
+ while (*list != NULL && strcmp(value, *list) != 0)
+ list++;
+
+ return ((*list == NULL) ? NULL : list);
+}
+
+static void
+activateOption(epsonds_scanner *s, SANE_Int option, SANE_Bool *change)
+{
+ if (!SANE_OPTION_IS_ACTIVE(s->opt[option].cap)) {
+ s->opt[option].cap &= ~SANE_CAP_INACTIVE;
+ *change = SANE_TRUE;
+ }
+}
+
+static void
+deactivateOption(epsonds_scanner *s, SANE_Int option, SANE_Bool *change)
+{
+ if (SANE_OPTION_IS_ACTIVE(s->opt[option].cap)) {
+ s->opt[option].cap |= SANE_CAP_INACTIVE;
+ *change = SANE_TRUE;
+ }
+}
+
+/*
+ * Handles setting the source (flatbed, transparency adapter (TPU),
+ * or auto document feeder (ADF)).
+ *
+ * For newer scanners it also sets the focus according to the
+ * glass / TPU settings.
+ */
+
+static void
+change_source(epsonds_scanner *s, SANE_Int optindex, char *value)
+{
+ int force_max = SANE_FALSE;
+ SANE_Bool dummy;
+
+ DBG(1, "%s: optindex = %d, source = '%s'\n", __func__, optindex,
+ value);
+
+ s->val[OPT_SOURCE].w = optindex;
+
+ /* if current selected area is the maximum available,
+ * keep this setting on the new source.
+ */
+ if (s->val[OPT_TL_X].w == s->hw->x_range->min
+ && s->val[OPT_TL_Y].w == s->hw->y_range->min
+ && s->val[OPT_BR_X].w == s->hw->x_range->max
+ && s->val[OPT_BR_Y].w == s->hw->y_range->max) {
+ force_max = SANE_TRUE;
+ }
+
+ if (strcmp(ADF_STR, value) == 0) {
+
+ s->hw->x_range = &s->hw->adf_x_range;
+ s->hw->y_range = &s->hw->adf_y_range;
+ s->hw->alignment = s->hw->adf_alignment;
+
+ if (s->hw->adf_is_duplex) {
+ activateOption(s, OPT_ADF_MODE, &dummy);
+ } else {
+ deactivateOption(s, OPT_ADF_MODE, &dummy);
+ s->val[OPT_ADF_MODE].w = 0;
+ }
+
+ } else if (strcmp(TPU_STR, value) == 0) {
+
+ s->hw->x_range = &s->hw->tpu_x_range;
+ s->hw->y_range = &s->hw->tpu_y_range;
+
+ deactivateOption(s, OPT_ADF_MODE, &dummy);
+
+ } else {
+
+ /* neither ADF nor TPU active, assume FB */
+ s->hw->x_range = &s->hw->fbf_x_range;
+ s->hw->y_range = &s->hw->fbf_y_range;
+ s->hw->alignment = s->hw->fbf_alignment;
+ }
+
+ s->opt[OPT_BR_X].constraint.range = s->hw->x_range;
+ s->opt[OPT_BR_Y].constraint.range = s->hw->y_range;
+
+ if (s->val[OPT_TL_X].w < s->hw->x_range->min || force_max)
+ s->val[OPT_TL_X].w = s->hw->x_range->min;
+
+ if (s->val[OPT_TL_Y].w < s->hw->y_range->min || force_max)
+ s->val[OPT_TL_Y].w = s->hw->y_range->min;
+
+ if (s->val[OPT_BR_X].w > s->hw->x_range->max || force_max)
+ s->val[OPT_BR_X].w = s->hw->x_range->max;
+
+ if (s->val[OPT_BR_Y].w > s->hw->y_range->max || force_max)
+ s->val[OPT_BR_Y].w = s->hw->y_range->max;
+}
+
+static SANE_Status
+getvalue(SANE_Handle handle, SANE_Int option, void *value)
+{
+ epsonds_scanner *s = (epsonds_scanner *)handle;
+ SANE_Option_Descriptor *sopt = &(s->opt[option]);
+ Option_Value *sval = &(s->val[option]);
+
+ DBG(17, "%s: option = %d\n", __func__, option);
+
+ switch (option) {
+
+ case OPT_NUM_OPTS:
+ case OPT_RESOLUTION:
+ case OPT_TL_X:
+ case OPT_TL_Y:
+ case OPT_BR_X:
+ case OPT_BR_Y:
+ case OPT_DEPTH:
+ case OPT_ADF_SKEW:
+ *((SANE_Word *) value) = sval->w;
+ break;
+
+ case OPT_MODE:
+ case OPT_ADF_MODE:
+ case OPT_SOURCE:
+ strcpy((char *) value, sopt->constraint.string_list[sval->w]);
+ break;
+
+ default:
+ return SANE_STATUS_INVAL;
+ }
+
+ return SANE_STATUS_GOOD;
+}
+
+static SANE_Status
+setvalue(SANE_Handle handle, SANE_Int option, void *value, SANE_Int *info)
+{
+ epsonds_scanner *s = (epsonds_scanner *) handle;
+ SANE_Option_Descriptor *sopt = &(s->opt[option]);
+ Option_Value *sval = &(s->val[option]);
+
+ SANE_Status status;
+ const SANE_String_Const *optval = NULL;
+ int optindex = 0;
+ SANE_Bool reload = SANE_FALSE;
+
+ DBG(17, "** %s: option = %d, value = %p\n", __func__, option, value);
+
+ status = sanei_constrain_value(sopt, value, info);
+ if (status != SANE_STATUS_GOOD)
+ return status;
+
+ if (info && value && (*info & SANE_INFO_INEXACT)
+ && sopt->type == SANE_TYPE_INT)
+ DBG(17, " constrained val = %d\n", *(SANE_Word *) value);
+
+ if (sopt->constraint_type == SANE_CONSTRAINT_STRING_LIST) {
+ optval = search_string_list(sopt->constraint.string_list,
+ (char *) value);
+ if (optval == NULL)
+ return SANE_STATUS_INVAL;
+ optindex = optval - sopt->constraint.string_list;
+ }
+
+ /* block faulty frontends */
+ if (sopt->cap & SANE_CAP_INACTIVE) {
+ DBG(1, " tried to modify a disabled parameter");
+ return SANE_STATUS_INVAL;
+ }
+
+ switch (option) {
+
+ case OPT_ADF_MODE: /* simple lists */
+ sval->w = optindex;
+ break;
+
+ case OPT_ADF_SKEW:
+ case OPT_RESOLUTION:
+ sval->w = *((SANE_Word *) value);
+ reload = SANE_TRUE;
+ break;
+
+ case OPT_BR_X:
+ case OPT_BR_Y:
+ sval->w = *((SANE_Word *) value);
+ if (SANE_UNFIX(sval->w) == 0) {
+ DBG(17, " invalid br-x or br-y\n");
+ return SANE_STATUS_INVAL;
+ }
+ /* passthru */
+ case OPT_TL_X:
+ case OPT_TL_Y:
+ sval->w = *((SANE_Word *) value);
+ if (NULL != info)
+ *info |= SANE_INFO_RELOAD_PARAMS;
+ break;
+
+ case OPT_SOURCE:
+ change_source(s, optindex, (char *) value);
+ reload = SANE_TRUE;
+ break;
+
+ case OPT_MODE:
+ {
+ /* use JPEG mode if RAW is not available when bpp > 1 */
+ if (optindex > 0 && !s->hw->has_raw) {
+ s->mode_jpeg = 1;
+ } else {
+ s->mode_jpeg = 0;
+ }
+
+ sval->w = optindex;
+
+ /* if binary, then disable the bit depth selection */
+ if (optindex == 0) {
+ s->opt[OPT_DEPTH].cap |= SANE_CAP_INACTIVE;
+ } else {
+ if (s->hw->depth_list[0] == 1)
+ s->opt[OPT_DEPTH].cap |= SANE_CAP_INACTIVE;
+ else {
+ s->opt[OPT_DEPTH].cap &= ~SANE_CAP_INACTIVE;
+ s->val[OPT_DEPTH].w =
+ mode_params[optindex].depth;
+ }
+ }
+
+ reload = SANE_TRUE;
+ break;
+ }
+
+ case OPT_DEPTH:
+ sval->w = *((SANE_Word *) value);
+ mode_params[s->val[OPT_MODE].w].depth = sval->w;
+ reload = SANE_TRUE;
+ break;
+
+ case OPT_LOAD:
+ esci2_mech(s, "#ADFLOAD");
+ break;
+
+ case OPT_EJECT:
+ esci2_mech(s, "#ADFEJCT");
+ break;
+
+ default:
+ return SANE_STATUS_INVAL;
+ }
+
+ if (reload && info != NULL)
+ *info |= SANE_INFO_RELOAD_OPTIONS | SANE_INFO_RELOAD_PARAMS;
+
+ return SANE_STATUS_GOOD;
+}
+
+SANE_Status
+sane_control_option(SANE_Handle handle, SANE_Int option, SANE_Action action,
+ void *value, SANE_Int *info)
+{
+ DBG(17, "** %s: action = %x, option = %d\n", __func__, action, option);
+
+ if (option < 0 || option >= NUM_OPTIONS)
+ return SANE_STATUS_INVAL;
+
+ if (info != NULL)
+ *info = 0;
+
+ switch (action) {
+ case SANE_ACTION_GET_VALUE:
+ return getvalue(handle, option, value);
+
+ case SANE_ACTION_SET_VALUE:
+ return setvalue(handle, option, value, info);
+
+ default:
+ return SANE_STATUS_INVAL;
+ }
+
+ return SANE_STATUS_INVAL;
+}
+
+SANE_Status
+sane_get_parameters(SANE_Handle handle, SANE_Parameters *params)
+{
+ epsonds_scanner *s = (epsonds_scanner *)handle;
+
+ DBG(5, "** %s\n", __func__);
+
+ if (params == NULL)
+ DBG(1, "%s: params is NULL\n", __func__);
+
+ /*
+ * If sane_start was already called, then just retrieve the parameters
+ * from the scanner data structure
+ */
+ if (s->scanning) {
+ DBG(5, "scan in progress, returning saved params structure\n");
+ } else {
+ /* otherwise initialize the params structure */
+ eds_init_parameters(s);
+ }
+
+ if (params != NULL)
+ *params = s->params;
+
+ print_params(s->params);
+
+ return SANE_STATUS_GOOD;
+}
+
+/*
+ * This function is part of the SANE API and gets called from the front end to
+ * start the scan process.
+ */
+
+SANE_Status
+sane_start(SANE_Handle handle)
+{
+ epsonds_scanner *s = (epsonds_scanner *)handle;
+ char buf[64];
+ SANE_Status status = 0;
+
+ s->pages++;
+
+ DBG(5, "** %s, pages = %d, scanning = %d, backside = %d, front fill: %d, back fill: %d\n",
+ __func__, s->pages, s->scanning, s->backside,
+ eds_ring_avail(&s->front),
+ eds_ring_avail(&s->back));
+
+ s->eof = 0;
+ s->canceling = 0;
+
+ if ((s->pages % 2) == 1) {
+ s->current = &s->front;
+ eds_ring_flush(s->current);
+ } else if (eds_ring_avail(&s->back)) {
+ DBG(5, "back side\n");
+ s->current = &s->back;
+ }
+
+ /* prepare the JPEG decompressor */
+ if (s->mode_jpeg) {
+ status = eds_jpeg_start(s);
+ if (status != SANE_STATUS_GOOD) {
+ goto end;
+ } }
+
+ /* scan already in progress? (one pass adf) */
+ if (s->scanning) {
+ DBG(5, " scan in progress, returning early\n");
+ return SANE_STATUS_GOOD;
+ }
+
+ /* calc scanning parameters */
+ status = eds_init_parameters(s);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, " parameters initialization failed\n");
+ return status;
+ }
+
+ /* allocate line buffer */
+ s->line_buffer = realloc(s->line_buffer, s->params.bytes_per_line);
+ if (s->line_buffer == NULL)
+ return SANE_STATUS_NO_MEM;
+
+ /* ring buffer for front page, twice bsz */
+ /* XXX read value from scanner */
+ status = eds_ring_init(&s->front, (65536 * 4) * 2);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+
+ /* transfer buffer, bsz */
+ /* XXX read value from scanner */
+ s->buf = realloc(s->buf, 65536 * 4);
+ if (s->buf == NULL)
+ return SANE_STATUS_NO_MEM;
+
+ print_params(s->params);
+
+ /* set scanning parameters */
+
+ char cmd[100]; /* take care not to overflow */
+
+ /* document source */
+ if (strcmp(source_list[s->val[OPT_SOURCE].w], ADF_STR) == 0) {
+
+ sprintf(buf, "#ADF%s%s",
+ s->val[OPT_ADF_MODE].w ? "DPLX" : "",
+ s->val[OPT_ADF_SKEW].w ? "SKEW" : "");
+
+ } else if (strcmp(source_list[s->val[OPT_SOURCE].w], FBF_STR) == 0) {
+
+ strcpy(buf, "#FB ");
+
+ } else {
+ /* XXX */
+ }
+
+ strcpy(cmd, buf);
+
+ if (s->params.format == SANE_FRAME_GRAY) {
+ sprintf(buf, "#COLM%03d", s->params.depth);
+ } else if (s->params.format == SANE_FRAME_RGB) {
+ sprintf(buf, "#COLC%03d", s->params.depth * 3);
+ }
+
+ strcat(cmd, buf);
+
+ /* image transfer format */
+ if (!s->mode_jpeg) {
+ if (s->params.depth > 1 || s->hw->has_raw) {
+ strcat(cmd, "#FMTRAW ");
+ }
+ } else {
+ strcat(cmd, "#FMTJPG #JPGd090");
+ }
+
+ /* resolution (RSMi not always supported) */
+
+ if (s->val[OPT_RESOLUTION].w > 999) {
+ sprintf(buf, "#RSMi%07d", s->val[OPT_RESOLUTION].w);
+ } else {
+ sprintf(buf, "#RSMd%03d", s->val[OPT_RESOLUTION].w);
+ }
+
+ strcat(cmd, buf);
+
+ /* scanning area */
+ sprintf(buf, "#ACQi%07di%07di%07di%07d",
+ s->left, s->top, s->params.pixels_per_line, s->params.lines);
+
+ strcat(cmd, buf);
+
+ status = esci2_para(s, cmd);
+ if (status != SANE_STATUS_GOOD) {
+ goto end;
+ }
+
+ /* start scanning */
+ DBG(1, "%s: scanning...\n", __func__);
+
+ /* switch to data state */
+ status = esci2_trdt(s);
+ if (status != SANE_STATUS_GOOD) {
+ goto end;
+ }
+
+ /* first page is page 1 */
+ s->pages = 1;
+ s->scanning = 1;
+
+end:
+ if (status != SANE_STATUS_GOOD) {
+ DBG(1, "%s: start failed: %s\n", __func__, sane_strstatus(status));
+ }
+
+ return status;
+}
+
+/* this moves data from our buffers to SANE */
+
+SANE_Status
+sane_read(SANE_Handle handle, SANE_Byte *data, SANE_Int max_length,
+ SANE_Int *length)
+{
+ SANE_Int read = 0, tries = 3;
+ SANE_Status status = 0;
+ epsonds_scanner *s = (epsonds_scanner *)handle;
+
+ *length = read = 0;
+
+ DBG(20, "** %s: backside = %d\n", __func__, s->backside);
+
+ /* sane_read called before sane_start? */
+ if (s->current == NULL) {
+ DBG(0, "%s: buffer is NULL", __func__);
+ return SANE_STATUS_INVAL;
+ }
+
+ /* anything in the buffer? pass it to the frontend */
+ SANE_Int available = eds_ring_avail(s->current);
+ if (available) {
+
+ DBG(18, "reading from ring buffer, %d left\n", available);
+
+ if (s->mode_jpeg && !s->jpeg_header_seen) {
+
+ status = eds_jpeg_read_header(s);
+ if (status != SANE_STATUS_GOOD && --tries) {
+ goto read_again;
+ }
+ }
+
+ if (s->mode_jpeg) {
+ eds_jpeg_read(handle, data, max_length, &read);
+ } else {
+ eds_copy_image_from_ring(s, data, max_length, &read);
+ }
+
+ if (read == 0) {
+ goto read_again;
+ }
+
+ *length = read;
+
+ return SANE_STATUS_GOOD;
+
+
+ } else if (s->current == &s->back) {
+
+ /* finished reading the back page, next
+ * command should give us the EOF
+ */
+ DBG(18, "back side ring buffer empty\n");
+ }
+
+ /* read until data or error */
+
+read_again:
+
+ status = esci2_img(s, &read);
+ if (status != SANE_STATUS_GOOD) {
+ DBG(20, "read: %d, eof: %d, backside: %d, status: %d\n", read, s->eof, s->backside, status);
+ }
+
+ /* just got a back side page, alloc ring buffer if necessary
+ * we didn't before because dummy was not known
+ */
+ if (s->backside) {
+
+ int required = s->params.lines * (s->params.bytes_per_line + s->dummy);
+
+ if (s->back.size < required) {
+
+ DBG(20, "allocating buffer for the back side\n");
+
+ status = eds_ring_init(&s->back, required);
+ if (status != SANE_STATUS_GOOD) {
+ return status;
+ }
+ }
+ }
+
+ /* abort scanning when appropriate */
+ if (status == SANE_STATUS_CANCELLED) {
+ esci2_can(s);
+ return status;
+ }
+
+ if (s->eof && s->backside) {
+ DBG(18, "back side scan finished\n");
+ }
+
+ /* read again if no error and no data */
+ if (read == 0 && status == SANE_STATUS_GOOD) {
+ goto read_again;
+ }
+
+ /* got something, write to ring */
+ if (read) {
+
+ DBG(20, " %d bytes read, %d lines, eof: %d, canceling: %d, status: %d, backside: %d\n",
+ read, read / (s->params.bytes_per_line + s->dummy),
+ s->canceling, s->eof, status, s->backside);
+
+ /* move data to the appropriate ring */
+ status = eds_ring_write(s->backside ? &s->back : &s->front, s->buf, read);
+
+ if (0 && s->mode_jpeg && !s->jpeg_header_seen
+ && status == SANE_STATUS_GOOD) {
+
+ status = eds_jpeg_read_header(s);
+ if (status != SANE_STATUS_GOOD && --tries) {
+ goto read_again;
+ }
+ }
+ }
+
+ /* continue reading if appropriate */
+ if (status == SANE_STATUS_GOOD)
+ return status;
+
+ /* cleanup */
+ DBG(5, "** %s: cleaning up\n", __func__);
+
+ if (s->mode_jpeg) {
+ eds_jpeg_finish(s);
+ }
+
+ eds_ring_flush(s->current);
+
+ return status;
+}
+
+/*
+ * void sane_cancel(SANE_Handle handle)
+ *
+ * Set the cancel flag to true. The next time the backend requests data
+ * from the scanner the CAN message will be sent.
+ */
+
+void
+sane_cancel(SANE_Handle handle)
+{
+ DBG(1, "** %s\n", __func__);
+ ((epsonds_scanner *)handle)->canceling = SANE_TRUE;
+}
+
+/*
+ * SANE_Status sane_set_io_mode()
+ *
+ * not supported - for asynchronous I/O
+ */
+
+SANE_Status
+sane_set_io_mode(SANE_Handle __sane_unused__ handle,
+ SANE_Bool __sane_unused__ non_blocking)
+{
+ return SANE_STATUS_UNSUPPORTED;
+}
+
+/*
+ * SANE_Status sane_get_select_fd()
+ *
+ * not supported - for asynchronous I/O
+ */
+
+SANE_Status
+sane_get_select_fd(SANE_Handle __sane_unused__ handle,
+ SANE_Int __sane_unused__ *fd)
+{
+ return SANE_STATUS_UNSUPPORTED;
+}
diff --git a/backend/epsonds.conf.in b/backend/epsonds.conf.in
new file mode 100644
index 0000000..bd032f3
--- /dev/null
+++ b/backend/epsonds.conf.in
@@ -0,0 +1,12 @@
+# epsonds.conf
+#
+# here are some examples for how to configure the epsonds backend
+
+# USB
+usb
+
+# For libusb support for unknown scanners use the following command
+# usb <product ID> <device ID>
+# e.g.:
+# usb 0x4b8 0x14c
+
diff --git a/backend/epsonds.h b/backend/epsonds.h
new file mode 100644
index 0000000..2c2e422
--- /dev/null
+++ b/backend/epsonds.h
@@ -0,0 +1,198 @@
+/*
+ * epsonds.c - Epson ESC/I-2 driver.
+ *
+ * Copyright (C) 2015 Tower Technologies
+ * Author: Alessandro Zummo <a.zummo@towertech.it>
+ *
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2.
+ */
+
+#ifndef epsonds_h
+#define epsonds_h
+
+#undef BACKEND_NAME
+#define BACKEND_NAME epsonds
+#define DEBUG_NOT_STATIC
+
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#ifdef HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef NEED_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+#include <string.h> /* for memset and memcpy */
+#include <stdio.h>
+
+#include "sane/sane.h"
+#include "sane/sanei_backend.h"
+#include "sane/sanei_debug.h"
+#include "sane/sanei_usb.h"
+#include "sane/sanei_jpeg.h"
+
+#ifdef __GNUC__
+#define __func__ __FUNCTION__
+#else
+#define __func__ "(undef)"
+/* I cast my vote for C99... :) */
+#endif
+
+#define EPSONDS_CONFIG_FILE "epsonds.conf"
+
+#ifndef PATH_MAX
+#define PATH_MAX (1024)
+#endif
+
+#ifndef XtNumber
+#define XtNumber(x) (sizeof(x) / sizeof(x[0]))
+#define XtOffset(p_type, field) ((size_t)&(((p_type)NULL)->field))
+#define XtOffsetOf(s_type, field) XtOffset(s_type*, field)
+#endif
+
+#define ACK 0x06
+#define NAK 0x15
+#define FS 0x1C
+
+#define FBF_STR SANE_I18N("Flatbed")
+#define TPU_STR SANE_I18N("Transparency Unit")
+#define ADF_STR SANE_I18N("Automatic Document Feeder")
+
+enum {
+ OPT_NUM_OPTS = 0,
+ OPT_MODE_GROUP,
+ OPT_MODE,
+ OPT_DEPTH,
+ OPT_RESOLUTION,
+ OPT_GEOMETRY_GROUP,
+ OPT_TL_X,
+ OPT_TL_Y,
+ OPT_BR_X,
+ OPT_BR_Y,
+ OPT_EQU_GROUP,
+ OPT_SOURCE,
+ OPT_EJECT,
+ OPT_LOAD,
+ OPT_ADF_MODE,
+ OPT_ADF_SKEW,
+ NUM_OPTIONS
+};
+
+typedef enum
+{ /* hardware connection to the scanner */
+ SANE_EPSONDS_NODEV, /* default, no HW specified yet */
+ SANE_EPSONDS_USB, /* USB interface */
+ SANE_EPSONDS_NET /* network interface (unsupported)*/
+} epsonds_conn_type;
+
+/* hardware description */
+
+struct epsonds_device
+{
+ struct epsonds_device *next;
+
+ epsonds_conn_type connection;
+
+ char *name;
+ char *model;
+
+ unsigned int model_id;
+
+ SANE_Device sane;
+ SANE_Range *x_range;
+ SANE_Range *y_range;
+ SANE_Range dpi_range;
+ SANE_Byte alignment;
+
+
+ SANE_Int *res_list; /* list of resolutions */
+ SANE_Int *depth_list;
+ SANE_Int max_depth; /* max. color depth */
+
+ SANE_Bool has_raw; /* supports RAW format */
+
+ SANE_Bool has_fb; /* flatbed */
+ SANE_Range fbf_x_range; /* x range */
+ SANE_Range fbf_y_range; /* y range */
+ SANE_Byte fbf_alignment; /* left, center, right */
+ SANE_Bool fbf_has_skew; /* supports skew correction */
+
+ SANE_Bool has_adf; /* adf */
+ SANE_Range adf_x_range; /* x range */
+ SANE_Range adf_y_range; /* y range */
+ SANE_Bool adf_is_duplex; /* supports duplex mode */
+ SANE_Bool adf_singlepass; /* supports single pass duplex */
+ SANE_Bool adf_has_skew; /* supports skew correction */
+ SANE_Bool adf_has_load; /* supports load command */
+ SANE_Bool adf_has_eject; /* supports eject command */
+ SANE_Byte adf_alignment; /* left, center, right */
+
+ SANE_Bool has_tpu; /* tpu */
+ SANE_Range tpu_x_range; /* transparency unit x range */
+ SANE_Range tpu_y_range; /* transparency unit y range */
+};
+
+typedef struct epsonds_device epsonds_device;
+
+typedef struct ring_buffer
+{
+ SANE_Byte *ring, *wp, *rp, *end;
+ SANE_Int fill, size;
+
+} ring_buffer;
+
+/* an instance of a scanner */
+
+struct epsonds_scanner
+{
+ struct epsonds_scanner *next;
+ struct epsonds_device *hw;
+
+ int fd;
+
+ SANE_Option_Descriptor opt[NUM_OPTIONS];
+ Option_Value val[NUM_OPTIONS];
+ SANE_Parameters params;
+
+ SANE_Byte *buf, *line_buffer;
+ ring_buffer *current, front, back;
+
+ SANE_Bool eof, scanning, canceling, locked, backside, mode_jpeg;
+
+ SANE_Int left, top, pages, dummy;
+
+ /* jpeg stuff */
+
+ djpeg_dest_ptr jdst;
+ struct jpeg_decompress_struct jpeg_cinfo;
+ struct jpeg_error_mgr jpeg_err;
+ SANE_Bool jpeg_header_seen;
+};
+
+typedef struct epsonds_scanner epsonds_scanner;
+
+struct mode_param
+{
+ int color;
+ int flags;
+ int dropout_mask;
+ int depth;
+};
+
+enum {
+ MODE_BINARY, MODE_GRAY, MODE_COLOR
+};
+
+#endif
diff --git a/backend/genesys.c b/backend/genesys.c
index 913a048..548d0da 100644
--- a/backend/genesys.c
+++ b/backend/genesys.c
@@ -58,7 +58,7 @@
* SANE backend for Genesys Logic GL646/GL841/GL842/GL843/GL846/GL847/GL124 based scanners
*/
-#define BUILD 2504
+#define BUILD 2506
#define BACKEND_NAME genesys
#include "genesys.h"
@@ -157,6 +157,15 @@ static const SANE_Range enhance_range = {
1 /* quantization */
};
+/**
+ * range for expiration time
+ */
+static const SANE_Range expiration_range = {
+ -1, /* minimum */
+ 30000, /* maximum */
+ 1 /* quantization */
+};
+
void
sanei_genesys_init_structs (Genesys_Device * dev)
{
@@ -3044,11 +3053,15 @@ genesys_send_shading_coefficient (Genesys_Device * dev)
case CIS_CANONLIDE100:
case CIS_CANONLIDE200:
case CIS_CANONLIDE110:
+ case CIS_CANONLIDE120:
case CIS_CANONLIDE210:
+ case CIS_CANONLIDE220:
/* TODO store this in a data struct so we avoid
* growing this switch */
if(dev->model->ccd_type!=CIS_CANONLIDE110
- && dev->model->ccd_type!=CIS_CANONLIDE210)
+ && dev->model->ccd_type!=CIS_CANONLIDE210
+ && dev->model->ccd_type!=CIS_CANONLIDE120
+ && dev->model->ccd_type!=CIS_CANONLIDE220)
target_code=0xdc00;
else
target_code=0xf000;
@@ -5307,6 +5320,9 @@ calc_parameters (Genesys_Scanner * s)
s->dev->settings.brightness=0;
}
+ /* cache expiration time */
+ s->dev->settings.expiration_time=s->val[OPT_EXPIRATION_TIME].w;
+
return status;
}
@@ -5895,6 +5911,17 @@ init_options (Genesys_Scanner * s)
}
#endif
+ /* expiration time for calibration cache entries */
+ s->opt[OPT_EXPIRATION_TIME].name = "expiration-time";
+ s->opt[OPT_EXPIRATION_TIME].title = SANE_I18N ("Calibration cache expiration time");
+ s->opt[OPT_EXPIRATION_TIME].desc = SANE_I18N ("Time (in minutes) before a cached calibration expires."
+ "A value of 0 means cache is not used used. A negative value means cache never expires.");
+ s->opt[OPT_EXPIRATION_TIME].type = SANE_TYPE_INT;
+ s->opt[OPT_EXPIRATION_TIME].unit = SANE_UNIT_NONE;
+ s->opt[OPT_EXPIRATION_TIME].constraint_type = SANE_CONSTRAINT_RANGE;
+ s->opt[OPT_EXPIRATION_TIME].constraint.range = &expiration_range;
+ s->val[OPT_EXPIRATION_TIME].w = 60; /* 60 minutes by default */
+
/* Powersave time (turn lamp off) */
s->opt[OPT_LAMP_OFF_TIME].name = "lamp-off-time";
s->opt[OPT_LAMP_OFF_TIME].title = SANE_I18N ("Lamp off time");
@@ -6915,8 +6942,8 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle)
tmpstr=calibration_filename(s->dev);
s->val[OPT_CALIBRATION_FILE].s = strdup (tmpstr);
s->dev->calib_file = strdup (tmpstr);
- DBG (DBG_info, "Calibration filename set to:\n");
- DBG (DBG_info, ">%s<\n", s->dev->calib_file);
+ DBG (DBG_info, "%s: Calibration filename set to:\n", __FUNCTION__);
+ DBG (DBG_info, "%s: >%s<\n", __FUNCTION__, s->dev->calib_file);
free(tmpstr);
/* now open file, fetch calibration records */
@@ -7193,37 +7220,35 @@ static SANE_Status set_calibration_value (Genesys_Scanner * s, int option, void
{
SANE_Status status=SANE_STATUS_GOOD;
char *tmp;
- Genesys_Calibration_Cache *cache;
Genesys_Device *dev=s->dev;
+ DBGSTART;
+
/* try to load file */
tmp=dev->calib_file;
dev->calib_file=val;
status=sanei_genesys_read_calibration (dev);
- /* file exists but is invalid */
+ /* file exists but is invalid, so fall back to previous cache file
+ * an re-read it */
if (status!=SANE_STATUS_IO_ERROR && status!=SANE_STATUS_GOOD)
{
dev->calib_file=tmp;
+ status=sanei_genesys_read_calibration (dev);
return status;
}
- /* we can set no file name value */
+ /* now we can set file name value */
if (s->val[option].s)
free (s->val[option].s);
s->val[option].s = strdup (val);
if (tmp)
free (tmp);
dev->calib_file = strdup (val);
+ DBG (DBG_info, "%s: Calibration filename set to:\n", __FUNCTION__);
+ DBG (DBG_info, "%s: >%s<\n", __FUNCTION__, s->dev->calib_file);
- /* clear device calibration cache */
- while(dev->calibration_cache!=NULL)
- {
- cache=dev->calibration_cache;
- dev->calibration_cache=dev->calibration_cache->next;
- free(cache);
- }
-
+ DBGCOMPLETED;
return SANE_STATUS_GOOD;
}
@@ -7418,6 +7443,7 @@ set_option_value (Genesys_Scanner * s, int option, void *val,
RIE(set_calibration_value (s, option, val));
break;
case OPT_LAMP_OFF_TIME:
+ case OPT_EXPIRATION_TIME:
if (*(SANE_Word *) val != s->val[option].w)
{
s->val[option].w = *(SANE_Word *) val;
diff --git a/backend/genesys.conf.in b/backend/genesys.conf.in
index 5300787..7899455 100644
--- a/backend/genesys.conf.in
+++ b/backend/genesys.conf.in
@@ -60,6 +60,12 @@ usb 0x04a9 0x1907
# Canon LiDE 210
usb 0x04a9 0x190a
+# Canon LiDE 120
+usb 0x04a9 0x190e
+
+# Canon LiDE 220
+usb 0x04a9 0x190f
+
# Canon 5600f
usb 0x04a9 0x1906
diff --git a/backend/genesys.h b/backend/genesys.h
index fea3f3b..eab92bb 100644
--- a/backend/genesys.h
+++ b/backend/genesys.h
@@ -120,6 +120,7 @@ enum Genesys_Option
OPT_DISABLE_INTERPOLATION,
OPT_COLOR_FILTER,
OPT_CALIBRATION_FILE,
+ OPT_EXPIRATION_TIME,
OPT_SENSOR_GROUP,
OPT_SCAN_SW,
diff --git a/backend/genesys_devices.c b/backend/genesys_devices.c
index 213b9c9..4358e94 100644
--- a/backend/genesys_devices.c
+++ b/backend/genesys_devices.c
@@ -660,6 +660,30 @@ static Genesys_Sensor Sensor[] = {
{2.1, 2.1, 2.1},
{NULL, NULL, NULL}}
,
+
+ /* CANONLIDE120 */
+ {CIS_CANONLIDE120,
+ 2400, /* optical resolution */
+ 87, /* black pixels */
+ 16, /* dummy pixels 16 */
+ 303, /* 303 */
+ 5168*4, /* total pixels */
+ 210,
+ 200,
+ {0x00, 0x00, 0x00, 0x00},
+ /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* reg 0x16 - 0x1d */
+ 0x10, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 },
+ /* reg 0x52 - 0x5e */
+ {
+ 0x00, 0x02, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04,
+ 0x1a, 0x00, 0xc0, 0x00, 0x00
+ }
+ ,
+ {2.1, 2.1, 2.1},
+ {NULL, NULL, NULL}}
+ ,
/* CANON LIDE 210 sensor */
{CIS_CANONLIDE210,
2400, /* optical resolution */
@@ -683,6 +707,29 @@ static Genesys_Sensor Sensor[] = {
{2.1, 2.1, 2.1},
{NULL, NULL, NULL}}
,
+ /* CANON LIDE 220 sensor */
+ {CIS_CANONLIDE220,
+ 2400, /* optical resolution */
+ 87, /* black pixels */
+ 16, /* dummy pixels 16 */
+ 303, /* 303 */
+ 5168*4, /* total pixels */
+ 210,
+ 200,
+ {0x00, 0x00, 0x00, 0x00},
+ /* reg 0x10 - 0x15 : EXPR, EXPG and EXPB */
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ /* reg 0x16 - 0x1d */
+ 0x10, 0x04, 0x00, 0x01, 0x30, 0x00, 0x02, 0x01 },
+ /* reg 0x52 - 0x5e */
+ {
+ 0x00, 0x02, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04,
+ 0x1a, 0x00, 0xc0, 0x00, 0x00
+ }
+ ,
+ {2.1, 2.1, 2.1},
+ {NULL, NULL, NULL}}
+ ,
{CCD_PLUSTEK_3600,
1200,
87, /*(black) */
@@ -1854,6 +1901,59 @@ static Genesys_Model canon_lide_110_model = {
400
};
+static Genesys_Model canon_lide_120_model = {
+ "canon-lide-120", /* Name */
+ "Canon", /* Device vendor string */
+ "LiDE 120", /* Device model name */
+ GENESYS_GL124,
+ NULL,
+
+ {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */
+ {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */
+ {16, 8, 0}, /* possible depths in gray mode */
+ {16, 8, 0}, /* possible depths in color mode */
+
+ SANE_FIX (2.2), /* Start of scan area in mm (x) */
+ SANE_FIX (9.0), /* Start of scan area in mm (y) */
+ SANE_FIX (216.70), /* Size of scan area in mm (x) */
+ SANE_FIX (300.0), /* Size of scan area in mm (y) */
+
+ SANE_FIX (1.0), /* Start of white strip in mm (y) */
+ SANE_FIX (0.0), /* Start of black mark in mm (x) */
+
+ SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */
+ SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */
+ SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */
+ SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */
+
+ SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */
+
+ SANE_FIX (0.0), /* Size of scan area after paper sensor stops
+ sensing document in mm */
+ SANE_FIX (0.0), /* Amount of feeding needed to eject document
+ after finishing scanning in mm */
+
+ 0, 0, 0, /* RGB CCD Line-distance correction in pixel */
+
+ COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
+
+ SANE_TRUE, /* Is this a CIS scanner? */
+ SANE_FALSE, /* Is this a sheetfed scanner? */
+ CIS_CANONLIDE120,
+ DAC_CANONLIDE110,
+ GPO_CANONLIDE110,
+ MOTOR_CANONLIDE110,
+ GENESYS_FLAG_SKIP_WARMUP
+ | GENESYS_FLAG_OFFSET_CALIBRATION
+ | GENESYS_FLAG_DARK_CALIBRATION
+ | GENESYS_FLAG_HALF_CCD_MODE
+ | GENESYS_FLAG_SHADING_REPARK
+ | GENESYS_FLAG_CUSTOM_GAMMA,
+ GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
+ 50,
+ 400
+};
+
static Genesys_Model canon_lide_210_model = {
"canon-lide-210", /* Name */
@@ -1908,6 +2008,59 @@ static Genesys_Model canon_lide_210_model = {
400
};
+static Genesys_Model canon_lide_220_model = {
+ "canon-lide-220", /* Name */
+ "Canon", /* Device vendor string */
+ "LiDE 220", /* Device model name */
+ GENESYS_GL124, /* or a compatible one */
+ NULL,
+
+ {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible x-resolutions */
+ {4800, 2400, 1200, 600, 300, 150, 100, 75, 0}, /* possible y-resolutions */
+ {16, 8, 0}, /* possible depths in gray mode */
+ {16, 8, 0}, /* possible depths in color mode */
+
+ SANE_FIX (2.2), /* Start of scan area in mm (x) */
+ SANE_FIX (8.7), /* Start of scan area in mm (y) */
+ SANE_FIX (216.70), /* Size of scan area in mm (x) */
+ SANE_FIX (297.5), /* Size of scan area in mm (y) */
+
+ SANE_FIX (0.0), /* Start of white strip in mm (y) */
+ SANE_FIX (0.0), /* Start of black mark in mm (x) */
+
+ SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */
+ SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */
+ SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */
+ SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */
+
+ SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */
+
+ SANE_FIX (0.0), /* Size of scan area after paper sensor stops
+ sensing document in mm */
+ SANE_FIX (0.0), /* Amount of feeding needed to eject document
+ after finishing scanning in mm */
+
+ 0, 0, 0, /* RGB CCD Line-distance correction in pixel */
+
+ COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
+
+ SANE_TRUE, /* Is this a CIS scanner? */
+ SANE_FALSE, /* Is this a sheetfed scanner? */
+ CIS_CANONLIDE220,
+ DAC_CANONLIDE110,
+ GPO_CANONLIDE210,
+ MOTOR_CANONLIDE210,
+ GENESYS_FLAG_SKIP_WARMUP
+ | GENESYS_FLAG_OFFSET_CALIBRATION
+ | GENESYS_FLAG_DARK_CALIBRATION
+ | GENESYS_FLAG_HALF_CCD_MODE
+ | GENESYS_FLAG_SHADING_REPARK
+ | GENESYS_FLAG_CUSTOM_GAMMA,
+ GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW | GENESYS_HAS_EXTRA_SW,
+ 60,
+ 400
+};
+
static Genesys_Model canon_5600f_model = {
"canon-5600f", /* Name */
"Canon", /* Device vendor string */
@@ -3507,7 +3660,9 @@ static Genesys_USB_Device_Entry genesys_usb_device_list[] = {
{0x03f0, 0x4705, &hpn6310_model},
/* GL124 devices */
{0x04a9, 0x1909, &canon_lide_110_model},
+ {0x04a9, 0x190e, &canon_lide_120_model},
{0x04a9, 0x190a, &canon_lide_210_model},
+ {0x04a9, 0x190f, &canon_lide_220_model},
{0, 0, NULL}
};
diff --git a/backend/genesys_gl124.c b/backend/genesys_gl124.c
index 86aa4ee..eaac873 100644
--- a/backend/genesys_gl124.c
+++ b/backend/genesys_gl124.c
@@ -852,7 +852,7 @@ gl124_init_motor_regs_scan (Genesys_Device * dev,
}
else
{
- min_speed = 600;
+ min_speed = 900;
if(dev->model->ccd_type==MOTOR_CANONLIDE110)
{
min_speed = 300;
@@ -2108,6 +2108,17 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home)
return SANE_STATUS_GOOD;
}
+ /* feed a little first */
+ if (strcmp (dev->model->name, "canon-lide-210") == 0)
+ {
+ status = gl124_feed (dev, 20, SANE_TRUE);
+ if (status != SANE_STATUS_GOOD)
+ {
+ DBG (DBG_error, "%s: failed to do initial feed: %s\n", __FUNCTION__, sane_strstatus (status));
+ return status;
+ }
+ }
+
memcpy (local_reg, dev->reg, GENESYS_GL124_MAX_REGS * sizeof (Genesys_Register_Set));
resolution=sanei_genesys_get_lowest_dpi(dev);
@@ -2202,12 +2213,13 @@ gl124_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home)
/** @brief moves the slider to steps at motor base dpi
* @param dev device to work on
* @param steps number of steps to move
+ * @param reverse true is moving backward
* */
#ifndef UNIT_TESTING
static
#endif
SANE_Status
-gl124_feed (Genesys_Device * dev, unsigned int steps)
+gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse)
{
Genesys_Register_Set local_reg[GENESYS_GL124_MAX_REGS];
SANE_Status status;
@@ -2242,9 +2254,7 @@ gl124_feed (Genesys_Device * dev, unsigned int steps)
SCAN_FLAG_IGNORE_LINE_DISTANCE);
if (status != SANE_STATUS_GOOD)
{
- DBG (DBG_error,
- "gl124_feed: failed to set up registers: %s\n",
- sane_strstatus (status));
+ DBG (DBG_error, "%s: failed to set up registers: %s\n", __FUNCTION__, sane_strstatus (status));
DBGCOMPLETED;
return status;
}
@@ -2262,6 +2272,13 @@ gl124_feed (Genesys_Device * dev, unsigned int steps)
r = sanei_genesys_get_address (local_reg, REG01);
r->value &= ~REG01_SCAN;
+ /* set up for reverse if needed */
+ if(reverse)
+ {
+ r = sanei_genesys_get_address (local_reg, REG02);
+ r->value |= REG02_MTRREV;
+ }
+
/* send registers */
RIE (dev->model->cmd_set->bulk_write_register (dev, local_reg, GENESYS_GL124_MAX_REGS));
@@ -2653,7 +2670,7 @@ gl124_init_regs_for_scan (Genesys_Device * dev)
if(channels*dev->settings.yres>=600 && move>700)
{
- status = gl124_feed (dev, move-500);
+ status = gl124_feed (dev, move-500, SANE_FALSE);
if (status != SANE_STATUS_GOOD)
{
DBG (DBG_error, "%s: failed to move to scan area\n",__FUNCTION__);
@@ -3511,12 +3528,13 @@ gl124_init_gpio (Genesys_Device * dev)
DBGSTART;
/* per model GPIO layout */
- if (strcmp (dev->model->name, "canon-lide-110") == 0)
+ if ((strcmp (dev->model->name, "canon-lide-110") == 0)
+ ||(strcmp (dev->model->name, "canon-lide-120") == 0))
{
idx = 0;
}
else
- { /* canon LiDE 210 case */
+ { /* canon LiDE 210 and 220 case */
idx = 1;
}
@@ -3544,12 +3562,13 @@ gl124_init_memory_layout (Genesys_Device * dev)
DBGSTART;
/* point to per model memory layout */
- if (strcmp (dev->model->name, "canon-lide-110") == 0)
+ if ((strcmp (dev->model->name, "canon-lide-110") == 0)
+ ||(strcmp (dev->model->name, "canon-lide-120") == 0))
{
idx = 0;
}
else
- { /* canon LiDE 210 case */
+ { /* canon LiDE 210 and 220 case */
idx = 1;
}
diff --git a/backend/genesys_gl124.h b/backend/genesys_gl124.h
index 8b9998a..ae8016c 100644
--- a/backend/genesys_gl124.h
+++ b/backend/genesys_gl124.h
@@ -620,11 +620,23 @@ static Sensor_Profile sensors[]={
{CIS_CANONLIDE110, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22},
{CIS_CANONLIDE110, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24},
+ /* LiDE 120 */
+ {CIS_CANONLIDE120, 600, 1, 2768, 0x0f, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21},
+ {CIS_CANONLIDE120, 600, 0, 5360, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21},
+ {CIS_CANONLIDE120, 1200, 0, 10528, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22},
+ {CIS_CANONLIDE120, 2400, 0, 20864, 0x0f, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24},
+
/* LiDE 210 */
{CIS_CANONLIDE210, 600, 1, 2768, 0x1e, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21},
{CIS_CANONLIDE210, 600, 0, 5360, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21},
{CIS_CANONLIDE210, 1200, 0, 10528, 0x1e, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22},
{CIS_CANONLIDE210, 2400, 0, 20864, 0x1e, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24},
+
+ /* LiDE 220 */
+ {CIS_CANONLIDE220, 600, 1, 2768, 0x0f, 0x9f, 0x55, 2584, 154, 101, 388, 574, 393, NULL , 0x00, 0x0c, 0x20, 0x21},
+ {CIS_CANONLIDE220, 600, 0, 5360, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, NULL , 0x00, 0x0a, 0x20, 0x21},
+ {CIS_CANONLIDE220, 1200, 0, 10528, 0x0f, 0x9f, 0x55, 5168, 163, 101, 388, 574, 393, order_01 , 0x00, 0x08, 0x20, 0x22},
+ {CIS_CANONLIDE220, 2400, 0, 20864, 0x0f, 0x9f, 0x55, 5168, 163, 4679, 6839, 8401, 6859, order_0213, 0x00, 0x06, 0x20, 0x24},
};
@@ -704,7 +716,7 @@ SANE_Status gl124_send_shading_data (Genesys_Device * dev, uint8_t * data, int s
#ifndef UNIT_TESTING
static
#endif
-SANE_Status gl124_feed (Genesys_Device * dev, unsigned int steps);
+SANE_Status gl124_feed (Genesys_Device * dev, unsigned int steps, int reverse);
GENESYS_STATIC SANE_Status
gl124_stop_action (Genesys_Device * dev);
diff --git a/backend/genesys_low.c b/backend/genesys_low.c
index 63420e4..0af2149 100644
--- a/backend/genesys_low.c
+++ b/backend/genesys_low.c
@@ -1437,6 +1437,7 @@ sanei_genesys_wait_for_home (Genesys_Device * dev)
SANE_Status status;
uint8_t val;
int loop;
+ int max=300;
DBGSTART;
@@ -1492,7 +1493,14 @@ sanei_genesys_wait_for_home (Genesys_Device * dev)
}
++loop;
}
- while (loop < 300 && !(val & HOMESNR) && status == SANE_STATUS_GOOD);
+ while (loop < max && !(val & HOMESNR) && status == SANE_STATUS_GOOD);
+
+ /* if after the timeout, head is still not parked, error out */
+ if(loop >= max && !(val & HOMESNR) && status == SANE_STATUS_GOOD)
+ {
+ DBG (DBG_error, "%s: failed to reach park position %ds\n", __FUNCTION__, max/10);
+ return SANE_STATUS_IO_ERROR;
+ }
DBGCOMPLETED;
return status;
@@ -1755,7 +1763,11 @@ int sanei_genesys_get_lowest_dpi(Genesys_Device *dev)
/** @brief check is a cache entry may be used
* Compares current settings with the cache entry and return
* SANE_TRUE if they are compatible.
- */
+ * A calibration cache is compatible if color mode and x dpi match the user
+ * requested scan. In the case of CIS scanners, dpi isn't a criteria.
+ * flatbed cache entries are considred too old and then expires if they
+ * are older than the expiration time option, forcing calibration at least once
+ * then given time. */
SANE_Status
sanei_genesys_is_compatible_calibration (Genesys_Device * dev,
Genesys_Calibration_Cache * cache,
@@ -1771,22 +1783,20 @@ sanei_genesys_is_compatible_calibration (Genesys_Device * dev,
if(dev->model->cmd_set->calculate_current_setup==NULL)
{
- DBG (DBG_proc,
- "sanei_genesys_is_compatible_calibration: no calculate_setup, non compatible cache\n");
+ DBG (DBG_proc, "%s: no calculate_setup, non compatible cache\n", __FUNCTION__);
return SANE_STATUS_UNSUPPORTED;
}
status = dev->model->cmd_set->calculate_current_setup (dev);
if (status != SANE_STATUS_GOOD)
{
- DBG (DBG_error,
- "sanei_genesys_is_compatible_calibration: failed to calculate current setup: %s\n",
+ DBG (DBG_error, "%s: failed to calculate current setup: %s\n", __FUNCTION__,
sane_strstatus (status));
return status;
}
dev->current_setup.scan_method = dev->settings.scan_method;
- DBG (DBG_proc, "sanei_genesys_is_compatible_calibration: checking\n");
+ DBG (DBG_proc, "%s: checking\n", __FUNCTION__);
/* a calibration cache is compatible if color mode and x dpi match the user
* requested scan. In the case of CIS scanners, dpi isn't a criteria */
@@ -1804,39 +1814,36 @@ sanei_genesys_is_compatible_calibration (Genesys_Device * dev,
resolution=sanei_genesys_compute_dpihw(dev,dev->settings.xres);
compatible = (resolution == ((int) sanei_genesys_compute_dpihw(dev,cache->used_setup.xres)));
}
+ DBG (DBG_io, "%s: after resolution check current compatible=%d\n", __FUNCTION__, compatible);
if (dev->current_setup.half_ccd != cache->used_setup.half_ccd)
{
- DBG (DBG_io,
- "sanei_genesys_is_compatible_calibration: half_ccd=%d, used=%d\n",
+ DBG (DBG_io, "%s: half_ccd=%d, used=%d\n", __FUNCTION__,
dev->current_setup.half_ccd, cache->used_setup.half_ccd);
compatible = 0;
}
if (dev->current_setup.scan_method != cache->used_setup.scan_method)
{
- DBG (DBG_io,
- "sanei_genesys_is_compatible_calibration: current method=%d, used=%d\n",
+ DBG (DBG_io, "%s: current method=%d, used=%d\n", __FUNCTION__,
dev->current_setup.scan_method, cache->used_setup.scan_method);
compatible = 0;
}
if (!compatible)
{
- DBG (DBG_proc,
- "sanei_genesys_is_compatible_calibration: completed, non compatible cache\n");
+ DBG (DBG_proc, "%s: completed, non compatible cache\n", __FUNCTION__);
return SANE_STATUS_UNSUPPORTED;
}
- /* a cache entry expires after 60 minutes for non sheetfed scanners */
+ /* a cache entry expires after afetr expiration time for non sheetfed scanners */
/* this is not taken into account when overwriting cache entries */
#ifdef HAVE_SYS_TIME_H
- if(for_overwrite == SANE_FALSE)
+ if(for_overwrite == SANE_FALSE && dev->settings.expiration_time >=0)
{
gettimeofday (&time, NULL);
- if ((time.tv_sec - cache->last_calibration > 60 * 60)
+ if ((time.tv_sec - cache->last_calibration > dev->settings.expiration_time*60)
&& (dev->model->is_sheetfed == SANE_FALSE)
&& (dev->settings.scan_method == SCAN_METHOD_FLATBED))
{
- DBG (DBG_proc,
- "sanei_genesys_is_compatible_calibration: expired entry, non compatible cache\n");
+ DBG (DBG_proc, "%s: expired entry, non compatible cache\n", __FUNCTION__);
return SANE_STATUS_UNSUPPORTED;
}
}
diff --git a/backend/genesys_low.h b/backend/genesys_low.h
index b1f29e1..b5a0a8f 100644
--- a/backend/genesys_low.h
+++ b/backend/genesys_low.h
@@ -382,6 +382,8 @@ Genesys_Color_Order;
#define CCD_PLUSTEK3800 26
#define CIS_CANONLIDE210 27
#define CIS_CANONLIDE80 28
+#define CIS_CANONLIDE220 29
+#define CIS_CANONLIDE120 30
#define GPO_UMAX 0
#define GPO_ST12 1
@@ -705,6 +707,9 @@ typedef struct
/**< value for brightness enhancement in the [-100..100] range */
int brightness;
+
+ /**< cahe entries expiration time */
+ int expiration_time;
} Genesys_Settings;
typedef struct Genesys_Current_Setup
diff --git a/backend/hp5590.c b/backend/hp5590.c
index 8db3d5e..7b1cd60 100644
--- a/backend/hp5590.c
+++ b/backend/hp5590.c
@@ -1239,6 +1239,14 @@ convert_to_rgb (struct hp5590_scanner *scanner, SANE_Byte *data, SANE_Int size)
buf[i*6+5] = ptr[2*i+bytes_per_color*2];
}
}
+
+ /* Invert pixels in case of TMA Negatives source has been selected */
+ if (scanner->source == SOURCE_TMA_NEGATIVES)
+ {
+ for (i = 0; i < bytes_per_line; i++)
+ buf[i] ^= 0xff;
+ }
+
memcpy (ptr, buf, bytes_per_line);
}
free (buf);
diff --git a/backend/pixma.c b/backend/pixma.c
index 4c7ec46..3396155 100644
--- a/backend/pixma.c
+++ b/backend/pixma.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2008 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
diff --git a/backend/pixma.h b/backend/pixma.h
index af38725..eedf74d 100644
--- a/backend/pixma.h
+++ b/backend/pixma.h
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2008 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
@@ -114,7 +114,7 @@ typedef uint32_t uint32_t;
/**@{*/
#define PIXMA_VERSION_MAJOR 0
#define PIXMA_VERSION_MINOR 17
-#define PIXMA_VERSION_BUILD 14
+#define PIXMA_VERSION_BUILD 17
/**@}*/
/** \name Error codes */
diff --git a/backend/pixma_common.c b/backend/pixma_common.c
index 771a5af..0945a69 100644
--- a/backend/pixma_common.c
+++ b/backend/pixma_common.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2008 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
diff --git a/backend/pixma_common.h b/backend/pixma_common.h
index 55ab570..069f8b8 100644
--- a/backend/pixma_common.h
+++ b/backend/pixma_common.h
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
This file is part of the SANE package.
diff --git a/backend/pixma_imageclass.c b/backend/pixma_imageclass.c
index b2526fa..3995805 100644
--- a/backend/pixma_imageclass.c
+++ b/backend/pixma_imageclass.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2009 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2008 Dennis Lou, dlou 99 at yahoo dot com
@@ -95,8 +95,13 @@
#define MF6680_PID 0x26fa
#define MF8030_PID 0x2707
#define IR1133_PID 0x2742
+#define MF5900_PID 0x2743
#define D530_PID 0x2775
#define MF8500_PID 0x277a
+#define MF6100_PID 0x278e
+#define MF820_PID 0x27a6
+#define MF220_PID 0x27a8
+#define MF210_PID 0x27a9
enum iclass_state_t
@@ -799,6 +804,11 @@ const pixma_config_t pixma_iclass_devices[] = {
DEV ("Canon i-SENSYS MF5880dn", "MF5880", MF5880_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP),
DEV ("Canon i-SENSYS MF6680dn", "MF6680", MF6680_PID, 600, 0, 640, 877, PIXMA_CAP_ADFDUP),
DEV ("Canon imageRUNNER 1133", "iR1133", IR1133_PID, 600, 0, 637, 877, PIXMA_CAP_ADFDUP),
+ DEV ("Canon i-SENSYS MF5900 Series", "MF5900", MF5900_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP),
DEV ("Canon i-SENSYS MF8500C Series", "MF8500C", MF8500_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP),
+ DEV ("Canon i-SENSYS MF6100 Series", "MF6100", MF6100_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP),
+ DEV ("Canon imageClass MF810/820", "MF810/820", MF820_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP),
+ DEV ("Canon i-SENSYS MF220 Series", "MF220", MF220_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP),
+ DEV ("Canon i-SENSYS MF210 Series", "MF210", MF210_PID, 600, 0, 640, 1050, PIXMA_CAP_ADF),
DEV (NULL, NULL, 0, 0, 0, 0, 0, 0)
};
diff --git a/backend/pixma_io_sanei.c b/backend/pixma_io_sanei.c
index 59d1602..08ec525 100644
--- a/backend/pixma_io_sanei.c
+++ b/backend/pixma_io_sanei.c
@@ -1,7 +1,7 @@
/* SANE - Scanner Access Now Easy.
* For limitations, see function sanei_usb_get_vendor_product().
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
This file is part of the SANE package.
diff --git a/backend/pixma_mp150.c b/backend/pixma_mp150.c
index 22ca41d..79711fe 100644
--- a/backend/pixma_mp150.c
+++ b/backend/pixma_mp150.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2009 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
@@ -224,6 +224,10 @@
#define MG2900_PID 0x1780
#define E460_PID 0x1788
+/* 2015 new devices (untested) */
+#define MX490_PID 0x1787
+#define E480_PID 0x1789
+
/* Generation 4 XML messages that encapsulates the Pixma protocol messages */
#define XML_START_1 \
@@ -1149,6 +1153,7 @@ post_process_image_data (pixma_t * s, pixma_imagebuf_t * ib)
&& s->cfg->pid != MG5300_PID
&& s->cfg->pid != MG5500_PID
&& s->cfg->pid != MG6300_PID
+ && s->cfg->pid != MG6400_PID
&& s->cfg->pid != MG7100_PID)
reorder_pixels (mp->linebuf, sptr, c, n, m, s->param->wx, line_size);
@@ -1817,5 +1822,9 @@ const pixma_config_t pixma_mp150_devices[] = {
DEVICE ("Canon PIXMA MG2900 Series", "MG2900", MG2900_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
DEVICE ("Canon PIXMA E460 Series", "E460", E460_PID, 600, 0, 0, 638, 877, PIXMA_CAP_CIS),
+ /* Latest devices (2015) Generation 4 CIS */
+ DEVICE ("Canon PIXMA MX490 Series", "MX490", MX490_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF),
+ DEVICE ("Canon PIXMA E480 Series", "E480", E480_PID, 600, 0, 0, 638, 1050, PIXMA_CAP_CIS | PIXMA_CAP_ADF),
+
END_OF_DEVICE_LIST
};
diff --git a/backend/pixma_mp730.c b/backend/pixma_mp730.c
index 58d1994..2184ff7 100644
--- a/backend/pixma_mp730.c
+++ b/backend/pixma_mp730.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2008 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
diff --git a/backend/pixma_mp750.c b/backend/pixma_mp750.c
index e46a942..8d2d94c 100644
--- a/backend/pixma_mp750.c
+++ b/backend/pixma_mp750.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
This file is part of the SANE package.
diff --git a/backend/pixma_mp810.c b/backend/pixma_mp810.c
index 59e96eb..e8bf75f 100644
--- a/backend/pixma_mp810.c
+++ b/backend/pixma_mp810.c
@@ -1,6 +1,6 @@
/* SANE - Scanner Access Now Easy.
- Copyright (C) 2011-2014 Rolf Bensch <rolf at bensch hyphen online dot de>
+ Copyright (C) 2011-2015 Rolf Bensch <rolf at bensch hyphen online dot de>
Copyright (C) 2007-2009 Nicolas Martin, <nicols-guest at alioth dot debian dot org>
Copyright (C) 2006-2007 Wittawat Yamwong <wittawat@web.de>
@@ -657,6 +657,23 @@ static unsigned calc_shifting (pixma_t * s)
}
break;
+ case MP990_PID:
+ if (s->param->xdpi == 4800)
+ {
+ if (is_scanning_from_tpu (s))
+ {
+ mp->stripe_shift = 6;
+ mp->stripe_shift2 = 6;
+ }
+ else
+ {
+ mp->stripe_shift = 3;
+ mp->stripe_shift2 = 3;
+ }
+ mp->jumplines = 34; /* better than 32 or 34 : applies to flatbed & TPU */
+ }
+ break;
+
default: /* Default, and all CIS devices */
break;
}
@@ -850,7 +867,7 @@ static int send_scan_param (pixma_t * s)
* 0x24 | 1 | all | 0x01
* -----+-------+---------+---------------------------
* 0x25 | 1 | default | 0x00; cs8800f: 0x01
- * | | tpu | 0x00; cs9000f, mg8200: 0x01
+ * | | tpu | 0x00; cs9000f, mg8200, mp990: 0x01
* | | tpuir | cs9000f: 0x00
* -----+-------+---------+---------------------------
* ... | 1 | all | 0x00
@@ -908,8 +925,8 @@ static int send_scan_param (pixma_t * s)
data[0x23] = 0x02;
data[0x24] = 0x01;
- /* MG8200 addition */
- if (s->cfg->pid == MG8200_PID)
+ /* MG8200 & MP990 addition */
+ if (s->cfg->pid == MG8200_PID || s->cfg->pid == MP990_PID)
{
if (is_scanning_from_tpu (s))
{
diff --git a/configure.in b/configure.in
index 4365868..48953d2 100644
--- a/configure.in
+++ b/configure.in
@@ -610,7 +610,7 @@ AC_ARG_ENABLE(local-backends,
ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \
avision bh canon canon630u canon_dr canon_pp cardscan \
coolscan coolscan2 coolscan3 dc25 dc210 dc240 \
- dell1600n_net dmc epjitsu epson epson2 fujitsu genesys \
+ dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys \
gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \
hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \
kvs40xx leo lexmark ma1509 magicolor \
diff --git a/debian/changelog b/debian/changelog
index c7f5ad4..cba9e3b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,63 @@
+sane-backends (1.0.25+git20150425-1) experimental; urgency=low
+
+ * Build from daily snapshot sane-backends-git20150425.tar.gz.
+ * Refresh patches:
+ - debian/patches/dll_backend_conf.patch
+ - debian/patches/libsane_deps.patch
+ - debian/patches/multiarch_dll_search_path.patch
+ - debian/patches/multiarch_manpages_libdir.patch
+ - debian/patches/sane-desc.c_debian_mods.patch.
+ * New debian/TROUBLESHOOTING.debian:
+ - Add part for "usbfs: interface 1 claimed by usblp while ‘scanimage’ sets
+ config #1.
+ * Add link to TROUBLESHOOTING.debian into debian/README.debian.
+ * New debian/patches/001-scanimage_manpage.patch:
+ - Add remark for parameter to manpage.
+ * New debian/patches/0005-mk_reproducible_results.patch:
+ - Make builds reproducible.
+ * debian/control:
+ - On package libsane-dev change Depends from libgphoto2-2-dev to
+ libgphoto2-dev (auto-libgphoto2 transition).
+ - On package libsane remove package hpoj from Suggests
+ - Remove useless replaces because latest release in stable is 1.0.22-7:
+ + sane-utils: libsane (<< 1.0.11-4)
+ + libsane-common: libsane (<< 1.0.22-4~)
+ + libsane: libsane-extras (<< 1.0.18.14)
+ + libsane-dev: libsane-extras-dev (<< 1.0.18.14)
+ + libsane-dbg: libsane-extras-dbg (<< 1.0.18.14)
+ - Remove "libv4l-dev [linux-any]" from Build-Depends and Depends.
+ * debian/rules:
+ - Enable pnm backend for testing.
+ - Remove override_dh_builddeb because compression xz is now standard.
+ - Add configure parameter --without-vl4 to disable v4l
+ backend.
+ + The backend is writen for the kernel 2.4 and v4l. Now
+ we are at kernel 3.16 and v4l2.
+ * debian/saned@.service:
+ - Remove Alias from [Install] Section.
+ * sane-utils.[postinst|postrm]:
+ - Replace fixed path with a POSIX-compliant shell function to check
+ the existence of a command.
+ * Add autopkgtests:
+ - debian/control:
+ + Add Testsuite: autopkgtest.
+ - New debian/tests/control.
+ - New debian/tests/start-net:
+ - Testing network interface activation with systemd.
+ * Add symbols file:
+ - debian/rules: rewrite override_dh_makeshlibs.
+ * Comment out "set -e" at debian/sane-utils.postrm to prevent
+ piuparts errors.
+ * debian/saned@.service:
+ - Change StandardInput=socket to StandardInput=null to enable
+ working over network.
+ * New debian/patches/0510-disable-html-tests.patch:
+ - Disable some html tests because
+ debian/patches/sane-desc.c_debian_mods.patch change some links to
+ the doc directory.
+
+ -- Jörg Frings-Fürst <debian@jff-webhosting.net> Sun, 26 Apr 2015 16:21:51 +0200
+
sane-backends (1.0.25+git20150102-1) experimental; urgency=medium
* Build from daily snapshot sane-backends-git20150102.tar.gz.
diff --git a/debian/control b/debian/control
index e01cd80..a1a5933 100644
--- a/debian/control
+++ b/debian/control
@@ -19,12 +19,12 @@ Build-Depends:
libsystemd-dev [linux-any],
libtiff-dev,
libusb-1.0-0-dev [!hurd-i386],
- libv4l-dev [linux-any],
pkg-config,
po-debconf,
texlive,
texlive-latex-extra,
xutils-dev
+Testsuite: autopkgtest
Homepage: http://www.sane-project.org
Vcs-Git: git://anonscm.debian.org/collab-maint/sane-backends.git
Vcs-Browser: http://anonscm.debian.org/cgit/collab-maint/sane-backends.git
@@ -38,7 +38,6 @@ Depends:
${misc:Depends},
${shlibs:Depends}
Suggests: avahi-daemon, unpaper
-Replaces: libsane (<< 1.0.11-4)
Description: API library for scanners -- utilities
SANE stands for "Scanner Access Now Easy" and is an application
programming interface (API) that provides standardized access to any
@@ -58,7 +57,6 @@ Section: libs
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
-Replaces: libsane (<< 1.0.22-4~)
Description: API library for scanners -- documentation and support files
SANE stands for "Scanner Access Now Easy" and is an application
programming interface (API) that provides standardized access to any
@@ -86,8 +84,7 @@ Depends:
${misc:Depends},
${shlibs:Depends}
Recommends: libsane-extras, sane-utils (>= ${binary:Version})
-Suggests: avahi-daemon, hplip, hpoj
-Replaces: libsane-extras (<< 1.0.18.14)
+Suggests: avahi-daemon, hplip
Description: API library for scanners
SANE stands for "Scanner Access Now Easy" and is an application
programming interface (API) that provides standardized access to any
@@ -112,17 +109,15 @@ Architecture: any
Depends:
libavahi-client-dev,
libcam-dev [kfreebsd-any],
- libgphoto2-2-dev,
+ libgphoto2-dev,
libieee1284-3-dev [!hurd-i386],
libjpeg-dev,
libsane (= ${binary:Version}),
libtiff-dev,
libusb-1.0-0-dev [!hurd-i386],
- libv4l-dev [linux-any],
pkg-config,
${misc:Depends}
Recommends: libsane-extras-dev
-Replaces: libsane-extras-dev (<< 1.0.18.14)
Description: API development library for scanners [development files]
SANE stands for "Scanner Access Now Easy" and is an application
programming interface (API) that provides standardized access to any
@@ -144,7 +139,6 @@ Architecture: any
Multi-Arch: same
Depends: libsane (= ${binary:Version}), ${misc:Depends}
Recommends: libsane-extras-dbg
-Replaces: libsane-extras-dbg (<< 1.0.18.14)
Description: API development library for scanners [debug symbols]
SANE stands for "Scanner Access Now Easy" and is an application
programming interface (API) that provides standardized access to any
diff --git a/debian/libsane.symbols b/debian/libsane.symbols
new file mode 100644
index 0000000..54e92d8
--- /dev/null
+++ b/debian/libsane.symbols
@@ -0,0 +1,2065 @@
+libsane.so.1 libsane #MINVER#
+ AllocateImageBuffer@Base 1.0.25
+ CMD_get_buff_status@Base 1.0.25
+ CMD_get_document_existanse@Base 1.0.25
+ CMD_read_image@Base 1.0.25
+ CMD_read_pic_elements@Base 1.0.25
+ CMD_read_support_info@Base 1.0.25
+ CMD_request_sense@Base 1.0.25
+ CMD_reset_window@Base 1.0.25
+ CMD_scan@Base 1.0.25
+ CMD_set_timeout@Base 1.0.25
+ CMD_set_window@Base 1.0.25
+ CMD_test_unit_ready@Base 1.0.25
+ CMD_wait_buff_status@Base 1.0.25
+ CMD_wait_document_existanse@Base 1.0.25
+ MatchVersions@Base 1.0.25
+ ProcessAvahiDevice@Base 1.0.25
+ RTS_Debug@Base 1.0.25
+ RawScan@Base 1.0.25
+ RawScanPath@Base 1.0.25
+ ReadImageData@Base 1.0.25
+ ReadImageDataDuplex@Base 1.0.25
+ ReadImageDataSimplex@Base 1.0.25
+ WRef@Base 1.0.25
+ acccurvecount@Base 1.0.25
+ arrangeline2@Base 1.0.25
+ arrangeline@Base 1.0.25
+ attach@Base 1.0.25
+ auto_binarization@Base 1.0.25
+ auto_separation@Base 1.0.25
+ available_transports@Base 1.0.25
+ binarythresholdh@Base 1.0.25
+ binarythresholdl@Base 1.0.25
+ bjnp_protocol_defs@Base 1.0.25
+ buffer_crop@Base 1.0.25
+ buffer_deskew@Base 1.0.25
+ buffer_despeck@Base 1.0.25
+ buffer_isblank@Base 1.0.25
+ buffer_rotate@Base 1.0.25
+ bw_threshold@Base 1.0.25
+ bytesperline@Base 1.0.25
+ calibdata@Base 1.0.25
+ camera@Base 1.0.25
+ cmparray@Base 1.0.25
+ cmsg@Base 1.0.25
+ compression@Base 1.0.25
+ dataline_count@Base 1.0.25
+ debug_options@Base 1.0.25
+ deccurvecount@Base 1.0.25
+ default_gain_offset@Base 1.0.25
+ dir_buf2@Base 1.0.25
+ dir_list@Base 1.0.25
+ e2_ack@Base 1.0.25
+ e2_ack_next@Base 1.0.25
+ e2_add_depth@Base 1.0.25
+ e2_add_resolution@Base 1.0.25
+ e2_block_read@Base 1.0.25
+ e2_cancel@Base 1.0.25
+ e2_check_adf@Base 1.0.25
+ e2_check_warm_up@Base 1.0.25
+ e2_cmd_info_block@Base 1.0.25
+ e2_cmd_simple@Base 1.0.25
+ e2_copy_image_data@Base 1.0.25
+ e2_dev_init@Base 1.0.25
+ e2_dev_model@Base 1.0.25
+ e2_dev_post_init@Base 1.0.25
+ e2_discover_capabilities@Base 1.0.25
+ e2_esc_cmd@Base 1.0.25
+ e2_ext_read@Base 1.0.25
+ e2_init_parameters@Base 1.0.25
+ e2_recv@Base 1.0.25
+ e2_recv_info_block@Base 1.0.25
+ e2_scan_finish@Base 1.0.25
+ e2_send@Base 1.0.25
+ e2_set_adf_area@Base 1.0.25
+ e2_set_cmd_level@Base 1.0.25
+ e2_set_extended_scanning_parameters@Base 1.0.25
+ e2_set_fbf_area@Base 1.0.25
+ e2_set_model@Base 1.0.25
+ e2_set_scanning_parameters@Base 1.0.25
+ e2_set_tpu2_area@Base 1.0.25
+ e2_set_tpu_area@Base 1.0.25
+ e2_setup_block_mode@Base 1.0.25
+ e2_start_ext_scan@Base 1.0.25
+ e2_start_std_scan@Base 1.0.25
+ e2_txrx@Base 1.0.25
+ e2_wait_button@Base 1.0.25
+ e2_wait_warm_up@Base 1.0.25
+ eds_add_depth@Base 1.0.25
+ eds_add_resolution@Base 1.0.25
+ eds_control@Base 1.0.25
+ eds_copy_image_from_ring@Base 1.0.25
+ eds_dev_init@Base 1.0.25
+ eds_dev_post_init@Base 1.0.25
+ eds_fsx@Base 1.0.25
+ eds_fsy@Base 1.0.25
+ eds_init_parameters@Base 1.0.25
+ eds_jpeg_finish@Base 1.0.25
+ eds_jpeg_read@Base 1.0.25
+ eds_jpeg_read_header@Base 1.0.25
+ eds_jpeg_start@Base 1.0.25
+ eds_lock@Base 1.0.25
+ eds_recv@Base 1.0.25
+ eds_ring_avail@Base 1.0.25
+ eds_ring_flush@Base 1.0.25
+ eds_ring_init@Base 1.0.25
+ eds_ring_read@Base 1.0.25
+ eds_ring_skip@Base 1.0.25
+ eds_ring_write@Base 1.0.25
+ eds_send@Base 1.0.25
+ eds_set_adf_area@Base 1.0.25
+ eds_set_fbf_area@Base 1.0.25
+ eds_set_resolution_range@Base 1.0.25
+ eds_set_tpu_area@Base 1.0.25
+ eds_txrx@Base 1.0.25
+ epson_cct_models@Base 1.0.25
+ epson_cct_profiles@Base 1.0.25
+ epsonds_get_number_of_ids@Base 1.0.25
+ epsonds_usb_product_ids@Base 1.0.25
+ esci2_can@Base 1.0.25
+ esci2_capa@Base 1.0.25
+ esci2_fin@Base 1.0.25
+ esci2_img@Base 1.0.25
+ esci2_info@Base 1.0.25
+ esci2_mech@Base 1.0.25
+ esci2_para@Base 1.0.25
+ esci2_resa@Base 1.0.25
+ esci2_stat@Base 1.0.25
+ esci2_trdt@Base 1.0.25
+ esci_eject@Base 1.0.25
+ esci_enable_infrared@Base 1.0.25
+ esci_feed@Base 1.0.25
+ esci_get_scanning_parameter@Base 1.0.25
+ esci_request_command_parameter@Base 1.0.25
+ esci_request_extended_identity@Base 1.0.25
+ esci_request_extended_status@Base 1.0.25
+ esci_request_focus_position@Base 1.0.25
+ esci_request_identity2@Base 1.0.25
+ esci_request_identity@Base 1.0.25
+ esci_request_push_button_status@Base 1.0.25
+ esci_request_scanner_status@Base 1.0.25
+ esci_request_status@Base 1.0.25
+ esci_reset@Base 1.0.25
+ esci_set_color_correction_coefficients@Base 1.0.25
+ esci_set_gamma_table@Base 1.0.25
+ esci_set_resolution@Base 1.0.25
+ esci_set_scan_area@Base 1.0.25
+ esci_set_scanning_parameter@Base 1.0.25
+ esci_set_zoom@Base 1.0.25
+ fixed_black_shading@Base 1.0.25
+ fixed_white_shading@Base 1.0.25
+ g_devices@Base 1.0.25
+ g_devlist@Base 1.0.25
+ gain@Base 1.0.25
+ gamma_params@Base 1.0.25
+ getEdgeIterate@Base 1.0.25
+ getEdgeSlope@Base 1.0.25
+ getTransitionsX@Base 1.0.25
+ getTransitionsY@Base 1.0.25
+ get_adjust_data@Base 1.0.25
+ get_buffer_status@Base 1.0.25
+ get_optval_list@Base 1.0.25
+ global_firmware_filename@Base 1.0.25
+ global_has_cal_buffer@Base 1.0.25
+ global_lines_per_block@Base 1.0.25
+ grayfilter@Base 1.0.25
+ halftone@Base 1.0.25
+ halftone_params@Base 1.0.25
+ hexdump@Base 1.0.25
+ hopper_down@Base 1.0.25
+ hp_gamma@Base 1.0.25
+ imageheight@Base 1.0.25
+ imagesize@Base 1.0.25
+ imagewidth3@Base 1.0.25
+ inquiry@Base 1.0.25
+ jkd_black@Base 1.0.25
+ jkd_blackbpl@Base 1.0.25
+ kodakaio_com_str@Base 1.0.25
+ kv_already_open@Base 1.0.25
+ kv_calc_paper_size@Base 1.0.25
+ kv_close@Base 1.0.25
+ kv_control_option@Base 1.0.25
+ kv_enum_devices@Base 1.0.25
+ kv_exit@Base 1.0.25
+ kv_get_depth@Base 1.0.25
+ kv_get_devices_list@Base 1.0.25
+ kv_get_mode@Base 1.0.25
+ kv_get_option_descriptor@Base 1.0.25
+ kv_init_options@Base 1.0.25
+ kv_open@Base 1.0.25
+ kv_open_by_name@Base 1.0.25
+ kv_send_command@Base 1.0.25
+ kv_set_window_data@Base 1.0.25
+ kv_usb_already_open@Base 1.0.25
+ kv_usb_cleanup@Base 1.0.25
+ kv_usb_close@Base 1.0.25
+ kv_usb_enum_devices@Base 1.0.25
+ kv_usb_escape@Base 1.0.25
+ kv_usb_open@Base 1.0.25
+ kv_usb_send_command@Base 1.0.25
+ kvs20xx_document_exist@Base 1.0.25
+ kvs20xx_init_options@Base 1.0.25
+ kvs20xx_init_window@Base 1.0.25
+ kvs20xx_read_image_data@Base 1.0.25
+ kvs20xx_read_picture_element@Base 1.0.25
+ kvs20xx_reset_window@Base 1.0.25
+ kvs20xx_scan@Base 1.0.25
+ kvs20xx_sense_handler@Base 1.0.25
+ kvs20xx_set_timeout@Base 1.0.25
+ kvs20xx_set_window@Base 1.0.25
+ kvs20xx_test_unit_ready@Base 1.0.25
+ kvs40xx_document_exist@Base 1.0.25
+ kvs40xx_init_options@Base 1.0.25
+ kvs40xx_init_window@Base 1.0.25
+ kvs40xx_read_image_data@Base 1.0.25
+ kvs40xx_read_picture_element@Base 1.0.25
+ kvs40xx_reset_window@Base 1.0.25
+ kvs40xx_scan@Base 1.0.25
+ kvs40xx_sense_handler@Base 1.0.25
+ kvs40xx_set_timeout@Base 1.0.25
+ kvs40xx_set_window@Base 1.0.25
+ kvs40xx_test_unit_ready@Base 1.0.25
+ line_size@Base 1.0.25
+ lineart_width@Base 1.0.25
+ linedarlampoff@Base 1.0.25
+ little_endian@Base 1.0.25
+ mem_total@Base 1.0.25
+ mitabla2@Base 1.0.25
+ mode_params@Base 1.0.25
+ noisematrix@Base 1.0.25
+ numVersions@Base 1.0.25
+ offset@Base 1.0.25
+ paddingtype@Base 1.0.25
+ pixeldarklevel@Base 1.0.25
+ pixma_activate@Base 1.0.25
+ pixma_activate_connection@Base 1.0.25
+ pixma_binarize_line@Base 1.0.25
+ pixma_deactivate@Base 1.0.25
+ pixma_deactivate_connection@Base 1.0.25
+ pixma_r_to_ir@Base 1.0.25
+ pixma_rgb_to_gray@Base 1.0.25
+ pl@Base 1.0.25
+ pwmlamplevel@Base 1.0.25
+ r_cmd_count@Base 1.0.25
+ read_support_info@Base 1.0.25
+ read_v15b4@Base 1.0.25
+ ret_cancel@Base 1.0.25
+ rotateOnCenter@Base 1.0.25
+ sane_abaton_cancel@Base 1.0.25
+ sane_abaton_close@Base 1.0.25
+ sane_abaton_control_option@Base 1.0.25
+ sane_abaton_exit@Base 1.0.25
+ sane_abaton_get_devices@Base 1.0.25
+ sane_abaton_get_option_descriptor@Base 1.0.25
+ sane_abaton_get_parameters@Base 1.0.25
+ sane_abaton_get_select_fd@Base 1.0.25
+ sane_abaton_init@Base 1.0.25
+ sane_abaton_open@Base 1.0.25
+ sane_abaton_read@Base 1.0.25
+ sane_abaton_set_io_mode@Base 1.0.25
+ sane_abaton_start@Base 1.0.25
+ sane_agfafocus_cancel@Base 1.0.25
+ sane_agfafocus_close@Base 1.0.25
+ sane_agfafocus_control_option@Base 1.0.25
+ sane_agfafocus_exit@Base 1.0.25
+ sane_agfafocus_get_devices@Base 1.0.25
+ sane_agfafocus_get_option_descriptor@Base 1.0.25
+ sane_agfafocus_get_parameters@Base 1.0.25
+ sane_agfafocus_get_select_fd@Base 1.0.25
+ sane_agfafocus_init@Base 1.0.25
+ sane_agfafocus_open@Base 1.0.25
+ sane_agfafocus_read@Base 1.0.25
+ sane_agfafocus_set_io_mode@Base 1.0.25
+ sane_agfafocus_start@Base 1.0.25
+ sane_apple_cancel@Base 1.0.25
+ sane_apple_close@Base 1.0.25
+ sane_apple_control_option@Base 1.0.25
+ sane_apple_exit@Base 1.0.25
+ sane_apple_get_devices@Base 1.0.25
+ sane_apple_get_option_descriptor@Base 1.0.25
+ sane_apple_get_parameters@Base 1.0.25
+ sane_apple_get_select_fd@Base 1.0.25
+ sane_apple_init@Base 1.0.25
+ sane_apple_open@Base 1.0.25
+ sane_apple_read@Base 1.0.25
+ sane_apple_set_io_mode@Base 1.0.25
+ sane_apple_start@Base 1.0.25
+ sane_artec_cancel@Base 1.0.25
+ sane_artec_close@Base 1.0.25
+ sane_artec_control_option@Base 1.0.25
+ sane_artec_eplus48u_cancel@Base 1.0.25
+ sane_artec_eplus48u_close@Base 1.0.25
+ sane_artec_eplus48u_control_option@Base 1.0.25
+ sane_artec_eplus48u_exit@Base 1.0.25
+ sane_artec_eplus48u_get_devices@Base 1.0.25
+ sane_artec_eplus48u_get_option_descriptor@Base 1.0.25
+ sane_artec_eplus48u_get_parameters@Base 1.0.25
+ sane_artec_eplus48u_get_select_fd@Base 1.0.25
+ sane_artec_eplus48u_init@Base 1.0.25
+ sane_artec_eplus48u_open@Base 1.0.25
+ sane_artec_eplus48u_read@Base 1.0.25
+ sane_artec_eplus48u_set_io_mode@Base 1.0.25
+ sane_artec_eplus48u_start@Base 1.0.25
+ sane_artec_exit@Base 1.0.25
+ sane_artec_get_devices@Base 1.0.25
+ sane_artec_get_option_descriptor@Base 1.0.25
+ sane_artec_get_parameters@Base 1.0.25
+ sane_artec_get_select_fd@Base 1.0.25
+ sane_artec_init@Base 1.0.25
+ sane_artec_open@Base 1.0.25
+ sane_artec_read@Base 1.0.25
+ sane_artec_set_io_mode@Base 1.0.25
+ sane_artec_start@Base 1.0.25
+ sane_as6e_cancel@Base 1.0.25
+ sane_as6e_close@Base 1.0.25
+ sane_as6e_control_option@Base 1.0.25
+ sane_as6e_exit@Base 1.0.25
+ sane_as6e_get_devices@Base 1.0.25
+ sane_as6e_get_option_descriptor@Base 1.0.25
+ sane_as6e_get_parameters@Base 1.0.25
+ sane_as6e_get_select_fd@Base 1.0.25
+ sane_as6e_init@Base 1.0.25
+ sane_as6e_open@Base 1.0.25
+ sane_as6e_read@Base 1.0.25
+ sane_as6e_set_io_mode@Base 1.0.25
+ sane_as6e_start@Base 1.0.25
+ sane_auth@Base 1.0.25
+ sane_auto_eject@Base 1.0.25
+ sane_avision_cancel@Base 1.0.25
+ sane_avision_close@Base 1.0.25
+ sane_avision_control_option@Base 1.0.25
+ sane_avision_exit@Base 1.0.25
+ sane_avision_get_devices@Base 1.0.25
+ sane_avision_get_option_descriptor@Base 1.0.25
+ sane_avision_get_parameters@Base 1.0.25
+ sane_avision_get_select_fd@Base 1.0.25
+ sane_avision_init@Base 1.0.25
+ sane_avision_open@Base 1.0.25
+ sane_avision_read@Base 1.0.25
+ sane_avision_set_io_mode@Base 1.0.25
+ sane_avision_start@Base 1.0.25
+ sane_bh_cancel@Base 1.0.25
+ sane_bh_close@Base 1.0.25
+ sane_bh_control_option@Base 1.0.25
+ sane_bh_exit@Base 1.0.25
+ sane_bh_get_devices@Base 1.0.25
+ sane_bh_get_option_descriptor@Base 1.0.25
+ sane_bh_get_parameters@Base 1.0.25
+ sane_bh_get_select_fd@Base 1.0.25
+ sane_bh_init@Base 1.0.25
+ sane_bh_open@Base 1.0.25
+ sane_bh_read@Base 1.0.25
+ sane_bh_set_io_mode@Base 1.0.25
+ sane_bh_start@Base 1.0.25
+ sane_cancel@Base 1.0.24
+ sane_canon630u_cancel@Base 1.0.25
+ sane_canon630u_close@Base 1.0.25
+ sane_canon630u_control_option@Base 1.0.25
+ sane_canon630u_exit@Base 1.0.25
+ sane_canon630u_get_devices@Base 1.0.25
+ sane_canon630u_get_option_descriptor@Base 1.0.25
+ sane_canon630u_get_parameters@Base 1.0.25
+ sane_canon630u_get_select_fd@Base 1.0.25
+ sane_canon630u_init@Base 1.0.25
+ sane_canon630u_open@Base 1.0.25
+ sane_canon630u_read@Base 1.0.25
+ sane_canon630u_set_io_mode@Base 1.0.25
+ sane_canon630u_start@Base 1.0.25
+ sane_canon_cancel@Base 1.0.25
+ sane_canon_close@Base 1.0.25
+ sane_canon_control_option@Base 1.0.25
+ sane_canon_dr_cancel@Base 1.0.25
+ sane_canon_dr_close@Base 1.0.25
+ sane_canon_dr_control_option@Base 1.0.25
+ sane_canon_dr_exit@Base 1.0.25
+ sane_canon_dr_get_devices@Base 1.0.25
+ sane_canon_dr_get_option_descriptor@Base 1.0.25
+ sane_canon_dr_get_parameters@Base 1.0.25
+ sane_canon_dr_get_select_fd@Base 1.0.25
+ sane_canon_dr_init@Base 1.0.25
+ sane_canon_dr_open@Base 1.0.25
+ sane_canon_dr_read@Base 1.0.25
+ sane_canon_dr_set_io_mode@Base 1.0.25
+ sane_canon_dr_start@Base 1.0.25
+ sane_canon_exit@Base 1.0.25
+ sane_canon_get_devices@Base 1.0.25
+ sane_canon_get_option_descriptor@Base 1.0.25
+ sane_canon_get_parameters@Base 1.0.25
+ sane_canon_get_select_fd@Base 1.0.25
+ sane_canon_init@Base 1.0.25
+ sane_canon_open@Base 1.0.25
+ sane_canon_pp_cancel@Base 1.0.25
+ sane_canon_pp_close@Base 1.0.25
+ sane_canon_pp_control_option@Base 1.0.25
+ sane_canon_pp_exit@Base 1.0.25
+ sane_canon_pp_get_devices@Base 1.0.25
+ sane_canon_pp_get_option_descriptor@Base 1.0.25
+ sane_canon_pp_get_parameters@Base 1.0.25
+ sane_canon_pp_get_select_fd@Base 1.0.25
+ sane_canon_pp_init@Base 1.0.25
+ sane_canon_pp_open@Base 1.0.25
+ sane_canon_pp_read@Base 1.0.25
+ sane_canon_pp_set_io_mode@Base 1.0.25
+ sane_canon_pp_start@Base 1.0.25
+ sane_canon_read@Base 1.0.25
+ sane_canon_set_io_mode@Base 1.0.25
+ sane_canon_start@Base 1.0.25
+ sane_cardscan_cancel@Base 1.0.25
+ sane_cardscan_close@Base 1.0.25
+ sane_cardscan_control_option@Base 1.0.25
+ sane_cardscan_exit@Base 1.0.25
+ sane_cardscan_get_devices@Base 1.0.25
+ sane_cardscan_get_option_descriptor@Base 1.0.25
+ sane_cardscan_get_parameters@Base 1.0.25
+ sane_cardscan_get_select_fd@Base 1.0.25
+ sane_cardscan_init@Base 1.0.25
+ sane_cardscan_open@Base 1.0.25
+ sane_cardscan_read@Base 1.0.25
+ sane_cardscan_set_io_mode@Base 1.0.25
+ sane_cardscan_start@Base 1.0.25
+ sane_close@Base 1.0.24
+ sane_control_option@Base 1.0.24
+ sane_coolscan2_cancel@Base 1.0.25
+ sane_coolscan2_close@Base 1.0.25
+ sane_coolscan2_control_option@Base 1.0.25
+ sane_coolscan2_exit@Base 1.0.25
+ sane_coolscan2_get_devices@Base 1.0.25
+ sane_coolscan2_get_option_descriptor@Base 1.0.25
+ sane_coolscan2_get_parameters@Base 1.0.25
+ sane_coolscan2_get_select_fd@Base 1.0.25
+ sane_coolscan2_init@Base 1.0.25
+ sane_coolscan2_open@Base 1.0.25
+ sane_coolscan2_read@Base 1.0.25
+ sane_coolscan2_set_io_mode@Base 1.0.25
+ sane_coolscan2_start@Base 1.0.25
+ sane_coolscan3_cancel@Base 1.0.25
+ sane_coolscan3_close@Base 1.0.25
+ sane_coolscan3_control_option@Base 1.0.25
+ sane_coolscan3_exit@Base 1.0.25
+ sane_coolscan3_get_devices@Base 1.0.25
+ sane_coolscan3_get_option_descriptor@Base 1.0.25
+ sane_coolscan3_get_parameters@Base 1.0.25
+ sane_coolscan3_get_select_fd@Base 1.0.25
+ sane_coolscan3_init@Base 1.0.25
+ sane_coolscan3_open@Base 1.0.25
+ sane_coolscan3_read@Base 1.0.25
+ sane_coolscan3_set_io_mode@Base 1.0.25
+ sane_coolscan3_start@Base 1.0.25
+ sane_coolscan_cancel@Base 1.0.25
+ sane_coolscan_close@Base 1.0.25
+ sane_coolscan_control_option@Base 1.0.25
+ sane_coolscan_exit@Base 1.0.25
+ sane_coolscan_get_devices@Base 1.0.25
+ sane_coolscan_get_option_descriptor@Base 1.0.25
+ sane_coolscan_get_parameters@Base 1.0.25
+ sane_coolscan_get_select_fd@Base 1.0.25
+ sane_coolscan_init@Base 1.0.25
+ sane_coolscan_open@Base 1.0.25
+ sane_coolscan_read@Base 1.0.25
+ sane_coolscan_set_io_mode@Base 1.0.25
+ sane_coolscan_start@Base 1.0.25
+ sane_dc210_cancel@Base 1.0.25
+ sane_dc210_close@Base 1.0.25
+ sane_dc210_control_option@Base 1.0.25
+ sane_dc210_exit@Base 1.0.25
+ sane_dc210_get_devices@Base 1.0.25
+ sane_dc210_get_option_descriptor@Base 1.0.25
+ sane_dc210_get_parameters@Base 1.0.25
+ sane_dc210_get_select_fd@Base 1.0.25
+ sane_dc210_init@Base 1.0.25
+ sane_dc210_open@Base 1.0.25
+ sane_dc210_read@Base 1.0.25
+ sane_dc210_set_io_mode@Base 1.0.25
+ sane_dc210_start@Base 1.0.25
+ sane_dc240_cancel@Base 1.0.25
+ sane_dc240_close@Base 1.0.25
+ sane_dc240_control_option@Base 1.0.25
+ sane_dc240_exit@Base 1.0.25
+ sane_dc240_get_devices@Base 1.0.25
+ sane_dc240_get_option_descriptor@Base 1.0.25
+ sane_dc240_get_parameters@Base 1.0.25
+ sane_dc240_get_select_fd@Base 1.0.25
+ sane_dc240_init@Base 1.0.25
+ sane_dc240_open@Base 1.0.25
+ sane_dc240_read@Base 1.0.25
+ sane_dc240_set_io_mode@Base 1.0.25
+ sane_dc240_start@Base 1.0.25
+ sane_dc25_cancel@Base 1.0.25
+ sane_dc25_close@Base 1.0.25
+ sane_dc25_control_option@Base 1.0.25
+ sane_dc25_exit@Base 1.0.25
+ sane_dc25_get_devices@Base 1.0.25
+ sane_dc25_get_option_descriptor@Base 1.0.25
+ sane_dc25_get_parameters@Base 1.0.25
+ sane_dc25_get_select_fd@Base 1.0.25
+ sane_dc25_init@Base 1.0.25
+ sane_dc25_open@Base 1.0.25
+ sane_dc25_read@Base 1.0.25
+ sane_dc25_set_io_mode@Base 1.0.25
+ sane_dc25_start@Base 1.0.25
+ sane_dell1600n_net_cancel@Base 1.0.25
+ sane_dell1600n_net_close@Base 1.0.25
+ sane_dell1600n_net_control_option@Base 1.0.25
+ sane_dell1600n_net_exit@Base 1.0.25
+ sane_dell1600n_net_get_devices@Base 1.0.25
+ sane_dell1600n_net_get_option_descriptor@Base 1.0.25
+ sane_dell1600n_net_get_parameters@Base 1.0.25
+ sane_dell1600n_net_get_select_fd@Base 1.0.25
+ sane_dell1600n_net_init@Base 1.0.25
+ sane_dell1600n_net_open@Base 1.0.25
+ sane_dell1600n_net_read@Base 1.0.25
+ sane_dell1600n_net_set_io_mode@Base 1.0.25
+ sane_dell1600n_net_start@Base 1.0.25
+ sane_dll_cancel@Base 1.0.25
+ sane_dll_close@Base 1.0.25
+ sane_dll_control_option@Base 1.0.25
+ sane_dll_exit@Base 1.0.25
+ sane_dll_get_devices@Base 1.0.25
+ sane_dll_get_option_descriptor@Base 1.0.25
+ sane_dll_get_parameters@Base 1.0.25
+ sane_dll_get_select_fd@Base 1.0.25
+ sane_dll_init@Base 1.0.25
+ sane_dll_open@Base 1.0.25
+ sane_dll_read@Base 1.0.25
+ sane_dll_set_io_mode@Base 1.0.25
+ sane_dll_start@Base 1.0.25
+ sane_dmc_cancel@Base 1.0.25
+ sane_dmc_close@Base 1.0.25
+ sane_dmc_control_option@Base 1.0.25
+ sane_dmc_exit@Base 1.0.25
+ sane_dmc_get_devices@Base 1.0.25
+ sane_dmc_get_option_descriptor@Base 1.0.25
+ sane_dmc_get_parameters@Base 1.0.25
+ sane_dmc_get_select_fd@Base 1.0.25
+ sane_dmc_init@Base 1.0.25
+ sane_dmc_open@Base 1.0.25
+ sane_dmc_read@Base 1.0.25
+ sane_dmc_set_io_mode@Base 1.0.25
+ sane_dmc_start@Base 1.0.25
+ sane_epjitsu_cancel@Base 1.0.25
+ sane_epjitsu_close@Base 1.0.25
+ sane_epjitsu_control_option@Base 1.0.25
+ sane_epjitsu_exit@Base 1.0.25
+ sane_epjitsu_get_devices@Base 1.0.25
+ sane_epjitsu_get_option_descriptor@Base 1.0.25
+ sane_epjitsu_get_parameters@Base 1.0.25
+ sane_epjitsu_get_select_fd@Base 1.0.25
+ sane_epjitsu_init@Base 1.0.25
+ sane_epjitsu_open@Base 1.0.25
+ sane_epjitsu_read@Base 1.0.25
+ sane_epjitsu_set_io_mode@Base 1.0.25
+ sane_epjitsu_start@Base 1.0.25
+ sane_epson2_cancel@Base 1.0.25
+ sane_epson2_close@Base 1.0.25
+ sane_epson2_control_option@Base 1.0.25
+ sane_epson2_exit@Base 1.0.25
+ sane_epson2_get_devices@Base 1.0.25
+ sane_epson2_get_option_descriptor@Base 1.0.25
+ sane_epson2_get_parameters@Base 1.0.25
+ sane_epson2_get_select_fd@Base 1.0.25
+ sane_epson2_init@Base 1.0.25
+ sane_epson2_open@Base 1.0.25
+ sane_epson2_read@Base 1.0.25
+ sane_epson2_set_io_mode@Base 1.0.25
+ sane_epson2_start@Base 1.0.25
+ sane_epson_cancel@Base 1.0.25
+ sane_epson_close@Base 1.0.25
+ sane_epson_control_option@Base 1.0.25
+ sane_epson_exit@Base 1.0.25
+ sane_epson_get_devices@Base 1.0.25
+ sane_epson_get_option_descriptor@Base 1.0.25
+ sane_epson_get_parameters@Base 1.0.25
+ sane_epson_get_select_fd@Base 1.0.25
+ sane_epson_init@Base 1.0.25
+ sane_epson_open@Base 1.0.25
+ sane_epson_read@Base 1.0.25
+ sane_epson_set_io_mode@Base 1.0.25
+ sane_epson_start@Base 1.0.25
+ sane_epsonds_cancel@Base 1.0.25
+ sane_epsonds_close@Base 1.0.25
+ sane_epsonds_control_option@Base 1.0.25
+ sane_epsonds_exit@Base 1.0.25
+ sane_epsonds_get_devices@Base 1.0.25
+ sane_epsonds_get_option_descriptor@Base 1.0.25
+ sane_epsonds_get_parameters@Base 1.0.25
+ sane_epsonds_get_select_fd@Base 1.0.25
+ sane_epsonds_init@Base 1.0.25
+ sane_epsonds_open@Base 1.0.25
+ sane_epsonds_read@Base 1.0.25
+ sane_epsonds_set_io_mode@Base 1.0.25
+ sane_epsonds_start@Base 1.0.25
+ sane_exit@Base 1.0.24
+ sane_fujitsu_cancel@Base 1.0.25
+ sane_fujitsu_close@Base 1.0.25
+ sane_fujitsu_control_option@Base 1.0.25
+ sane_fujitsu_exit@Base 1.0.25
+ sane_fujitsu_get_devices@Base 1.0.25
+ sane_fujitsu_get_option_descriptor@Base 1.0.25
+ sane_fujitsu_get_parameters@Base 1.0.25
+ sane_fujitsu_get_select_fd@Base 1.0.25
+ sane_fujitsu_init@Base 1.0.25
+ sane_fujitsu_open@Base 1.0.25
+ sane_fujitsu_read@Base 1.0.25
+ sane_fujitsu_set_io_mode@Base 1.0.25
+ sane_fujitsu_start@Base 1.0.25
+ sane_genesys_cancel@Base 1.0.25
+ sane_genesys_close@Base 1.0.25
+ sane_genesys_control_option@Base 1.0.25
+ sane_genesys_exit@Base 1.0.25
+ sane_genesys_get_devices@Base 1.0.25
+ sane_genesys_get_option_descriptor@Base 1.0.25
+ sane_genesys_get_parameters@Base 1.0.25
+ sane_genesys_get_select_fd@Base 1.0.25
+ sane_genesys_init@Base 1.0.25
+ sane_genesys_open@Base 1.0.25
+ sane_genesys_read@Base 1.0.25
+ sane_genesys_set_io_mode@Base 1.0.25
+ sane_genesys_start@Base 1.0.25
+ sane_get_devices@Base 1.0.24
+ sane_get_option_descriptor@Base 1.0.24
+ sane_get_parameters@Base 1.0.24
+ sane_get_select_fd@Base 1.0.24
+ sane_gphoto2_cancel@Base 1.0.25
+ sane_gphoto2_close@Base 1.0.25
+ sane_gphoto2_control_option@Base 1.0.25
+ sane_gphoto2_exit@Base 1.0.25
+ sane_gphoto2_get_devices@Base 1.0.25
+ sane_gphoto2_get_option_descriptor@Base 1.0.25
+ sane_gphoto2_get_parameters@Base 1.0.25
+ sane_gphoto2_get_select_fd@Base 1.0.25
+ sane_gphoto2_init@Base 1.0.25
+ sane_gphoto2_open@Base 1.0.25
+ sane_gphoto2_read@Base 1.0.25
+ sane_gphoto2_set_io_mode@Base 1.0.25
+ sane_gphoto2_start@Base 1.0.25
+ sane_gt68xx_cancel@Base 1.0.25
+ sane_gt68xx_close@Base 1.0.25
+ sane_gt68xx_control_option@Base 1.0.25
+ sane_gt68xx_exit@Base 1.0.25
+ sane_gt68xx_get_devices@Base 1.0.25
+ sane_gt68xx_get_option_descriptor@Base 1.0.25
+ sane_gt68xx_get_parameters@Base 1.0.25
+ sane_gt68xx_get_select_fd@Base 1.0.25
+ sane_gt68xx_init@Base 1.0.25
+ sane_gt68xx_open@Base 1.0.25
+ sane_gt68xx_read@Base 1.0.25
+ sane_gt68xx_set_io_mode@Base 1.0.25
+ sane_gt68xx_start@Base 1.0.25
+ sane_hp3500_cancel@Base 1.0.25
+ sane_hp3500_close@Base 1.0.25
+ sane_hp3500_control_option@Base 1.0.25
+ sane_hp3500_exit@Base 1.0.25
+ sane_hp3500_get_devices@Base 1.0.25
+ sane_hp3500_get_option_descriptor@Base 1.0.25
+ sane_hp3500_get_parameters@Base 1.0.25
+ sane_hp3500_get_select_fd@Base 1.0.25
+ sane_hp3500_init@Base 1.0.25
+ sane_hp3500_open@Base 1.0.25
+ sane_hp3500_read@Base 1.0.25
+ sane_hp3500_set_io_mode@Base 1.0.25
+ sane_hp3500_start@Base 1.0.25
+ sane_hp3900_cancel@Base 1.0.25
+ sane_hp3900_close@Base 1.0.25
+ sane_hp3900_control_option@Base 1.0.25
+ sane_hp3900_exit@Base 1.0.25
+ sane_hp3900_get_devices@Base 1.0.25
+ sane_hp3900_get_option_descriptor@Base 1.0.25
+ sane_hp3900_get_parameters@Base 1.0.25
+ sane_hp3900_get_select_fd@Base 1.0.25
+ sane_hp3900_init@Base 1.0.25
+ sane_hp3900_open@Base 1.0.25
+ sane_hp3900_read@Base 1.0.25
+ sane_hp3900_set_io_mode@Base 1.0.25
+ sane_hp3900_start@Base 1.0.25
+ sane_hp4200_cancel@Base 1.0.25
+ sane_hp4200_close@Base 1.0.25
+ sane_hp4200_control_option@Base 1.0.25
+ sane_hp4200_exit@Base 1.0.25
+ sane_hp4200_get_devices@Base 1.0.25
+ sane_hp4200_get_option_descriptor@Base 1.0.25
+ sane_hp4200_get_parameters@Base 1.0.25
+ sane_hp4200_get_select_fd@Base 1.0.25
+ sane_hp4200_init@Base 1.0.25
+ sane_hp4200_open@Base 1.0.25
+ sane_hp4200_read@Base 1.0.25
+ sane_hp4200_set_io_mode@Base 1.0.25
+ sane_hp4200_start@Base 1.0.25
+ sane_hp5400_cancel@Base 1.0.25
+ sane_hp5400_close@Base 1.0.25
+ sane_hp5400_control_option@Base 1.0.25
+ sane_hp5400_exit@Base 1.0.25
+ sane_hp5400_get_devices@Base 1.0.25
+ sane_hp5400_get_option_descriptor@Base 1.0.25
+ sane_hp5400_get_parameters@Base 1.0.25
+ sane_hp5400_get_select_fd@Base 1.0.25
+ sane_hp5400_init@Base 1.0.25
+ sane_hp5400_open@Base 1.0.25
+ sane_hp5400_read@Base 1.0.25
+ sane_hp5400_set_io_mode@Base 1.0.25
+ sane_hp5400_start@Base 1.0.25
+ sane_hp5590_cancel@Base 1.0.25
+ sane_hp5590_close@Base 1.0.25
+ sane_hp5590_control_option@Base 1.0.25
+ sane_hp5590_exit@Base 1.0.25
+ sane_hp5590_get_devices@Base 1.0.25
+ sane_hp5590_get_option_descriptor@Base 1.0.25
+ sane_hp5590_get_parameters@Base 1.0.25
+ sane_hp5590_get_select_fd@Base 1.0.25
+ sane_hp5590_init@Base 1.0.25
+ sane_hp5590_open@Base 1.0.25
+ sane_hp5590_read@Base 1.0.25
+ sane_hp5590_set_io_mode@Base 1.0.25
+ sane_hp5590_start@Base 1.0.25
+ sane_hp_cancel@Base 1.0.25
+ sane_hp_close@Base 1.0.25
+ sane_hp_control_option@Base 1.0.25
+ sane_hp_exit@Base 1.0.25
+ sane_hp_get_devices@Base 1.0.25
+ sane_hp_get_option_descriptor@Base 1.0.25
+ sane_hp_get_parameters@Base 1.0.25
+ sane_hp_get_select_fd@Base 1.0.25
+ sane_hp_init@Base 1.0.25
+ sane_hp_open@Base 1.0.25
+ sane_hp_read@Base 1.0.25
+ sane_hp_set_io_mode@Base 1.0.25
+ sane_hp_start@Base 1.0.25
+ sane_hpljm1005_cancel@Base 1.0.25
+ sane_hpljm1005_close@Base 1.0.25
+ sane_hpljm1005_control_option@Base 1.0.25
+ sane_hpljm1005_exit@Base 1.0.25
+ sane_hpljm1005_get_devices@Base 1.0.25
+ sane_hpljm1005_get_option_descriptor@Base 1.0.25
+ sane_hpljm1005_get_parameters@Base 1.0.25
+ sane_hpljm1005_get_select_fd@Base 1.0.25
+ sane_hpljm1005_init@Base 1.0.25
+ sane_hpljm1005_open@Base 1.0.25
+ sane_hpljm1005_read@Base 1.0.25
+ sane_hpljm1005_set_io_mode@Base 1.0.25
+ sane_hpljm1005_start@Base 1.0.25
+ sane_hpsj5s_cancel@Base 1.0.25
+ sane_hpsj5s_close@Base 1.0.25
+ sane_hpsj5s_control_option@Base 1.0.25
+ sane_hpsj5s_exit@Base 1.0.25
+ sane_hpsj5s_get_devices@Base 1.0.25
+ sane_hpsj5s_get_option_descriptor@Base 1.0.25
+ sane_hpsj5s_get_parameters@Base 1.0.25
+ sane_hpsj5s_get_select_fd@Base 1.0.25
+ sane_hpsj5s_init@Base 1.0.25
+ sane_hpsj5s_open@Base 1.0.25
+ sane_hpsj5s_read@Base 1.0.25
+ sane_hpsj5s_set_io_mode@Base 1.0.25
+ sane_hpsj5s_start@Base 1.0.25
+ sane_hs2p_cancel@Base 1.0.25
+ sane_hs2p_close@Base 1.0.25
+ sane_hs2p_control_option@Base 1.0.25
+ sane_hs2p_exit@Base 1.0.25
+ sane_hs2p_get_devices@Base 1.0.25
+ sane_hs2p_get_option_descriptor@Base 1.0.25
+ sane_hs2p_get_parameters@Base 1.0.25
+ sane_hs2p_get_select_fd@Base 1.0.25
+ sane_hs2p_init@Base 1.0.25
+ sane_hs2p_open@Base 1.0.25
+ sane_hs2p_read@Base 1.0.25
+ sane_hs2p_set_io_mode@Base 1.0.25
+ sane_hs2p_start@Base 1.0.25
+ sane_ibm_cancel@Base 1.0.25
+ sane_ibm_close@Base 1.0.25
+ sane_ibm_control_option@Base 1.0.25
+ sane_ibm_exit@Base 1.0.25
+ sane_ibm_get_devices@Base 1.0.25
+ sane_ibm_get_option_descriptor@Base 1.0.25
+ sane_ibm_get_parameters@Base 1.0.25
+ sane_ibm_get_select_fd@Base 1.0.25
+ sane_ibm_init@Base 1.0.25
+ sane_ibm_open@Base 1.0.25
+ sane_ibm_read@Base 1.0.25
+ sane_ibm_set_io_mode@Base 1.0.25
+ sane_ibm_start@Base 1.0.25
+ sane_init@Base 1.0.24
+ sane_kodak_cancel@Base 1.0.25
+ sane_kodak_close@Base 1.0.25
+ sane_kodak_control_option@Base 1.0.25
+ sane_kodak_exit@Base 1.0.25
+ sane_kodak_get_devices@Base 1.0.25
+ sane_kodak_get_option_descriptor@Base 1.0.25
+ sane_kodak_get_parameters@Base 1.0.25
+ sane_kodak_get_select_fd@Base 1.0.25
+ sane_kodak_init@Base 1.0.25
+ sane_kodak_open@Base 1.0.25
+ sane_kodak_read@Base 1.0.25
+ sane_kodak_set_io_mode@Base 1.0.25
+ sane_kodak_start@Base 1.0.25
+ sane_kodakaio_cancel@Base 1.0.25
+ sane_kodakaio_close@Base 1.0.25
+ sane_kodakaio_control_option@Base 1.0.25
+ sane_kodakaio_exit@Base 1.0.25
+ sane_kodakaio_get_devices@Base 1.0.25
+ sane_kodakaio_get_option_descriptor@Base 1.0.25
+ sane_kodakaio_get_parameters@Base 1.0.25
+ sane_kodakaio_get_select_fd@Base 1.0.25
+ sane_kodakaio_init@Base 1.0.25
+ sane_kodakaio_open@Base 1.0.25
+ sane_kodakaio_read@Base 1.0.25
+ sane_kodakaio_set_io_mode@Base 1.0.25
+ sane_kodakaio_start@Base 1.0.25
+ sane_kvs1025_cancel@Base 1.0.25
+ sane_kvs1025_close@Base 1.0.25
+ sane_kvs1025_control_option@Base 1.0.25
+ sane_kvs1025_exit@Base 1.0.25
+ sane_kvs1025_get_devices@Base 1.0.25
+ sane_kvs1025_get_option_descriptor@Base 1.0.25
+ sane_kvs1025_get_parameters@Base 1.0.25
+ sane_kvs1025_get_select_fd@Base 1.0.25
+ sane_kvs1025_init@Base 1.0.25
+ sane_kvs1025_open@Base 1.0.25
+ sane_kvs1025_read@Base 1.0.25
+ sane_kvs1025_set_io_mode@Base 1.0.25
+ sane_kvs1025_start@Base 1.0.25
+ sane_kvs20xx_cancel@Base 1.0.25
+ sane_kvs20xx_close@Base 1.0.25
+ sane_kvs20xx_control_option@Base 1.0.25
+ sane_kvs20xx_exit@Base 1.0.25
+ sane_kvs20xx_get_devices@Base 1.0.25
+ sane_kvs20xx_get_option_descriptor@Base 1.0.25
+ sane_kvs20xx_get_parameters@Base 1.0.25
+ sane_kvs20xx_get_select_fd@Base 1.0.25
+ sane_kvs20xx_init@Base 1.0.25
+ sane_kvs20xx_open@Base 1.0.25
+ sane_kvs20xx_read@Base 1.0.25
+ sane_kvs20xx_set_io_mode@Base 1.0.25
+ sane_kvs20xx_start@Base 1.0.25
+ sane_kvs40xx_cancel@Base 1.0.25
+ sane_kvs40xx_close@Base 1.0.25
+ sane_kvs40xx_control_option@Base 1.0.25
+ sane_kvs40xx_exit@Base 1.0.25
+ sane_kvs40xx_get_devices@Base 1.0.25
+ sane_kvs40xx_get_option_descriptor@Base 1.0.25
+ sane_kvs40xx_get_parameters@Base 1.0.25
+ sane_kvs40xx_get_select_fd@Base 1.0.25
+ sane_kvs40xx_init@Base 1.0.25
+ sane_kvs40xx_open@Base 1.0.25
+ sane_kvs40xx_read@Base 1.0.25
+ sane_kvs40xx_set_io_mode@Base 1.0.25
+ sane_kvs40xx_start@Base 1.0.25
+ sane_leo_cancel@Base 1.0.25
+ sane_leo_close@Base 1.0.25
+ sane_leo_control_option@Base 1.0.25
+ sane_leo_exit@Base 1.0.25
+ sane_leo_get_devices@Base 1.0.25
+ sane_leo_get_option_descriptor@Base 1.0.25
+ sane_leo_get_parameters@Base 1.0.25
+ sane_leo_get_select_fd@Base 1.0.25
+ sane_leo_init@Base 1.0.25
+ sane_leo_open@Base 1.0.25
+ sane_leo_read@Base 1.0.25
+ sane_leo_set_io_mode@Base 1.0.25
+ sane_leo_start@Base 1.0.25
+ sane_lexmark_cancel@Base 1.0.25
+ sane_lexmark_close@Base 1.0.25
+ sane_lexmark_control_option@Base 1.0.25
+ sane_lexmark_exit@Base 1.0.25
+ sane_lexmark_get_devices@Base 1.0.25
+ sane_lexmark_get_option_descriptor@Base 1.0.25
+ sane_lexmark_get_parameters@Base 1.0.25
+ sane_lexmark_get_select_fd@Base 1.0.25
+ sane_lexmark_init@Base 1.0.25
+ sane_lexmark_open@Base 1.0.25
+ sane_lexmark_read@Base 1.0.25
+ sane_lexmark_set_io_mode@Base 1.0.25
+ sane_lexmark_start@Base 1.0.25
+ sane_ma1509_cancel@Base 1.0.25
+ sane_ma1509_close@Base 1.0.25
+ sane_ma1509_control_option@Base 1.0.25
+ sane_ma1509_exit@Base 1.0.25
+ sane_ma1509_get_devices@Base 1.0.25
+ sane_ma1509_get_option_descriptor@Base 1.0.25
+ sane_ma1509_get_parameters@Base 1.0.25
+ sane_ma1509_get_select_fd@Base 1.0.25
+ sane_ma1509_init@Base 1.0.25
+ sane_ma1509_open@Base 1.0.25
+ sane_ma1509_read@Base 1.0.25
+ sane_ma1509_set_io_mode@Base 1.0.25
+ sane_ma1509_start@Base 1.0.25
+ sane_magicolor_cancel@Base 1.0.25
+ sane_magicolor_close@Base 1.0.25
+ sane_magicolor_control_option@Base 1.0.25
+ sane_magicolor_exit@Base 1.0.25
+ sane_magicolor_get_devices@Base 1.0.25
+ sane_magicolor_get_option_descriptor@Base 1.0.25
+ sane_magicolor_get_parameters@Base 1.0.25
+ sane_magicolor_get_select_fd@Base 1.0.25
+ sane_magicolor_init@Base 1.0.25
+ sane_magicolor_open@Base 1.0.25
+ sane_magicolor_read@Base 1.0.25
+ sane_magicolor_set_io_mode@Base 1.0.25
+ sane_magicolor_start@Base 1.0.25
+ sane_matsushita_cancel@Base 1.0.25
+ sane_matsushita_close@Base 1.0.25
+ sane_matsushita_control_option@Base 1.0.25
+ sane_matsushita_exit@Base 1.0.25
+ sane_matsushita_get_devices@Base 1.0.25
+ sane_matsushita_get_option_descriptor@Base 1.0.25
+ sane_matsushita_get_parameters@Base 1.0.25
+ sane_matsushita_get_select_fd@Base 1.0.25
+ sane_matsushita_init@Base 1.0.25
+ sane_matsushita_open@Base 1.0.25
+ sane_matsushita_read@Base 1.0.25
+ sane_matsushita_set_io_mode@Base 1.0.25
+ sane_matsushita_start@Base 1.0.25
+ sane_microtek2_cancel@Base 1.0.25
+ sane_microtek2_close@Base 1.0.25
+ sane_microtek2_control_option@Base 1.0.25
+ sane_microtek2_exit@Base 1.0.25
+ sane_microtek2_get_devices@Base 1.0.25
+ sane_microtek2_get_option_descriptor@Base 1.0.25
+ sane_microtek2_get_parameters@Base 1.0.25
+ sane_microtek2_get_select_fd@Base 1.0.25
+ sane_microtek2_init@Base 1.0.25
+ sane_microtek2_open@Base 1.0.25
+ sane_microtek2_read@Base 1.0.25
+ sane_microtek2_set_io_mode@Base 1.0.25
+ sane_microtek2_start@Base 1.0.25
+ sane_microtek_cancel@Base 1.0.25
+ sane_microtek_close@Base 1.0.25
+ sane_microtek_control_option@Base 1.0.25
+ sane_microtek_exit@Base 1.0.25
+ sane_microtek_get_devices@Base 1.0.25
+ sane_microtek_get_option_descriptor@Base 1.0.25
+ sane_microtek_get_parameters@Base 1.0.25
+ sane_microtek_get_select_fd@Base 1.0.25
+ sane_microtek_init@Base 1.0.25
+ sane_microtek_open@Base 1.0.25
+ sane_microtek_read@Base 1.0.25
+ sane_microtek_set_io_mode@Base 1.0.25
+ sane_microtek_start@Base 1.0.25
+ sane_mustek_cancel@Base 1.0.25
+ sane_mustek_close@Base 1.0.25
+ sane_mustek_control_option@Base 1.0.25
+ sane_mustek_exit@Base 1.0.25
+ sane_mustek_get_devices@Base 1.0.25
+ sane_mustek_get_option_descriptor@Base 1.0.25
+ sane_mustek_get_parameters@Base 1.0.25
+ sane_mustek_get_select_fd@Base 1.0.25
+ sane_mustek_init@Base 1.0.25
+ sane_mustek_open@Base 1.0.25
+ sane_mustek_pp_cancel@Base 1.0.25
+ sane_mustek_pp_close@Base 1.0.25
+ sane_mustek_pp_control_option@Base 1.0.25
+ sane_mustek_pp_exit@Base 1.0.25
+ sane_mustek_pp_get_devices@Base 1.0.25
+ sane_mustek_pp_get_option_descriptor@Base 1.0.25
+ sane_mustek_pp_get_parameters@Base 1.0.25
+ sane_mustek_pp_get_select_fd@Base 1.0.25
+ sane_mustek_pp_init@Base 1.0.25
+ sane_mustek_pp_open@Base 1.0.25
+ sane_mustek_pp_read@Base 1.0.25
+ sane_mustek_pp_set_io_mode@Base 1.0.25
+ sane_mustek_pp_start@Base 1.0.25
+ sane_mustek_read@Base 1.0.25
+ sane_mustek_set_io_mode@Base 1.0.25
+ sane_mustek_start@Base 1.0.25
+ sane_mustek_usb2_cancel@Base 1.0.25
+ sane_mustek_usb2_close@Base 1.0.25
+ sane_mustek_usb2_control_option@Base 1.0.25
+ sane_mustek_usb2_exit@Base 1.0.25
+ sane_mustek_usb2_get_devices@Base 1.0.25
+ sane_mustek_usb2_get_option_descriptor@Base 1.0.25
+ sane_mustek_usb2_get_parameters@Base 1.0.25
+ sane_mustek_usb2_get_select_fd@Base 1.0.25
+ sane_mustek_usb2_init@Base 1.0.25
+ sane_mustek_usb2_open@Base 1.0.25
+ sane_mustek_usb2_read@Base 1.0.25
+ sane_mustek_usb2_set_io_mode@Base 1.0.25
+ sane_mustek_usb2_start@Base 1.0.25
+ sane_mustek_usb_cancel@Base 1.0.25
+ sane_mustek_usb_close@Base 1.0.25
+ sane_mustek_usb_control_option@Base 1.0.25
+ sane_mustek_usb_exit@Base 1.0.25
+ sane_mustek_usb_get_devices@Base 1.0.25
+ sane_mustek_usb_get_option_descriptor@Base 1.0.25
+ sane_mustek_usb_get_parameters@Base 1.0.25
+ sane_mustek_usb_get_select_fd@Base 1.0.25
+ sane_mustek_usb_init@Base 1.0.25
+ sane_mustek_usb_open@Base 1.0.25
+ sane_mustek_usb_read@Base 1.0.25
+ sane_mustek_usb_set_io_mode@Base 1.0.25
+ sane_mustek_usb_start@Base 1.0.25
+ sane_nec_cancel@Base 1.0.25
+ sane_nec_close@Base 1.0.25
+ sane_nec_control_option@Base 1.0.25
+ sane_nec_exit@Base 1.0.25
+ sane_nec_get_devices@Base 1.0.25
+ sane_nec_get_option_descriptor@Base 1.0.25
+ sane_nec_get_parameters@Base 1.0.25
+ sane_nec_get_select_fd@Base 1.0.25
+ sane_nec_init@Base 1.0.25
+ sane_nec_open@Base 1.0.25
+ sane_nec_read@Base 1.0.25
+ sane_nec_set_io_mode@Base 1.0.25
+ sane_nec_start@Base 1.0.25
+ sane_net_cancel@Base 1.0.25
+ sane_net_close@Base 1.0.25
+ sane_net_control_option@Base 1.0.25
+ sane_net_exit@Base 1.0.25
+ sane_net_get_devices@Base 1.0.25
+ sane_net_get_option_descriptor@Base 1.0.25
+ sane_net_get_parameters@Base 1.0.25
+ sane_net_get_select_fd@Base 1.0.25
+ sane_net_init@Base 1.0.25
+ sane_net_open@Base 1.0.25
+ sane_net_read@Base 1.0.25
+ sane_net_set_io_mode@Base 1.0.25
+ sane_net_start@Base 1.0.25
+ sane_niash_cancel@Base 1.0.25
+ sane_niash_close@Base 1.0.25
+ sane_niash_control_option@Base 1.0.25
+ sane_niash_exit@Base 1.0.25
+ sane_niash_get_devices@Base 1.0.25
+ sane_niash_get_option_descriptor@Base 1.0.25
+ sane_niash_get_parameters@Base 1.0.25
+ sane_niash_get_select_fd@Base 1.0.25
+ sane_niash_init@Base 1.0.25
+ sane_niash_open@Base 1.0.25
+ sane_niash_read@Base 1.0.25
+ sane_niash_set_io_mode@Base 1.0.25
+ sane_niash_start@Base 1.0.25
+ sane_open@Base 1.0.24
+ sane_p5_cancel@Base 1.0.25
+ sane_p5_close@Base 1.0.25
+ sane_p5_control_option@Base 1.0.25
+ sane_p5_exit@Base 1.0.25
+ sane_p5_get_devices@Base 1.0.25
+ sane_p5_get_option_descriptor@Base 1.0.25
+ sane_p5_get_parameters@Base 1.0.25
+ sane_p5_get_select_fd@Base 1.0.25
+ sane_p5_init@Base 1.0.25
+ sane_p5_open@Base 1.0.25
+ sane_p5_read@Base 1.0.25
+ sane_p5_set_io_mode@Base 1.0.25
+ sane_p5_start@Base 1.0.25
+ sane_pie_cancel@Base 1.0.25
+ sane_pie_close@Base 1.0.25
+ sane_pie_control_option@Base 1.0.25
+ sane_pie_exit@Base 1.0.25
+ sane_pie_get_devices@Base 1.0.25
+ sane_pie_get_option_descriptor@Base 1.0.25
+ sane_pie_get_parameters@Base 1.0.25
+ sane_pie_get_select_fd@Base 1.0.25
+ sane_pie_init@Base 1.0.25
+ sane_pie_open@Base 1.0.25
+ sane_pie_read@Base 1.0.25
+ sane_pie_set_io_mode@Base 1.0.25
+ sane_pie_start@Base 1.0.25
+ sane_pixma_cancel@Base 1.0.25
+ sane_pixma_close@Base 1.0.25
+ sane_pixma_control_option@Base 1.0.25
+ sane_pixma_exit@Base 1.0.25
+ sane_pixma_get_devices@Base 1.0.25
+ sane_pixma_get_option_descriptor@Base 1.0.25
+ sane_pixma_get_parameters@Base 1.0.25
+ sane_pixma_get_select_fd@Base 1.0.25
+ sane_pixma_init@Base 1.0.25
+ sane_pixma_open@Base 1.0.25
+ sane_pixma_read@Base 1.0.25
+ sane_pixma_set_io_mode@Base 1.0.25
+ sane_pixma_start@Base 1.0.25
+ sane_plustek_cancel@Base 1.0.25
+ sane_plustek_close@Base 1.0.25
+ sane_plustek_control_option@Base 1.0.25
+ sane_plustek_exit@Base 1.0.25
+ sane_plustek_get_devices@Base 1.0.25
+ sane_plustek_get_option_descriptor@Base 1.0.25
+ sane_plustek_get_parameters@Base 1.0.25
+ sane_plustek_get_select_fd@Base 1.0.25
+ sane_plustek_init@Base 1.0.25
+ sane_plustek_open@Base 1.0.25
+ sane_plustek_pp_cancel@Base 1.0.25
+ sane_plustek_pp_close@Base 1.0.25
+ sane_plustek_pp_control_option@Base 1.0.25
+ sane_plustek_pp_exit@Base 1.0.25
+ sane_plustek_pp_get_devices@Base 1.0.25
+ sane_plustek_pp_get_option_descriptor@Base 1.0.25
+ sane_plustek_pp_get_parameters@Base 1.0.25
+ sane_plustek_pp_get_select_fd@Base 1.0.25
+ sane_plustek_pp_init@Base 1.0.25
+ sane_plustek_pp_open@Base 1.0.25
+ sane_plustek_pp_read@Base 1.0.25
+ sane_plustek_pp_set_io_mode@Base 1.0.25
+ sane_plustek_pp_start@Base 1.0.25
+ sane_plustek_read@Base 1.0.25
+ sane_plustek_set_io_mode@Base 1.0.25
+ sane_plustek_start@Base 1.0.25
+ sane_pnm_cancel@Base 1.0.25
+ sane_pnm_close@Base 1.0.25
+ sane_pnm_control_option@Base 1.0.25
+ sane_pnm_exit@Base 1.0.25
+ sane_pnm_get_devices@Base 1.0.25
+ sane_pnm_get_option_descriptor@Base 1.0.25
+ sane_pnm_get_parameters@Base 1.0.25
+ sane_pnm_get_select_fd@Base 1.0.25
+ sane_pnm_init@Base 1.0.25
+ sane_pnm_open@Base 1.0.25
+ sane_pnm_read@Base 1.0.25
+ sane_pnm_set_io_mode@Base 1.0.25
+ sane_pnm_start@Base 1.0.25
+ sane_qcam_cancel@Base 1.0.25
+ sane_qcam_close@Base 1.0.25
+ sane_qcam_control_option@Base 1.0.25
+ sane_qcam_exit@Base 1.0.25
+ sane_qcam_get_devices@Base 1.0.25
+ sane_qcam_get_option_descriptor@Base 1.0.25
+ sane_qcam_get_parameters@Base 1.0.25
+ sane_qcam_get_select_fd@Base 1.0.25
+ sane_qcam_init@Base 1.0.25
+ sane_qcam_open@Base 1.0.25
+ sane_qcam_read@Base 1.0.25
+ sane_qcam_set_io_mode@Base 1.0.25
+ sane_qcam_start@Base 1.0.25
+ sane_read@Base 1.0.24
+ sane_ricoh_cancel@Base 1.0.25
+ sane_ricoh_close@Base 1.0.25
+ sane_ricoh_control_option@Base 1.0.25
+ sane_ricoh_exit@Base 1.0.25
+ sane_ricoh_get_devices@Base 1.0.25
+ sane_ricoh_get_option_descriptor@Base 1.0.25
+ sane_ricoh_get_parameters@Base 1.0.25
+ sane_ricoh_get_select_fd@Base 1.0.25
+ sane_ricoh_init@Base 1.0.25
+ sane_ricoh_open@Base 1.0.25
+ sane_ricoh_read@Base 1.0.25
+ sane_ricoh_set_io_mode@Base 1.0.25
+ sane_ricoh_start@Base 1.0.25
+ sane_rts8891_cancel@Base 1.0.25
+ sane_rts8891_close@Base 1.0.25
+ sane_rts8891_control_option@Base 1.0.25
+ sane_rts8891_exit@Base 1.0.25
+ sane_rts8891_get_devices@Base 1.0.25
+ sane_rts8891_get_option_descriptor@Base 1.0.25
+ sane_rts8891_get_parameters@Base 1.0.25
+ sane_rts8891_get_select_fd@Base 1.0.25
+ sane_rts8891_init@Base 1.0.25
+ sane_rts8891_open@Base 1.0.25
+ sane_rts8891_read@Base 1.0.25
+ sane_rts8891_set_io_mode@Base 1.0.25
+ sane_rts8891_start@Base 1.0.25
+ sane_s9036_cancel@Base 1.0.25
+ sane_s9036_close@Base 1.0.25
+ sane_s9036_control_option@Base 1.0.25
+ sane_s9036_exit@Base 1.0.25
+ sane_s9036_get_devices@Base 1.0.25
+ sane_s9036_get_option_descriptor@Base 1.0.25
+ sane_s9036_get_parameters@Base 1.0.25
+ sane_s9036_get_select_fd@Base 1.0.25
+ sane_s9036_init@Base 1.0.25
+ sane_s9036_open@Base 1.0.25
+ sane_s9036_read@Base 1.0.25
+ sane_s9036_set_io_mode@Base 1.0.25
+ sane_s9036_start@Base 1.0.25
+ sane_sceptre_cancel@Base 1.0.25
+ sane_sceptre_close@Base 1.0.25
+ sane_sceptre_control_option@Base 1.0.25
+ sane_sceptre_exit@Base 1.0.25
+ sane_sceptre_get_devices@Base 1.0.25
+ sane_sceptre_get_option_descriptor@Base 1.0.25
+ sane_sceptre_get_parameters@Base 1.0.25
+ sane_sceptre_get_select_fd@Base 1.0.25
+ sane_sceptre_init@Base 1.0.25
+ sane_sceptre_open@Base 1.0.25
+ sane_sceptre_read@Base 1.0.25
+ sane_sceptre_set_io_mode@Base 1.0.25
+ sane_sceptre_start@Base 1.0.25
+ sane_set_io_mode@Base 1.0.24
+ sane_sharp_cancel@Base 1.0.25
+ sane_sharp_close@Base 1.0.25
+ sane_sharp_control_option@Base 1.0.25
+ sane_sharp_exit@Base 1.0.25
+ sane_sharp_get_devices@Base 1.0.25
+ sane_sharp_get_option_descriptor@Base 1.0.25
+ sane_sharp_get_parameters@Base 1.0.25
+ sane_sharp_get_select_fd@Base 1.0.25
+ sane_sharp_init@Base 1.0.25
+ sane_sharp_open@Base 1.0.25
+ sane_sharp_read@Base 1.0.25
+ sane_sharp_set_io_mode@Base 1.0.25
+ sane_sharp_start@Base 1.0.25
+ sane_sm3600_cancel@Base 1.0.25
+ sane_sm3600_close@Base 1.0.25
+ sane_sm3600_control_option@Base 1.0.25
+ sane_sm3600_exit@Base 1.0.25
+ sane_sm3600_get_devices@Base 1.0.25
+ sane_sm3600_get_option_descriptor@Base 1.0.25
+ sane_sm3600_get_parameters@Base 1.0.25
+ sane_sm3600_get_select_fd@Base 1.0.25
+ sane_sm3600_init@Base 1.0.25
+ sane_sm3600_open@Base 1.0.25
+ sane_sm3600_read@Base 1.0.25
+ sane_sm3600_set_io_mode@Base 1.0.25
+ sane_sm3600_start@Base 1.0.25
+ sane_sm3840_cancel@Base 1.0.25
+ sane_sm3840_close@Base 1.0.25
+ sane_sm3840_control_option@Base 1.0.25
+ sane_sm3840_exit@Base 1.0.25
+ sane_sm3840_get_devices@Base 1.0.25
+ sane_sm3840_get_option_descriptor@Base 1.0.25
+ sane_sm3840_get_parameters@Base 1.0.25
+ sane_sm3840_get_select_fd@Base 1.0.25
+ sane_sm3840_init@Base 1.0.25
+ sane_sm3840_open@Base 1.0.25
+ sane_sm3840_read@Base 1.0.25
+ sane_sm3840_set_io_mode@Base 1.0.25
+ sane_sm3840_start@Base 1.0.25
+ sane_snapscan_cancel@Base 1.0.25
+ sane_snapscan_close@Base 1.0.25
+ sane_snapscan_control_option@Base 1.0.25
+ sane_snapscan_exit@Base 1.0.25
+ sane_snapscan_get_devices@Base 1.0.25
+ sane_snapscan_get_option_descriptor@Base 1.0.25
+ sane_snapscan_get_parameters@Base 1.0.25
+ sane_snapscan_get_select_fd@Base 1.0.25
+ sane_snapscan_init@Base 1.0.25
+ sane_snapscan_open@Base 1.0.25
+ sane_snapscan_read@Base 1.0.25
+ sane_snapscan_set_io_mode@Base 1.0.25
+ sane_snapscan_start@Base 1.0.25
+ sane_sp15c_cancel@Base 1.0.25
+ sane_sp15c_close@Base 1.0.25
+ sane_sp15c_control_option@Base 1.0.25
+ sane_sp15c_exit@Base 1.0.25
+ sane_sp15c_get_devices@Base 1.0.25
+ sane_sp15c_get_option_descriptor@Base 1.0.25
+ sane_sp15c_get_parameters@Base 1.0.25
+ sane_sp15c_get_select_fd@Base 1.0.25
+ sane_sp15c_init@Base 1.0.25
+ sane_sp15c_open@Base 1.0.25
+ sane_sp15c_read@Base 1.0.25
+ sane_sp15c_set_io_mode@Base 1.0.25
+ sane_sp15c_start@Base 1.0.25
+ sane_st400_cancel@Base 1.0.25
+ sane_st400_close@Base 1.0.25
+ sane_st400_control_option@Base 1.0.25
+ sane_st400_exit@Base 1.0.25
+ sane_st400_get_devices@Base 1.0.25
+ sane_st400_get_option_descriptor@Base 1.0.25
+ sane_st400_get_parameters@Base 1.0.25
+ sane_st400_get_select_fd@Base 1.0.25
+ sane_st400_init@Base 1.0.25
+ sane_st400_open@Base 1.0.25
+ sane_st400_read@Base 1.0.25
+ sane_st400_set_io_mode@Base 1.0.25
+ sane_st400_start@Base 1.0.25
+ sane_start@Base 1.0.24
+ sane_strstatus@Base 1.0.24
+ sane_stv680_cancel@Base 1.0.25
+ sane_stv680_close@Base 1.0.25
+ sane_stv680_control_option@Base 1.0.25
+ sane_stv680_exit@Base 1.0.25
+ sane_stv680_get_devices@Base 1.0.25
+ sane_stv680_get_option_descriptor@Base 1.0.25
+ sane_stv680_get_parameters@Base 1.0.25
+ sane_stv680_get_select_fd@Base 1.0.25
+ sane_stv680_init@Base 1.0.25
+ sane_stv680_open@Base 1.0.25
+ sane_stv680_read@Base 1.0.25
+ sane_stv680_set_io_mode@Base 1.0.25
+ sane_stv680_start@Base 1.0.25
+ sane_tamarack_cancel@Base 1.0.25
+ sane_tamarack_close@Base 1.0.25
+ sane_tamarack_control_option@Base 1.0.25
+ sane_tamarack_exit@Base 1.0.25
+ sane_tamarack_get_devices@Base 1.0.25
+ sane_tamarack_get_option_descriptor@Base 1.0.25
+ sane_tamarack_get_parameters@Base 1.0.25
+ sane_tamarack_get_select_fd@Base 1.0.25
+ sane_tamarack_init@Base 1.0.25
+ sane_tamarack_open@Base 1.0.25
+ sane_tamarack_read@Base 1.0.25
+ sane_tamarack_set_io_mode@Base 1.0.25
+ sane_tamarack_start@Base 1.0.25
+ sane_teco1_cancel@Base 1.0.25
+ sane_teco1_close@Base 1.0.25
+ sane_teco1_control_option@Base 1.0.25
+ sane_teco1_exit@Base 1.0.25
+ sane_teco1_get_devices@Base 1.0.25
+ sane_teco1_get_option_descriptor@Base 1.0.25
+ sane_teco1_get_parameters@Base 1.0.25
+ sane_teco1_get_select_fd@Base 1.0.25
+ sane_teco1_init@Base 1.0.25
+ sane_teco1_open@Base 1.0.25
+ sane_teco1_read@Base 1.0.25
+ sane_teco1_set_io_mode@Base 1.0.25
+ sane_teco1_start@Base 1.0.25
+ sane_teco2_cancel@Base 1.0.25
+ sane_teco2_close@Base 1.0.25
+ sane_teco2_control_option@Base 1.0.25
+ sane_teco2_exit@Base 1.0.25
+ sane_teco2_get_devices@Base 1.0.25
+ sane_teco2_get_option_descriptor@Base 1.0.25
+ sane_teco2_get_parameters@Base 1.0.25
+ sane_teco2_get_select_fd@Base 1.0.25
+ sane_teco2_init@Base 1.0.25
+ sane_teco2_open@Base 1.0.25
+ sane_teco2_read@Base 1.0.25
+ sane_teco2_set_io_mode@Base 1.0.25
+ sane_teco2_start@Base 1.0.25
+ sane_teco3_cancel@Base 1.0.25
+ sane_teco3_close@Base 1.0.25
+ sane_teco3_control_option@Base 1.0.25
+ sane_teco3_exit@Base 1.0.25
+ sane_teco3_get_devices@Base 1.0.25
+ sane_teco3_get_option_descriptor@Base 1.0.25
+ sane_teco3_get_parameters@Base 1.0.25
+ sane_teco3_get_select_fd@Base 1.0.25
+ sane_teco3_init@Base 1.0.25
+ sane_teco3_open@Base 1.0.25
+ sane_teco3_read@Base 1.0.25
+ sane_teco3_set_io_mode@Base 1.0.25
+ sane_teco3_start@Base 1.0.25
+ sane_test_cancel@Base 1.0.25
+ sane_test_close@Base 1.0.25
+ sane_test_control_option@Base 1.0.25
+ sane_test_exit@Base 1.0.25
+ sane_test_get_devices@Base 1.0.25
+ sane_test_get_option_descriptor@Base 1.0.25
+ sane_test_get_parameters@Base 1.0.25
+ sane_test_get_select_fd@Base 1.0.25
+ sane_test_init@Base 1.0.25
+ sane_test_open@Base 1.0.25
+ sane_test_read@Base 1.0.25
+ sane_test_set_io_mode@Base 1.0.25
+ sane_test_start@Base 1.0.25
+ sane_u12_cancel@Base 1.0.25
+ sane_u12_close@Base 1.0.25
+ sane_u12_control_option@Base 1.0.25
+ sane_u12_exit@Base 1.0.25
+ sane_u12_get_devices@Base 1.0.25
+ sane_u12_get_option_descriptor@Base 1.0.25
+ sane_u12_get_parameters@Base 1.0.25
+ sane_u12_get_select_fd@Base 1.0.25
+ sane_u12_init@Base 1.0.25
+ sane_u12_open@Base 1.0.25
+ sane_u12_read@Base 1.0.25
+ sane_u12_set_io_mode@Base 1.0.25
+ sane_u12_start@Base 1.0.25
+ sane_umax1220u_cancel@Base 1.0.25
+ sane_umax1220u_close@Base 1.0.25
+ sane_umax1220u_control_option@Base 1.0.25
+ sane_umax1220u_exit@Base 1.0.25
+ sane_umax1220u_get_devices@Base 1.0.25
+ sane_umax1220u_get_option_descriptor@Base 1.0.25
+ sane_umax1220u_get_parameters@Base 1.0.25
+ sane_umax1220u_get_select_fd@Base 1.0.25
+ sane_umax1220u_init@Base 1.0.25
+ sane_umax1220u_open@Base 1.0.25
+ sane_umax1220u_read@Base 1.0.25
+ sane_umax1220u_set_io_mode@Base 1.0.25
+ sane_umax1220u_start@Base 1.0.25
+ sane_umax_cancel@Base 1.0.25
+ sane_umax_close@Base 1.0.25
+ sane_umax_control_option@Base 1.0.25
+ sane_umax_exit@Base 1.0.25
+ sane_umax_get_devices@Base 1.0.25
+ sane_umax_get_option_descriptor@Base 1.0.25
+ sane_umax_get_parameters@Base 1.0.25
+ sane_umax_get_select_fd@Base 1.0.25
+ sane_umax_init@Base 1.0.25
+ sane_umax_open@Base 1.0.25
+ sane_umax_pp_cancel@Base 1.0.25
+ sane_umax_pp_close@Base 1.0.25
+ sane_umax_pp_control_option@Base 1.0.25
+ sane_umax_pp_exit@Base 1.0.25
+ sane_umax_pp_get_devices@Base 1.0.25
+ sane_umax_pp_get_option_descriptor@Base 1.0.25
+ sane_umax_pp_get_parameters@Base 1.0.25
+ sane_umax_pp_get_select_fd@Base 1.0.25
+ sane_umax_pp_init@Base 1.0.25
+ sane_umax_pp_open@Base 1.0.25
+ sane_umax_pp_read@Base 1.0.25
+ sane_umax_pp_set_io_mode@Base 1.0.25
+ sane_umax_pp_start@Base 1.0.25
+ sane_umax_read@Base 1.0.25
+ sane_umax_set_io_mode@Base 1.0.25
+ sane_umax_start@Base 1.0.25
+ sane_xerox_mfp_cancel@Base 1.0.25
+ sane_xerox_mfp_close@Base 1.0.25
+ sane_xerox_mfp_control_option@Base 1.0.25
+ sane_xerox_mfp_exit@Base 1.0.25
+ sane_xerox_mfp_get_devices@Base 1.0.25
+ sane_xerox_mfp_get_option_descriptor@Base 1.0.25
+ sane_xerox_mfp_get_parameters@Base 1.0.25
+ sane_xerox_mfp_get_select_fd@Base 1.0.25
+ sane_xerox_mfp_init@Base 1.0.25
+ sane_xerox_mfp_open@Base 1.0.25
+ sane_xerox_mfp_read@Base 1.0.25
+ sane_xerox_mfp_set_io_mode@Base 1.0.25
+ sane_xerox_mfp_start@Base 1.0.25
+ sanei__hp_accessor_data@Base 1.0.25
+ sanei_ab306_close@Base 1.0.25
+ sanei_ab306_cmd@Base 1.0.25
+ sanei_ab306_exit@Base 1.0.25
+ sanei_ab306_get_io_privilege@Base 1.0.25
+ sanei_ab306_open@Base 1.0.25
+ sanei_ab306_rdata@Base 1.0.25
+ sanei_ab306_test_ready@Base 1.0.25
+ sanei_access_init@Base 1.0.25
+ sanei_access_lock@Base 1.0.25
+ sanei_access_unlock@Base 1.0.25
+ sanei_bjnp_activate@Base 1.0.25
+ sanei_bjnp_close@Base 1.0.25
+ sanei_bjnp_deactivate@Base 1.0.25
+ sanei_bjnp_find_devices@Base 1.0.25
+ sanei_bjnp_init@Base 1.0.25
+ sanei_bjnp_open@Base 1.0.25
+ sanei_bjnp_read_bulk@Base 1.0.25
+ sanei_bjnp_read_int@Base 1.0.25
+ sanei_bjnp_set_timeout@Base 1.0.25
+ sanei_bjnp_write_bulk@Base 1.0.25
+ sanei_canon_pp_abort_scan@Base 1.0.25
+ sanei_canon_pp_adjust_gamma@Base 1.0.25
+ sanei_canon_pp_calibrate@Base 1.0.25
+ sanei_canon_pp_check_status@Base 1.0.25
+ sanei_canon_pp_close_scanner@Base 1.0.25
+ sanei_canon_pp_detect@Base 1.0.25
+ sanei_canon_pp_init_scan@Base 1.0.25
+ sanei_canon_pp_initialise@Base 1.0.25
+ sanei_canon_pp_load_weights@Base 1.0.25
+ sanei_canon_pp_read@Base 1.0.25
+ sanei_canon_pp_read_segment@Base 1.0.25
+ sanei_canon_pp_scanner_init@Base 1.0.25
+ sanei_canon_pp_set_ieee1284_mode@Base 1.0.25
+ sanei_canon_pp_sleep_scanner@Base 1.0.25
+ sanei_canon_pp_wake_scanner@Base 1.0.25
+ sanei_canon_pp_write@Base 1.0.25
+ sanei_check_value@Base 1.0.24
+ sanei_codec_bin_init@Base 1.0.25
+ sanei_config_attach_matching_devices@Base 1.0.25
+ sanei_config_get_paths@Base 1.0.24
+ sanei_config_get_string@Base 1.0.24
+ sanei_config_open@Base 1.0.24
+ sanei_config_read@Base 1.0.24
+ sanei_config_skip_whitespace@Base 1.0.24
+ sanei_configure_attach@Base 1.0.24
+ sanei_constrain_value@Base 1.0.24
+ sanei_debug_abaton@Base 1.0.25
+ sanei_debug_agfafocus@Base 1.0.25
+ sanei_debug_apple@Base 1.0.25
+ sanei_debug_artec@Base 1.0.25
+ sanei_debug_artec_eplus48u@Base 1.0.25
+ sanei_debug_as6e@Base 1.0.25
+ sanei_debug_avision@Base 1.0.25
+ sanei_debug_bh@Base 1.0.25
+ sanei_debug_bjnp@Base 1.0.25
+ sanei_debug_canon630u@Base 1.0.25
+ sanei_debug_canon@Base 1.0.25
+ sanei_debug_canon_dr@Base 1.0.25
+ sanei_debug_canon_pp@Base 1.0.25
+ sanei_debug_canon_pp_call@Base 1.0.25
+ sanei_debug_cardscan@Base 1.0.25
+ sanei_debug_coolscan2@Base 1.0.25
+ sanei_debug_coolscan3@Base 1.0.25
+ sanei_debug_coolscan@Base 1.0.25
+ sanei_debug_dc210@Base 1.0.25
+ sanei_debug_dc240@Base 1.0.25
+ sanei_debug_dc25@Base 1.0.25
+ sanei_debug_dell1600n_net@Base 1.0.25
+ sanei_debug_dll@Base 1.0.25
+ sanei_debug_dmc@Base 1.0.25
+ sanei_debug_epjitsu@Base 1.0.25
+ sanei_debug_epson2@Base 1.0.25
+ sanei_debug_epson2_call@Base 1.0.25
+ sanei_debug_epson2_scsi@Base 1.0.25
+ sanei_debug_epson@Base 1.0.25
+ sanei_debug_epson_scsi@Base 1.0.25
+ sanei_debug_epsonds@Base 1.0.25
+ sanei_debug_epsonds_call@Base 1.0.25
+ sanei_debug_fujitsu@Base 1.0.25
+ sanei_debug_genesys@Base 1.0.25
+ sanei_debug_genesys_gl124@Base 1.0.25
+ sanei_debug_genesys_gl646@Base 1.0.25
+ sanei_debug_genesys_gl841@Base 1.0.25
+ sanei_debug_genesys_gl843@Base 1.0.25
+ sanei_debug_genesys_gl846@Base 1.0.25
+ sanei_debug_genesys_gl847@Base 1.0.25
+ sanei_debug_genesys_low@Base 1.0.25
+ sanei_debug_gphoto2@Base 1.0.25
+ sanei_debug_gt68xx@Base 1.0.25
+ sanei_debug_hp3500@Base 1.0.25
+ sanei_debug_hp3900@Base 1.0.25
+ sanei_debug_hp4200@Base 1.0.25
+ sanei_debug_hp5400@Base 1.0.25
+ sanei_debug_hp5400_call@Base 1.0.25
+ sanei_debug_hp5590@Base 1.0.25
+ sanei_debug_hp@Base 1.0.25
+ sanei_debug_hp_call@Base 1.0.25
+ sanei_debug_hpljm1005@Base 1.0.25
+ sanei_debug_hpsj5s@Base 1.0.25
+ sanei_debug_hs2p@Base 1.0.25
+ sanei_debug_ibm@Base 1.0.25
+ sanei_debug_kodak@Base 1.0.25
+ sanei_debug_kodakaio@Base 1.0.25
+ sanei_debug_kvs1025@Base 1.0.25
+ sanei_debug_kvs1025_call@Base 1.0.25
+ sanei_debug_kvs20xx@Base 1.0.25
+ sanei_debug_kvs20xx_call@Base 1.0.25
+ sanei_debug_kvs40xx@Base 1.0.25
+ sanei_debug_kvs40xx_call@Base 1.0.25
+ sanei_debug_leo@Base 1.0.25
+ sanei_debug_lexmark@Base 1.0.25
+ sanei_debug_lexmark_low@Base 1.0.25
+ sanei_debug_ma1509@Base 1.0.25
+ sanei_debug_magicolor@Base 1.0.25
+ sanei_debug_matsushita@Base 1.0.25
+ sanei_debug_microtek2@Base 1.0.25
+ sanei_debug_microtek@Base 1.0.25
+ sanei_debug_msg@Base 1.0.24
+ sanei_debug_mustek@Base 1.0.25
+ sanei_debug_mustek_pp@Base 1.0.25
+ sanei_debug_mustek_usb2@Base 1.0.25
+ sanei_debug_mustek_usb@Base 1.0.25
+ sanei_debug_nec@Base 1.0.25
+ sanei_debug_net@Base 1.0.25
+ sanei_debug_niash@Base 1.0.25
+ sanei_debug_p5@Base 1.0.25
+ sanei_debug_pie@Base 1.0.25
+ sanei_debug_pixma@Base 1.0.25
+ sanei_debug_pixma_call@Base 1.0.25
+ sanei_debug_plustek@Base 1.0.25
+ sanei_debug_plustek_pp@Base 1.0.25
+ sanei_debug_pnm@Base 1.0.25
+ sanei_debug_qcam@Base 1.0.25
+ sanei_debug_ricoh@Base 1.0.25
+ sanei_debug_rts8891@Base 1.0.25
+ sanei_debug_rts88xx_lib@Base 1.0.25
+ sanei_debug_s9036@Base 1.0.25
+ sanei_debug_sanei_ab306@Base 1.0.25
+ sanei_debug_sanei_access@Base 1.0.25
+ sanei_debug_sanei_config@Base 1.0.24
+ sanei_debug_sanei_debug@Base 1.0.24
+ sanei_debug_sanei_lm983x@Base 1.0.25
+ sanei_debug_sanei_magic@Base 1.0.25
+ sanei_debug_sanei_pa4s2@Base 1.0.25
+ sanei_debug_sanei_pio@Base 1.0.25
+ sanei_debug_sanei_pp@Base 1.0.25
+ sanei_debug_sanei_pv8630@Base 1.0.25
+ sanei_debug_sanei_scsi@Base 1.0.25
+ sanei_debug_sanei_tcp@Base 1.0.25
+ sanei_debug_sanei_thread@Base 1.0.25
+ sanei_debug_sanei_udp@Base 1.0.25
+ sanei_debug_sanei_usb@Base 1.0.25
+ sanei_debug_sanei_wire@Base 1.0.25
+ sanei_debug_sceptre@Base 1.0.25
+ sanei_debug_sharp@Base 1.0.25
+ sanei_debug_sm3600@Base 1.0.25
+ sanei_debug_sm3840@Base 1.0.25
+ sanei_debug_snapscan@Base 1.0.25
+ sanei_debug_sp15c@Base 1.0.25
+ sanei_debug_st400@Base 1.0.25
+ sanei_debug_stv680@Base 1.0.25
+ sanei_debug_tamarack@Base 1.0.25
+ sanei_debug_teco1@Base 1.0.25
+ sanei_debug_teco2@Base 1.0.25
+ sanei_debug_teco3@Base 1.0.25
+ sanei_debug_test@Base 1.0.25
+ sanei_debug_u12@Base 1.0.25
+ sanei_debug_umax1220u@Base 1.0.25
+ sanei_debug_umax@Base 1.0.25
+ sanei_debug_umax_pp@Base 1.0.25
+ sanei_debug_umax_pp_call@Base 1.0.25
+ sanei_debug_umax_pp_low@Base 1.0.25
+ sanei_debug_xerox_mfp@Base 1.0.25
+ sanei_debug_xerox_mfp_call@Base 1.0.25
+ sanei_epson2_scsi_inquiry@Base 1.0.25
+ sanei_epson2_scsi_read@Base 1.0.25
+ sanei_epson2_scsi_sense_handler@Base 1.0.25
+ sanei_epson2_scsi_test_unit_ready@Base 1.0.25
+ sanei_epson2_scsi_write@Base 1.0.25
+ sanei_epson_getNumberOfUSBProductIds@Base 1.0.25
+ sanei_epson_net_lock@Base 1.0.25
+ sanei_epson_net_read@Base 1.0.25
+#MISSING: 1.0.25# sanei_epson_net_read_raw@Base 1.0.24
+ sanei_epson_net_unlock@Base 1.0.25
+ sanei_epson_net_write@Base 1.0.25
+ sanei_epson_scsi_inquiry@Base 1.0.25
+ sanei_epson_scsi_read@Base 1.0.25
+ sanei_epson_scsi_sense_handler@Base 1.0.25
+ sanei_epson_scsi_write@Base 1.0.25
+ sanei_epson_usb_product_ids@Base 1.0.25
+ sanei_genesys_asic_init@Base 1.0.25
+ sanei_genesys_buffer_alloc@Base 1.0.25
+ sanei_genesys_buffer_consume@Base 1.0.25
+ sanei_genesys_buffer_free@Base 1.0.25
+ sanei_genesys_buffer_get_read_pos@Base 1.0.25
+ sanei_genesys_buffer_get_write_pos@Base 1.0.25
+ sanei_genesys_buffer_produce@Base 1.0.25
+ sanei_genesys_bulk_write_register@Base 1.0.25
+ sanei_genesys_calculate_zmode2@Base 1.0.25
+ sanei_genesys_calculate_zmode@Base 1.0.25
+ sanei_genesys_compute_dpihw@Base 1.0.25
+ sanei_genesys_compute_max_shift@Base 1.0.25
+ sanei_genesys_compute_step_type@Base 1.0.25
+ sanei_genesys_create_gamma_table@Base 1.0.25
+ sanei_genesys_create_slope_table3@Base 1.0.25
+ sanei_genesys_create_slope_table@Base 1.0.25
+ sanei_genesys_exposure_time2@Base 1.0.25
+ sanei_genesys_exposure_time@Base 1.0.25
+ sanei_genesys_fe_read_data@Base 1.0.25
+ sanei_genesys_fe_write_data@Base 1.0.25
+ sanei_genesys_generate_gamma_buffer@Base 1.0.25
+ sanei_genesys_generate_slope_table@Base 1.0.25
+ sanei_genesys_get_address@Base 1.0.25
+ sanei_genesys_get_double@Base 1.0.25
+ sanei_genesys_get_lowest_dpi@Base 1.0.25
+ sanei_genesys_get_lowest_ydpi@Base 1.0.25
+ sanei_genesys_get_motor_profile@Base 1.0.25
+ sanei_genesys_get_status@Base 1.0.25
+ sanei_genesys_get_triple@Base 1.0.25
+ sanei_genesys_init_cmd_set@Base 1.0.25
+ sanei_genesys_init_fe@Base 1.0.25
+ sanei_genesys_init_shading_data@Base 1.0.25
+ sanei_genesys_init_structs@Base 1.0.25
+ sanei_genesys_is_compatible_calibration@Base 1.0.25
+ sanei_genesys_load_lut@Base 1.0.25
+ sanei_genesys_print_status@Base 1.0.25
+ sanei_genesys_read_calibration@Base 1.0.25
+ sanei_genesys_read_data_from_scanner@Base 1.0.25
+ sanei_genesys_read_feed_steps@Base 1.0.25
+ sanei_genesys_read_hregister@Base 1.0.25
+ sanei_genesys_read_reg_from_set@Base 1.0.25
+ sanei_genesys_read_register@Base 1.0.25
+ sanei_genesys_read_scancnt@Base 1.0.25
+ sanei_genesys_read_valid_words@Base 1.0.25
+ sanei_genesys_search_reference_point@Base 1.0.25
+ sanei_genesys_send_gamma_table@Base 1.0.25
+ sanei_genesys_set_buffer_address@Base 1.0.25
+ sanei_genesys_set_double@Base 1.0.25
+ sanei_genesys_set_reg_from_set@Base 1.0.25
+ sanei_genesys_set_triple@Base 1.0.25
+ sanei_genesys_slope_table@Base 1.0.25
+ sanei_genesys_test_buffer_empty@Base 1.0.25
+ sanei_genesys_wait_for_home@Base 1.0.25
+ sanei_genesys_write_0x8c@Base 1.0.25
+ sanei_genesys_write_ahb@Base 1.0.25
+ sanei_genesys_write_hregister@Base 1.0.25
+ sanei_genesys_write_pnm_file@Base 1.0.25
+ sanei_genesys_write_register@Base 1.0.25
+ sanei_gl124_init_cmd_set@Base 1.0.25
+ sanei_gl646_init_cmd_set@Base 1.0.25
+ sanei_gl841_init_cmd_set@Base 1.0.25
+ sanei_gl843_init_cmd_set@Base 1.0.25
+ sanei_gl846_init_cmd_set@Base 1.0.25
+ sanei_gl847_init_cmd_set@Base 1.0.25
+ sanei_hp_accessor_bool_new@Base 1.0.25
+ sanei_hp_accessor_choice_maxsize@Base 1.0.25
+ sanei_hp_accessor_choice_new@Base 1.0.25
+ sanei_hp_accessor_choice_strlist@Base 1.0.25
+ sanei_hp_accessor_data@Base 1.0.25
+ sanei_hp_accessor_fixed_new@Base 1.0.25
+ sanei_hp_accessor_gamma_vector_new@Base 1.0.25
+ sanei_hp_accessor_geometry_new@Base 1.0.25
+ sanei_hp_accessor_get@Base 1.0.25
+ sanei_hp_accessor_getint@Base 1.0.25
+ sanei_hp_accessor_int_new@Base 1.0.25
+ sanei_hp_accessor_matrix_vector_new@Base 1.0.25
+ sanei_hp_accessor_new@Base 1.0.25
+ sanei_hp_accessor_set@Base 1.0.25
+ sanei_hp_accessor_setint@Base 1.0.25
+ sanei_hp_accessor_size@Base 1.0.25
+ sanei_hp_accessor_subvector_new@Base 1.0.25
+ sanei_hp_accessor_vector_length@Base 1.0.25
+ sanei_hp_accessor_vector_maxval@Base 1.0.25
+ sanei_hp_accessor_vector_minval@Base 1.0.25
+ sanei_hp_accessor_vector_new@Base 1.0.25
+ sanei_hp_alloc@Base 1.0.25
+ sanei_hp_allocz@Base 1.0.25
+ sanei_hp_choice_isEnabled@Base 1.0.25
+ sanei_hp_data_destroy@Base 1.0.25
+ sanei_hp_data_dup@Base 1.0.25
+ sanei_hp_data_new@Base 1.0.25
+ sanei_hp_dbgdump@Base 1.0.25
+ sanei_hp_device_compat@Base 1.0.25
+ sanei_hp_device_get@Base 1.0.25
+ sanei_hp_device_info_get@Base 1.0.25
+ sanei_hp_device_new@Base 1.0.25
+ sanei_hp_device_probe@Base 1.0.25
+ sanei_hp_device_probe_model@Base 1.0.25
+ sanei_hp_device_sanedevice@Base 1.0.25
+ sanei_hp_device_simulate_clear@Base 1.0.25
+ sanei_hp_device_simulate_get@Base 1.0.25
+ sanei_hp_device_simulate_set@Base 1.0.25
+ sanei_hp_device_support_get@Base 1.0.25
+ sanei_hp_device_support_probe@Base 1.0.25
+ sanei_hp_free@Base 1.0.25
+ sanei_hp_free_all@Base 1.0.25
+ sanei_hp_get_connect@Base 1.0.25
+ sanei_hp_get_max_model@Base 1.0.25
+ sanei_hp_handle_cancel@Base 1.0.25
+ sanei_hp_handle_control@Base 1.0.25
+ sanei_hp_handle_destroy@Base 1.0.25
+ sanei_hp_handle_getParameters@Base 1.0.25
+ sanei_hp_handle_getPipefd@Base 1.0.25
+ sanei_hp_handle_new@Base 1.0.25
+ sanei_hp_handle_read@Base 1.0.25
+ sanei_hp_handle_saneoption@Base 1.0.25
+ sanei_hp_handle_setNonblocking@Base 1.0.25
+ sanei_hp_handle_startScan@Base 1.0.25
+ sanei_hp_init_openfd@Base 1.0.25
+ sanei_hp_is_active_xpa@Base 1.0.25
+ sanei_hp_is_flatbed_adf@Base 1.0.25
+ sanei_hp_memdup@Base 1.0.25
+ sanei_hp_nonscsi_new@Base 1.0.25
+ sanei_hp_optset_control@Base 1.0.25
+ sanei_hp_optset_data_width@Base 1.0.25
+ sanei_hp_optset_download@Base 1.0.25
+ sanei_hp_optset_guessParameters@Base 1.0.25
+ sanei_hp_optset_isImmediate@Base 1.0.25
+ sanei_hp_optset_mirror_vert@Base 1.0.25
+ sanei_hp_optset_new@Base 1.0.25
+ sanei_hp_optset_output_8bit@Base 1.0.25
+ sanei_hp_optset_saneoption@Base 1.0.25
+ sanei_hp_optset_scan_type@Base 1.0.25
+ sanei_hp_optset_scanmode@Base 1.0.25
+ sanei_hp_optset_start_wait@Base 1.0.25
+ sanei_hp_realloc@Base 1.0.25
+ sanei_hp_scl_calibrate@Base 1.0.25
+ sanei_hp_scl_clearErrors@Base 1.0.25
+ sanei_hp_scl_download@Base 1.0.25
+ sanei_hp_scl_errcheck@Base 1.0.25
+ sanei_hp_scl_inquire@Base 1.0.25
+ sanei_hp_scl_reset@Base 1.0.25
+ sanei_hp_scl_set@Base 1.0.25
+ sanei_hp_scl_startScan@Base 1.0.25
+ sanei_hp_scl_upload@Base 1.0.25
+ sanei_hp_scl_upload_binary@Base 1.0.25
+ sanei_hp_scsi_destroy@Base 1.0.25
+ sanei_hp_scsi_devicename@Base 1.0.25
+ sanei_hp_scsi_get_connect@Base 1.0.25
+ sanei_hp_scsi_inq@Base 1.0.25
+ sanei_hp_scsi_model@Base 1.0.25
+ sanei_hp_scsi_new@Base 1.0.25
+ sanei_hp_scsi_pipeout@Base 1.0.25
+ sanei_hp_scsi_vendor@Base 1.0.25
+ sanei_hp_strdup@Base 1.0.25
+ sanei_init_debug@Base 1.0.24
+ sanei_jpeg_jinit_write_ppm@Base 1.0.25
+ sanei_lexmark_low_assign_model@Base 1.0.25
+ sanei_lexmark_low_calibration@Base 1.0.25
+ sanei_lexmark_low_close_device@Base 1.0.25
+ sanei_lexmark_low_destroy@Base 1.0.25
+ sanei_lexmark_low_find_start_line@Base 1.0.25
+ sanei_lexmark_low_gain_calibration@Base 1.0.25
+ sanei_lexmark_low_init@Base 1.0.25
+ sanei_lexmark_low_move_fwd@Base 1.0.25
+ sanei_lexmark_low_offset_calibration@Base 1.0.25
+ sanei_lexmark_low_open_device@Base 1.0.25
+ sanei_lexmark_low_read_scan_data@Base 1.0.25
+ sanei_lexmark_low_search_home_bwd@Base 1.0.25
+ sanei_lexmark_low_search_home_fwd@Base 1.0.25
+ sanei_lexmark_low_set_scan_regs@Base 1.0.25
+ sanei_lexmark_low_shading_calibration@Base 1.0.25
+ sanei_lexmark_low_start_scan@Base 1.0.25
+ sanei_lm983x_init@Base 1.0.25
+ sanei_lm983x_read@Base 1.0.25
+ sanei_lm983x_reset@Base 1.0.25
+ sanei_lm983x_write@Base 1.0.25
+ sanei_lm983x_write_byte@Base 1.0.25
+ sanei_magic_crop@Base 1.0.25
+ sanei_magic_despeck@Base 1.0.25
+ sanei_magic_findEdges@Base 1.0.25
+ sanei_magic_findSkew@Base 1.0.25
+ sanei_magic_findTurn@Base 1.0.25
+ sanei_magic_getTransX@Base 1.0.25
+ sanei_magic_getTransY@Base 1.0.25
+ sanei_magic_init@Base 1.0.25
+ sanei_magic_isBlank2@Base 1.0.25
+ sanei_magic_isBlank@Base 1.0.25
+ sanei_magic_rotate@Base 1.0.25
+ sanei_magic_turn@Base 1.0.25
+ sanei_magicolor_usb_product_ids@Base 1.0.25
+ sanei_pa4s2_close@Base 1.0.25
+ sanei_pa4s2_devices@Base 1.0.25
+ sanei_pa4s2_enable@Base 1.0.25
+ sanei_pa4s2_open@Base 1.0.25
+ sanei_pa4s2_options@Base 1.0.25
+ sanei_pa4s2_readbegin@Base 1.0.25
+ sanei_pa4s2_readbyte@Base 1.0.25
+ sanei_pa4s2_readend@Base 1.0.25
+ sanei_pa4s2_scsi_pp_get_status@Base 1.0.25
+ sanei_pa4s2_scsi_pp_open@Base 1.0.25
+ sanei_pa4s2_scsi_pp_reg_select@Base 1.0.25
+ sanei_pa4s2_writebyte@Base 1.0.25
+ sanei_parport_find_device@Base 1.0.25
+ sanei_parport_find_port@Base 1.0.25
+ sanei_pio_close@Base 1.0.25
+ sanei_pio_open@Base 1.0.25
+ sanei_pio_read@Base 1.0.25
+ sanei_pio_write@Base 1.0.25
+ sanei_pixma_cancel@Base 1.0.25
+ sanei_pixma_check_dpi@Base 1.0.25
+ sanei_pixma_check_result@Base 1.0.25
+ sanei_pixma_check_scan_param@Base 1.0.25
+ sanei_pixma_cleanup@Base 1.0.25
+ sanei_pixma_close@Base 1.0.25
+ sanei_pixma_cmd_transaction@Base 1.0.25
+ sanei_pixma_collect_devices@Base 1.0.25
+ sanei_pixma_connect@Base 1.0.25
+ sanei_pixma_disconnect@Base 1.0.25
+ sanei_pixma_dump@Base 1.0.25
+ sanei_pixma_enable_background@Base 1.0.25
+ sanei_pixma_exec@Base 1.0.25
+ sanei_pixma_exec_short_cmd@Base 1.0.25
+ sanei_pixma_fill_gamma_table@Base 1.0.25
+ sanei_pixma_find_scanners@Base 1.0.25
+ sanei_pixma_get_be16@Base 1.0.25
+ sanei_pixma_get_be32@Base 1.0.25
+ sanei_pixma_get_config@Base 1.0.25
+ sanei_pixma_get_device_config@Base 1.0.25
+ sanei_pixma_get_device_id@Base 1.0.25
+ sanei_pixma_get_device_model@Base 1.0.25
+ sanei_pixma_get_device_status@Base 1.0.25
+ sanei_pixma_get_string@Base 1.0.25
+ sanei_pixma_get_time@Base 1.0.25
+ sanei_pixma_hexdump@Base 1.0.25
+ sanei_pixma_iclass_devices@Base 1.0.25
+ sanei_pixma_init@Base 1.0.25
+ sanei_pixma_io_cleanup@Base 1.0.25
+ sanei_pixma_io_init@Base 1.0.25
+ sanei_pixma_map_status_errno@Base 1.0.25
+ sanei_pixma_mp150_devices@Base 1.0.25
+ sanei_pixma_mp730_devices@Base 1.0.25
+ sanei_pixma_mp750_devices@Base 1.0.25
+ sanei_pixma_mp810_devices@Base 1.0.25
+ sanei_pixma_newcmd@Base 1.0.25
+ sanei_pixma_open@Base 1.0.25
+ sanei_pixma_read@Base 1.0.25
+ sanei_pixma_read_image@Base 1.0.25
+ sanei_pixma_reset_device@Base 1.0.25
+ sanei_pixma_scan@Base 1.0.25
+ sanei_pixma_set_be16@Base 1.0.25
+ sanei_pixma_set_be32@Base 1.0.25
+ sanei_pixma_set_debug_level@Base 1.0.25
+ sanei_pixma_set_interrupt_mode@Base 1.0.25
+ sanei_pixma_sleep@Base 1.0.25
+ sanei_pixma_strerror@Base 1.0.25
+ sanei_pixma_sum_bytes@Base 1.0.25
+ sanei_pixma_wait_event@Base 1.0.25
+ sanei_pixma_wait_interrupt@Base 1.0.25
+ sanei_pixma_write@Base 1.0.25
+ sanei_pp_claim@Base 1.0.25
+ sanei_pp_close@Base 1.0.25
+ sanei_pp_getmodes@Base 1.0.25
+ sanei_pp_inb_ctrl@Base 1.0.25
+ sanei_pp_inb_data@Base 1.0.25
+ sanei_pp_inb_epp@Base 1.0.25
+ sanei_pp_inb_stat@Base 1.0.25
+ sanei_pp_init@Base 1.0.25
+ sanei_pp_open@Base 1.0.25
+ sanei_pp_outb_addr@Base 1.0.25
+ sanei_pp_outb_ctrl@Base 1.0.25
+ sanei_pp_outb_data@Base 1.0.25
+ sanei_pp_outb_epp@Base 1.0.25
+ sanei_pp_release@Base 1.0.25
+ sanei_pp_set_datadir@Base 1.0.25
+ sanei_pp_setmode@Base 1.0.25
+ sanei_pp_udelay@Base 1.0.25
+ sanei_pp_uses_directio@Base 1.0.25
+ sanei_pv8630_bulkread@Base 1.0.25
+ sanei_pv8630_bulkwrite@Base 1.0.25
+ sanei_pv8630_flush_buffer@Base 1.0.25
+ sanei_pv8630_init@Base 1.0.25
+ sanei_pv8630_prep_bulkread@Base 1.0.25
+ sanei_pv8630_prep_bulkwrite@Base 1.0.25
+ sanei_pv8630_read_byte@Base 1.0.25
+ sanei_pv8630_wait_byte@Base 1.0.25
+ sanei_pv8630_write_byte@Base 1.0.25
+ sanei_pv8630_xpect_byte@Base 1.0.25
+ sanei_rts88xx_cancel@Base 1.0.25
+ sanei_rts88xx_data_count@Base 1.0.25
+ sanei_rts88xx_get_lamp_status@Base 1.0.25
+ sanei_rts88xx_get_lcd@Base 1.0.25
+ sanei_rts88xx_get_mem@Base 1.0.25
+ sanei_rts88xx_get_status@Base 1.0.25
+ sanei_rts88xx_is_color@Base 1.0.25
+ sanei_rts88xx_lib_init@Base 1.0.25
+ sanei_rts88xx_nvram_ctrl@Base 1.0.25
+ sanei_rts88xx_read_data@Base 1.0.25
+ sanei_rts88xx_read_mem@Base 1.0.25
+ sanei_rts88xx_read_reg@Base 1.0.25
+ sanei_rts88xx_read_regs@Base 1.0.25
+ sanei_rts88xx_reset_lamp@Base 1.0.25
+ sanei_rts88xx_set_color_scan@Base 1.0.25
+ sanei_rts88xx_set_gain@Base 1.0.25
+ sanei_rts88xx_set_gray_scan@Base 1.0.25
+ sanei_rts88xx_set_mem@Base 1.0.25
+ sanei_rts88xx_set_offset@Base 1.0.25
+ sanei_rts88xx_set_scan_area@Base 1.0.25
+ sanei_rts88xx_set_scan_frequency@Base 1.0.25
+ sanei_rts88xx_set_status@Base 1.0.25
+ sanei_rts88xx_setup_nvram@Base 1.0.25
+ sanei_rts88xx_wait_data@Base 1.0.25
+ sanei_rts88xx_write_control@Base 1.0.25
+ sanei_rts88xx_write_mem@Base 1.0.25
+ sanei_rts88xx_write_reg@Base 1.0.25
+ sanei_rts88xx_write_regs@Base 1.0.25
+ sanei_scsi_close@Base 1.0.25
+ sanei_scsi_cmd2@Base 1.0.25
+ sanei_scsi_cmd@Base 1.0.25
+ sanei_scsi_find_devices@Base 1.0.25
+ sanei_scsi_max_request_size@Base 1.0.25
+ sanei_scsi_open@Base 1.0.25
+ sanei_scsi_open_extended@Base 1.0.25
+ sanei_scsi_req_enter2@Base 1.0.25
+ sanei_scsi_req_enter@Base 1.0.25
+ sanei_scsi_req_flush_all@Base 1.0.25
+ sanei_scsi_req_flush_all_extended@Base 1.0.25
+ sanei_scsi_req_wait@Base 1.0.25
+ sanei_tcp_close@Base 1.0.25
+ sanei_tcp_open@Base 1.0.25
+ sanei_tcp_read@Base 1.0.25
+ sanei_tcp_write@Base 1.0.25
+ sanei_thread_begin@Base 1.0.25
+ sanei_thread_get_status@Base 1.0.25
+ sanei_thread_init@Base 1.0.25
+ sanei_thread_is_forked@Base 1.0.25
+ sanei_thread_is_invalid@Base 1.0.25
+ sanei_thread_kill@Base 1.0.25
+ sanei_thread_sendsig@Base 1.0.25
+ sanei_thread_waitpid@Base 1.0.25
+ sanei_udp_close@Base 1.0.25
+ sanei_udp_open@Base 1.0.25
+ sanei_udp_open_broadcast@Base 1.0.25
+ sanei_udp_read@Base 1.0.25
+ sanei_udp_recvfrom@Base 1.0.25
+ sanei_udp_set_nonblock@Base 1.0.25
+ sanei_udp_write@Base 1.0.25
+ sanei_udp_write_broadcast@Base 1.0.25
+ sanei_umax_pp_UTA@Base 1.0.25
+ sanei_umax_pp_attach@Base 1.0.25
+ sanei_umax_pp_cancel@Base 1.0.25
+ sanei_umax_pp_checkModel@Base 1.0.25
+ sanei_umax_pp_close@Base 1.0.25
+ sanei_umax_pp_cmdSync@Base 1.0.25
+ sanei_umax_pp_endSession@Base 1.0.25
+ sanei_umax_pp_gamma@Base 1.0.25
+ sanei_umax_pp_getLeft@Base 1.0.25
+ sanei_umax_pp_getastra@Base 1.0.25
+ sanei_umax_pp_getauto@Base 1.0.25
+ sanei_umax_pp_getfull@Base 1.0.25
+ sanei_umax_pp_getparport@Base 1.0.25
+ sanei_umax_pp_getport@Base 1.0.25
+ sanei_umax_pp_initPort@Base 1.0.25
+ sanei_umax_pp_initScanner@Base 1.0.25
+ sanei_umax_pp_initTransport@Base 1.0.25
+ sanei_umax_pp_lamp@Base 1.0.25
+ sanei_umax_pp_model@Base 1.0.25
+ sanei_umax_pp_open@Base 1.0.25
+ sanei_umax_pp_park@Base 1.0.25
+ sanei_umax_pp_parkWait@Base 1.0.25
+ sanei_umax_pp_probeScanner@Base 1.0.25
+ sanei_umax_pp_read@Base 1.0.25
+ sanei_umax_pp_readBlock@Base 1.0.25
+ sanei_umax_pp_scan@Base 1.0.25
+ sanei_umax_pp_scannerStatus@Base 1.0.25
+ sanei_umax_pp_setLamp@Base 1.0.25
+ sanei_umax_pp_setLeft@Base 1.0.25
+ sanei_umax_pp_setastra@Base 1.0.25
+ sanei_umax_pp_setauto@Base 1.0.25
+ sanei_umax_pp_setfull@Base 1.0.25
+ sanei_umax_pp_setparport@Base 1.0.25
+ sanei_umax_pp_setport@Base 1.0.25
+ sanei_umax_pp_start@Base 1.0.25
+ sanei_umax_pp_startScan@Base 1.0.25
+ sanei_umax_pp_status@Base 1.0.25
+ sanei_usb_attach_matching_devices@Base 1.0.25
+ sanei_usb_claim_interface@Base 1.0.25
+ sanei_usb_clear_halt@Base 1.0.25
+ sanei_usb_close@Base 1.0.25
+ sanei_usb_control_msg@Base 1.0.25
+ sanei_usb_exit@Base 1.0.25
+ sanei_usb_find_devices@Base 1.0.25
+ sanei_usb_get_descriptor@Base 1.0.25
+ sanei_usb_get_endpoint@Base 1.0.25
+ sanei_usb_get_vendor_product@Base 1.0.25
+ sanei_usb_get_vendor_product_byname@Base 1.0.25
+ sanei_usb_init@Base 1.0.25
+ sanei_usb_open@Base 1.0.25
+ sanei_usb_read_bulk@Base 1.0.25
+ sanei_usb_read_int@Base 1.0.25
+ sanei_usb_release_interface@Base 1.0.25
+ sanei_usb_reset@Base 1.0.25
+ sanei_usb_scan_devices@Base 1.0.25
+ sanei_usb_set_altinterface@Base 1.0.25
+ sanei_usb_set_configuration@Base 1.0.25
+ sanei_usb_set_endpoint@Base 1.0.25
+ sanei_usb_set_timeout@Base 1.0.25
+ sanei_usb_write_bulk@Base 1.0.25
+ sanei_w_action@Base 1.0.25
+ sanei_w_array@Base 1.0.25
+ sanei_w_authorization_req@Base 1.0.25
+ sanei_w_bool@Base 1.0.25
+ sanei_w_byte@Base 1.0.25
+ sanei_w_call@Base 1.0.25
+ sanei_w_char@Base 1.0.25
+ sanei_w_constraint_type@Base 1.0.25
+ sanei_w_control_option_reply@Base 1.0.25
+ sanei_w_control_option_req@Base 1.0.25
+ sanei_w_device@Base 1.0.25
+ sanei_w_device_ptr@Base 1.0.25
+ sanei_w_exit@Base 1.0.25
+ sanei_w_frame@Base 1.0.25
+ sanei_w_free@Base 1.0.25
+ sanei_w_get_devices_reply@Base 1.0.25
+ sanei_w_get_parameters_reply@Base 1.0.25
+ sanei_w_init@Base 1.0.25
+ sanei_w_init_reply@Base 1.0.25
+ sanei_w_init_req@Base 1.0.25
+ sanei_w_open_reply@Base 1.0.25
+ sanei_w_option_descriptor@Base 1.0.25
+ sanei_w_option_descriptor_array@Base 1.0.25
+ sanei_w_option_descriptor_ptr@Base 1.0.25
+ sanei_w_parameters@Base 1.0.25
+ sanei_w_ptr@Base 1.0.25
+ sanei_w_range@Base 1.0.25
+ sanei_w_reply@Base 1.0.25
+ sanei_w_set_dir@Base 1.0.25
+ sanei_w_space@Base 1.0.25
+ sanei_w_start_reply@Base 1.0.25
+ sanei_w_status@Base 1.0.25
+ sanei_w_string@Base 1.0.25
+ sanei_w_unit@Base 1.0.25
+ sanei_w_value_type@Base 1.0.25
+ sanei_w_void@Base 1.0.25
+ sanei_w_word@Base 1.0.25
+ scan2@Base 1.0.25
+ scan@Base 1.0.25
+ scantype@Base 1.0.25
+ shadingbase@Base 1.0.25
+ shadingfact@Base 1.0.25
+ smearacccurvecount@Base 1.0.25
+ smeardeccurvecount@Base 1.0.25
+ source_list@Base 1.0.25
+ stop_adf@Base 1.0.25
+ tcp_configure_device@Base 1.0.25
+ tcp_dev_close@Base 1.0.25
+ tcp_dev_open@Base 1.0.25
+ tcp_dev_request@Base 1.0.25
+ toupper_ascii@Base 1.0.24
+ usb_configure_device@Base 1.0.25
+ usb_dev_close@Base 1.0.25
+ usb_dev_open@Base 1.0.25
+ usb_dev_request@Base 1.0.25
+ usb_devfile@Base 1.0.25
+ v0750@Base 1.0.25
+ v07c0@Base 1.0.25
+ v14b4@Base 1.0.25
+ v15b4@Base 1.0.25
+ v15bc@Base 1.0.25
+ v15f8@Base 1.0.25
+ v1600@Base 1.0.25
+ v1604@Base 1.0.25
+ v1608@Base 1.0.25
+ v160c_block_size@Base 1.0.25
+ v1619@Base 1.0.25
+ v35b8@Base 1.0.25
+ w_cmd_count@Base 1.0.25
+ waitforpwm@Base 1.0.25
+ wshading@Base 1.0.25
diff --git a/debian/patches/0005-mk_reproducible_results.patch b/debian/patches/0005-mk_reproducible_results.patch
new file mode 100644
index 0000000..844f87e
--- /dev/null
+++ b/debian/patches/0005-mk_reproducible_results.patch
@@ -0,0 +1,22 @@
+Description: Make build reproducible.
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Last-Update: 2015-04-23
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/tools/sane-desc.c
+===================================================================
+--- trunk.orig/tools/sane-desc.c
++++ trunk/tools/sane-desc.c
+@@ -2816,8 +2816,10 @@ html_print_footer (void)
+ "<address>\n"
+ "<a href=\"http://www.sane-project.org/imprint.html\"\n"
+ ">Contact</a>\n" "</address>\n" "<font size=-1>\n");
+- printf ("This page was last updated on %s by sane-desc %s from %s\n",
+- asctime (localtime (&current_time)), SANE_DESC_VERSION, PACKAGE_STRING);
++/* printf ("This page was last updated on %s by sane-desc %s from %s\n",
++ asctime (localtime (&current_time)), SANE_DESC_VERSION, PACKAGE_STRING); */
++ printf ("This page was last updated by sane-desc %s from %s\n",
++ SANE_DESC_VERSION, PACKAGE_STRING);
+ printf ("</font>\n");
+ printf ("</body> </html>\n");
+ }
diff --git a/debian/patches/001-scanimage_manpage.patch b/debian/patches/001-scanimage_manpage.patch
new file mode 100644
index 0000000..08e5cc1
--- /dev/null
+++ b/debian/patches/001-scanimage_manpage.patch
@@ -0,0 +1,21 @@
+Description: Add remark to options.
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418630
+Forwarded:
+Last-Update: 2015-01-18
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/doc/scanimage.man
+===================================================================
+--- trunk.orig/doc/scanimage.man
++++ trunk/doc/scanimage.man
+@@ -73,6 +73,9 @@ To print all available options:
+ scanimage \-h
+
+ .SH OPTIONS
++\fBRemark:\fR Parameter are defined by the backends. So are \-\-mode Gray and \-\-mode Grayscale in use.
++Please read the backend documentation first.
++
+ Parameters are separated by a blank from single-character options (e.g.
+ \-d epson) and by a "=" from multi-character options (e.g. \-\-device\-name=epson).
+
diff --git a/debian/patches/0510-disable-html-tests.patch b/debian/patches/0510-disable-html-tests.patch
new file mode 100644
index 0000000..f54ccf2
--- /dev/null
+++ b/debian/patches/0510-disable-html-tests.patch
@@ -0,0 +1,35 @@
+Description: Disable html tests.
+ Disable some html tests because debian/patches/
+ sane-desc.c_debian_mods.patch change some links to
+ the doc directory.
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Forwarded: not-needed
+Last-Update: 2015-04-26
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: experimental/testsuite/tools/Makefile.am
+===================================================================
+--- experimental.orig/testsuite/tools/Makefile.am
++++ experimental/testsuite/tools/Makefile.am
+@@ -28,7 +28,7 @@ check: check.local
+
+ check.local:
+ @echo "**** Testing $(SANEDESC) with $(TESTFILE)"
+- @for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \
++ @for mode in ascii xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \
+ do \
+ echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \
+ $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\
+Index: experimental/testsuite/tools/Makefile.in
+===================================================================
+--- experimental.orig/testsuite/tools/Makefile.in
++++ experimental/testsuite/tools/Makefile.in
+@@ -499,7 +499,7 @@ check: check.local
+
+ check.local:
+ @echo "**** Testing $(SANEDESC) with $(TESTFILE)"
+- @for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \
++ @for mode in ascii xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \
+ do \
+ echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \
+ $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\
diff --git a/debian/patches/dll_backend_conf.patch b/debian/patches/dll_backend_conf.patch
index 3b8583c..17f5f57 100644
--- a/debian/patches/dll_backend_conf.patch
+++ b/debian/patches/dll_backend_conf.patch
@@ -5,8 +5,10 @@ Description: Add a header to dll.conf
Also remove the pint backend as it's not available on our platforms.
Author: Julien BLACHE <jblache@debian.org>
---- a/backend/dll.conf.in
-+++ b/backend/dll.conf.in
+Index: experimental/backend/dll.conf.in
+===================================================================
+--- experimental.orig/backend/dll.conf.in
++++ experimental/backend/dll.conf.in
@@ -1,4 +1,12 @@
-# enable the next line if you want to allow access through the network:
+# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
@@ -21,7 +23,7 @@ Author: Julien BLACHE <jblache@debian.org>
net
abaton
agfafocus
-@@ -57,7 +65,6 @@
+@@ -58,7 +66,6 @@ nec
niash
#p5
pie
diff --git a/debian/patches/libsane_deps.patch b/debian/patches/libsane_deps.patch
index 478c9d2..ff8f99a 100644
--- a/debian/patches/libsane_deps.patch
+++ b/debian/patches/libsane_deps.patch
@@ -10,9 +10,11 @@ Original patch author: Julien BLACHE <jblache@debian.org>
backend/Makefile.in | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
---- a/backend/Makefile.in
-+++ b/backend/Makefile.in
-@@ -2660,10 +2660,9 @@
+Index: experimental/backend/Makefile.in
+===================================================================
+--- experimental.orig/backend/Makefile.in
++++ experimental/backend/Makefile.in
+@@ -2692,10 +2692,9 @@ libsane_dll_la_LIBADD = $(COMMON_LIBS) l
nodist_libsane_la_SOURCES = dll-s.c
libsane_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=dll
libsane_la_LDFLAGS = $(DIST_LIBS_LDFLAGS)
diff --git a/debian/patches/multiarch_dll_search_path.patch b/debian/patches/multiarch_dll_search_path.patch
index 703a408..7c24d21 100644
--- a/debian/patches/multiarch_dll_search_path.patch
+++ b/debian/patches/multiarch_dll_search_path.patch
@@ -3,9 +3,11 @@ Description: Keep /usr/lib/sane as a fallback for SANE backends
but keep /usr/lib/sane as a fallback for now.
Author: Julien BLACHE <jblache@debian.org>
---- a/backend/dll.c
-+++ b/backend/dll.c
-@@ -430,7 +430,7 @@
+Index: experimental/backend/dll.c
+===================================================================
+--- experimental.orig/backend/dll.c
++++ experimental/backend/dll.c
+@@ -430,7 +430,7 @@ load (struct backend *be)
if (path)
{
@@ -14,7 +16,7 @@ Author: Julien BLACHE <jblache@debian.org>
src = malloc (src_len);
if (!src)
{
-@@ -438,12 +438,11 @@
+@@ -438,12 +438,11 @@ load (struct backend *be)
return SANE_STATUS_NO_MEM;
}
orig_src = src;
@@ -29,9 +31,11 @@ Author: Julien BLACHE <jblache@debian.org>
if (!src)
{
DBG (1, "load: strdup failed: %s\n", strerror (errno));
---- a/backend/Makefile.in
-+++ b/backend/Makefile.in
-@@ -1868,7 +1868,7 @@
+Index: experimental/backend/Makefile.in
+===================================================================
+--- experimental.orig/backend/Makefile.in
++++ experimental/backend/Makefile.in
+@@ -1887,7 +1887,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
diff --git a/debian/patches/multiarch_manpages_libdir.patch b/debian/patches/multiarch_manpages_libdir.patch
index cd40126..12b66a0 100644
--- a/debian/patches/multiarch_manpages_libdir.patch
+++ b/debian/patches/multiarch_manpages_libdir.patch
@@ -3,9 +3,11 @@ Description: Use a generic multiarch path in man pages
a generic /usr/lib/arch_triplet/sane path instead.
Author: Julien BLACHE <jblache@debian.org>
---- a/doc/Makefile.in
-+++ b/doc/Makefile.in
-@@ -901,7 +901,7 @@
+Index: experimental/doc/Makefile.in
+===================================================================
+--- experimental.orig/doc/Makefile.in
++++ experimental/doc/Makefile.in
+@@ -902,7 +902,7 @@ all: bemans $(STANDARD) html-pages
@sed -e 's|@DATADIR@|$(datadir)|g' \
-e 's|@CONFIGDIR@|$(configdir)|g' \
-e 's|@DOCDIR@|$(docdir)|g' \
diff --git a/debian/patches/sane-desc.c_debian_mods.patch b/debian/patches/sane-desc.c_debian_mods.patch
index 4b9faec..9701cce 100644
--- a/debian/patches/sane-desc.c_debian_mods.patch
+++ b/debian/patches/sane-desc.c_debian_mods.patch
@@ -5,10 +5,10 @@ Description: Tweak sane-desc to suit our needs
this breaks multiarch.
Author: Julien BLACHE <jblache@debian.org>
-Index: sane-backends-1.0.24/tools/sane-desc.c
+Index: experimental/tools/sane-desc.c
===================================================================
---- sane-backends-1.0.24.orig/tools/sane-desc.c 2013-08-25 17:23:27.000000000 -0400
-+++ sane-backends-1.0.24/tools/sane-desc.c 2013-10-05 16:10:52.703408806 -0400
+--- experimental.orig/tools/sane-desc.c
++++ experimental/tools/sane-desc.c
@@ -47,7 +47,7 @@
#define SANE_DESC_VERSION "3.5"
@@ -18,31 +18,7 @@ Index: sane-backends-1.0.24/tools/sane-desc.c
#define COLOR_MINIMAL "\"#B00000\""
#define COLOR_BASIC "\"#FF9000\""
#define COLOR_GOOD "\"#90B000\""
-@@ -2523,8 +2523,8 @@
- printf ("<br>\n");
- }
- if (be->manpage)
-- printf ("<b>Manual page:</b> <a href=\"" MAN_PAGE_LINK
-- "\">%s</a><br>\n", be->manpage, be->manpage);
-+ printf ("<b>Manual page:</b>"
-+ "%s<br>\n", be->manpage);
-
- if (be->comment)
- printf ("<b>Comment:</b> %s<br>\n", be->comment);
-@@ -2758,9 +2758,9 @@
-
- printf ("</td>\n");
- if (model_record->be->manpage)
-- printf ("<td align=center><a href=\""
-- MAN_PAGE_LINK "\">%s</a></td>\n",
-- model_record->be->manpage, model_record->be->manpage);
-+ printf ("<td align=center>"
-+ "%s</td>\n",
-+ model_record->be->manpage);
- else
- printf ("<td align=center>?</td>\n");
-
-@@ -2785,8 +2785,8 @@
+@@ -2785,8 +2785,8 @@ html_print_header (void)
printf
("</head>\n"
"<body bgcolor=FFFFFF>\n"
@@ -53,7 +29,7 @@ Index: sane-backends-1.0.24/tools/sane-desc.c
printf ("<h1>%s</h1>\n", title);
printf ("</div>\n" "<hr>\n");
printf ("%s\n", intro);
-@@ -3463,8 +3463,8 @@
+@@ -3465,8 +3465,8 @@ print_udev_header (void)
{
time_t current_time = time (0);
printf ("# This file was automatically created based on description files (*.desc)\n"
@@ -64,10 +40,10 @@ Index: sane-backends-1.0.24/tools/sane-desc.c
printf
("#\n"
-Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
+Index: experimental/testsuite/tools/data/html-backends-split.ref
===================================================================
---- sane-backends-1.0.24.orig/testsuite/tools/data/html-backends-split.ref 2013-08-25 17:23:27.000000000 -0400
-+++ sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref 2013-10-05 16:11:28.143407759 -0400
+--- experimental.orig/testsuite/tools/data/html-backends-split.ref
++++ experimental/testsuite/tools/data/html-backends-split.ref
@@ -5,7 +5,6 @@
</head>
<body bgcolor=FFFFFF>
@@ -76,7 +52,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<h1>SANE: Backends (Drivers)</h1>
</div>
<hr>
-@@ -165,7 +164,7 @@
+@@ -165,7 +164,7 @@ isn't mentioned in this list at all.</p>
(unmaintained)
</a></h3>
<p>
@@ -85,7 +61,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -197,7 +196,7 @@
+@@ -197,7 +196,7 @@ Abaton
(unmaintained)
</a></h3>
<p>
@@ -94,7 +70,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -259,7 +258,7 @@
+@@ -259,7 +258,7 @@ Siemens
(unmaintained)
</a></h3>
<p>
@@ -103,7 +79,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -300,7 +299,7 @@
+@@ -300,7 +299,7 @@ Siemens
<p>
<b>Link(s):</b>
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html</a><br>
@@ -112,7 +88,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -378,7 +377,7 @@
+@@ -378,7 +377,7 @@ Siemens
(unmaintained)
</a></h3>
<p>
@@ -121,7 +97,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -494,7 +493,7 @@
+@@ -494,7 +493,7 @@ Siemens
<p>
<b>Link(s):</b>
<a href="http://as6edriver.sourceforge.net/">http://as6edriver.sourceforge.net/</a><br>
@@ -130,7 +106,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -539,7 +538,7 @@
+@@ -539,7 +538,7 @@ Siemens
<p>
<b>Link(s):</b>
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">http://skull.piratehaven.org/~mike/sane/avision.html</a><br>
@@ -139,7 +115,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -1619,7 +1618,7 @@
+@@ -1619,7 +1618,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.martoneconsulting.com/sane-bh.html">http://www.martoneconsulting.com/sane-bh.html</a><br>
@@ -148,7 +124,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Supports Copiscan II scanners with Remote SCSI Controller (RSC) interface<br>
</p>
<table border=1>
-@@ -1682,7 +1681,7 @@
+@@ -1682,7 +1681,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.rzg.mpg.de/~mpd/sane/">http://www.rzg.mpg.de/~mpd/sane/</a><br>
@@ -157,7 +133,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -1760,7 +1759,7 @@
+@@ -1760,7 +1759,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://canon-fb630u.sourceforge.net/">http://canon-fb630u.sourceforge.net/</a><br>
@@ -166,7 +142,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -1794,7 +1793,7 @@
+@@ -1794,7 +1793,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.thebility.com/canon/">http://www.thebility.com/canon/</a><br>
@@ -175,7 +151,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Backend updated for SANE release 1.0.23, see sane-canon_dr manpage<br>
</p>
<table border=1>
-@@ -2095,7 +2094,7 @@
+@@ -2095,7 +2094,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://canon-fb330p.sourceforge.net">http://canon-fb330p.sourceforge.net</a><br>
@@ -184,7 +160,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -2178,7 +2177,7 @@
+@@ -2178,7 +2177,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.thebility.com/cardscan/">http://www.thebility.com/cardscan/</a><br>
@@ -193,7 +169,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Backend updated for SANE release 1.0.21, see sane-cardscan manpage<br>
</p>
<table border=1>
-@@ -2213,7 +2212,7 @@
+@@ -2213,7 +2212,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://andreas.rick.free.fr/sane/">http://andreas.rick.free.fr/sane/</a><br>
@@ -202,7 +178,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -2261,7 +2260,7 @@
+@@ -2261,7 +2260,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://coolscan2.sourceforge.net/">http://coolscan2.sourceforge.net/</a><br>
@@ -211,7 +187,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -2335,7 +2334,7 @@
+@@ -2335,7 +2334,7 @@ Kyocera
(1.0.0)
</a></h3>
<p>
@@ -220,7 +196,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -2448,7 +2447,7 @@
+@@ -2448,7 +2447,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.thebility.com/epjitsu/">http://www.thebility.com/epjitsu/</a><br>
@@ -229,7 +205,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Backend updated for SANE release 1.0.21, see sane-epjitsu manpage<br>
</p>
<table border=1>
-@@ -2504,7 +2503,7 @@
+@@ -2504,7 +2503,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.khk.net/sane">http://www.khk.net/sane</a><br>
@@ -238,7 +214,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -2984,7 +2983,7 @@
+@@ -2984,7 +2983,7 @@ Kyocera
(1.0.124)
</a></h3>
<p>
@@ -247,7 +223,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -5398,7 +5397,7 @@
+@@ -5398,7 +5397,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.thebility.com/fujitsu/">http://www.thebility.com/fujitsu/</a><br>
@@ -256,7 +232,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Backend updated for SANE release 1.0.23, see sane-fujitsu manpage<br>
</p>
<table border=1>
-@@ -5923,7 +5922,7 @@
+@@ -5923,7 +5922,7 @@ Kyocera
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">http://www.meier-geinitz.de/sane/genesys-backend/</a><br>
@@ -265,7 +241,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Only the USB scanners mentioned below are currently supported.<br>
</p>
<table border=1>
-@@ -6242,7 +6241,7 @@
+@@ -6242,7 +6241,7 @@ Panasonic
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">http://www.meier-geinitz.de/sane/gt68xx-backend/</a><br>
@@ -274,7 +250,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Only the USB scanners mentioned below are supported. For other Mustek BearPaws, look at the Plustek and the MA-1509 backend.<br>
</p>
<table border=1>
-@@ -6774,7 +6773,7 @@
+@@ -6774,7 +6773,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://www.kirchgessner.net/">http://www.kirchgessner.net/</a><br>
@@ -283,7 +259,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -6927,7 +6926,7 @@
+@@ -6927,7 +6926,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://projects.troy.rollo.name/rt-scanners/">http://projects.troy.rollo.name/rt-scanners/</a><br>
@@ -292,7 +268,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> HP3500 series scanners.<br>
</p>
<table border=1>
-@@ -6969,7 +6968,7 @@
+@@ -6969,7 +6968,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://sourceforge.net/projects/hp3900-series/">http://sourceforge.net/projects/hp3900-series/</a><br>
@@ -301,7 +277,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Still Beta<br>
</p>
<table border=1>
-@@ -7057,7 +7056,7 @@
+@@ -7057,7 +7056,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://hp4200-backend.sourceforge.net">http://hp4200-backend.sourceforge.net</a><br>
@@ -310,7 +286,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -7098,7 +7097,7 @@
+@@ -7098,7 +7097,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://sourceforge.net/projects/hp5400backend">http://sourceforge.net/projects/hp5400backend</a><br>
@@ -319,7 +295,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> HP5400 and HP5470 scanners. Prototype backend available<br>
</p>
<table border=1>
-@@ -7138,7 +7137,7 @@
+@@ -7138,7 +7137,7 @@ RevScan
(1.0.5)
</a></h3>
<p>
@@ -328,7 +304,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -7198,7 +7197,7 @@
+@@ -7198,7 +7197,7 @@ RevScan
(0)
</a></h3>
<p>
@@ -337,7 +313,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -7239,7 +7238,7 @@
+@@ -7239,7 +7238,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://hpsj5s.sourceforge.net/">http://hpsj5s.sourceforge.net/</a><br>
@@ -346,7 +322,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -7266,7 +7265,7 @@
+@@ -7266,7 +7265,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://www.acjlaw.net:8080/~jeremy/Ricoh/">http://www.acjlaw.net:8080/~jeremy/Ricoh/</a><br>
@@ -355,7 +331,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> This backend has been tested with the IS450DE (Duplex/Endorser). All major functions necessary for scanning are supported. This backend should work with all Ricoh scanners in the IS450 family as well as the IS420 series, but the IS420 has not yet been tested. Features provided by the optional Image Processing Unit (IPU) are not yet integrated into the backend, as my scanner lacks the IPU.<br>
</p>
<table border=1>
-@@ -7315,7 +7314,7 @@
+@@ -7315,7 +7314,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/ibm-backend/">http://www.meier-geinitz.de/sane/ibm-backend/</a><br>
@@ -364,7 +340,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> This backend has had only limited testing. It needs more work especially for the Ricoh scanners. Patches are welcome.<br>
</p>
<table border=1>
-@@ -7366,7 +7365,7 @@
+@@ -7366,7 +7365,7 @@ Ricoh
<p>
<b>Link(s):</b>
<a href="http://www.thebility.com/kodak/">http://www.thebility.com/kodak/</a><br>
@@ -373,7 +349,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> New backend for SANE release 1.0.21, see sane-kodak manpage<br>
</p>
<table border=1>
-@@ -7618,7 +7617,7 @@
+@@ -7618,7 +7617,7 @@ Ricoh
<p>
<b>Link(s):</b>
<a href="http://sourceforge.net/projects/cupsdriverkodak/">http://sourceforge.net/projects/cupsdriverkodak/</a><br>
@@ -382,7 +358,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10<br>
</p>
<table border=1>
-@@ -7821,7 +7820,7 @@
+@@ -7821,7 +7820,7 @@ Ricoh
(unmaintained)
</a></h3>
<p>
@@ -391,7 +367,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> New backend for SANE release 1.0.22, see sane-kvs20xx manpage<br>
</p>
<table border=1>
-@@ -7882,7 +7881,7 @@
+@@ -7882,7 +7881,7 @@ Ricoh
(unmaintained)
</a></h3>
<p>
@@ -400,7 +376,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> New backend for SANE release 1.0.23, see sane-kvs40xx manpage<br>
</p>
<table border=1>
-@@ -7922,7 +7921,7 @@
+@@ -7922,7 +7921,7 @@ Ricoh
(unmaintained)
</a></h3>
<p>
@@ -409,7 +385,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> New backend for SANE release 1.0.21, see sane-kvs1025 manpage<br>
</p>
<table border=1>
-@@ -7964,7 +7963,7 @@
+@@ -7964,7 +7963,7 @@ Ricoh
<p>
<b>Link(s):</b>
<a href="http://www.zago.net/sane/#leo">http://www.zago.net/sane/#leo</a><br>
@@ -418,7 +394,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -8009,7 +8008,7 @@
+@@ -8009,7 +8008,7 @@ Genius
<p>
<b>Link(s):</b>
<a href="http://stef.dev.free.fr/sane/lexmark">http://stef.dev.free.fr/sane/lexmark</a><br>
@@ -427,7 +403,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> This backend supports lexmark x1100 series scanners.<br>
</p>
<table border=1>
-@@ -8109,7 +8108,7 @@
+@@ -8109,7 +8108,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/ma1509-backend/">http://www.meier-geinitz.de/sane/ma1509-backend/</a><br>
@@ -436,7 +412,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -8145,7 +8144,7 @@
+@@ -8145,7 +8144,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://wiki.kainhofer.com/hardware/magicolor_scan">http://wiki.kainhofer.com/hardware/magicolor_scan</a><br>
@@ -445,7 +421,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -8186,7 +8185,7 @@
+@@ -8186,7 +8185,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://www.zago.net/sane">http://www.zago.net/sane</a><br>
@@ -454,7 +430,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -8283,7 +8282,7 @@
+@@ -8283,7 +8282,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://www.mir.com/mtek/">http://www.mir.com/mtek/</a><br>
@@ -463,7 +439,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -8463,7 +8462,7 @@
+@@ -8463,7 +8462,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://karstenfestag.gmxhome.de/linux.html">http://karstenfestag.gmxhome.de/linux.html</a><br>
@@ -472,7 +448,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -8713,7 +8712,7 @@
+@@ -8713,7 +8712,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">http://www.meier-geinitz.de/sane/mustek-backend/</a><br>
@@ -481,7 +457,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Most Mustek SCSI scanners are supported by this backend. For USB scanners, look at the mustek_usb backend.<br>
</p>
<table border=1>
-@@ -8962,7 +8961,7 @@
+@@ -8962,7 +8961,7 @@ Dell
<p>
<b>Link(s):</b>
<a href="http://penguin-breeder.org/sane/mustek_pp/">http://penguin-breeder.org/sane/mustek_pp/</a><br>
@@ -490,7 +466,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Supports CIS and CCD type parallel port scanners from Mustek.<br>
</p>
<table border=1>
-@@ -9160,7 +9159,7 @@
+@@ -9160,7 +9159,7 @@ Micromaxx
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/mustek_usb-backend/">http://www.meier-geinitz.de/sane/mustek_usb-backend/</a><br>
@@ -499,7 +475,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Only the USB scanners mentioned below are supported. For BearPaws, look at the Plustek, MA-1509, and gt68xx backends.<br>
</p>
<table border=1>
-@@ -9218,7 +9217,7 @@
+@@ -9218,7 +9217,7 @@ Micromaxx
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/mustek_usb2-backend/">http://www.meier-geinitz.de/sane/mustek_usb2-backend/</a><br>
@@ -508,7 +484,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Only BearPaw 2448TA Pro is supported at the moment<br>
</p>
<table border=1>
-@@ -9246,7 +9245,7 @@
+@@ -9246,7 +9245,7 @@ Micromaxx
<p>
<b>Link(s):</b>
<a href="http://www5a.biglobe.ne.jp/~saetaka/">http://www5a.biglobe.ne.jp/~saetaka/</a><br>
@@ -517,7 +493,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -9273,7 +9272,7 @@
+@@ -9273,7 +9272,7 @@ Micromaxx
<p>
<b>Link(s):</b>
<a href="http://sourceforge.net/projects/hp3300backend">http://sourceforge.net/projects/hp3300backend</a><br>
@@ -526,7 +502,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -9339,7 +9338,7 @@
+@@ -9339,7 +9338,7 @@ Micromaxx
<p>
<b>Link(s):</b>
<a href="http://www.sane-project.org/">http://www.sane-project.org/</a><br>
@@ -535,7 +511,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> New backend for SANE release 1.0.21, see sane-p5 manpage<br>
</p>
<table border=1>
-@@ -9367,7 +9366,7 @@
+@@ -9367,7 +9366,7 @@ Micromaxx
<p>
<b>Link(s):</b>
<a href="http://www.munton.demon.co.uk/sane">http://www.munton.demon.co.uk/sane</a><br>
@@ -544,7 +520,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -9510,7 +9509,7 @@
+@@ -9510,7 +9509,7 @@ Adlib
<p>
<b>Link(s):</b>
<a href="http://home.arcor.de/wittawat/pixma/">http://home.arcor.de/wittawat/pixma/</a>, <a href="http://mp610.blogspot.com/">http://mp610.blogspot.com/</a><br>
@@ -553,7 +529,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -10496,7 +10495,7 @@
+@@ -10496,7 +10495,7 @@ Adlib
<p>
<b>Link(s):</b>
<a href="http://www.gjaeger.de/scanner/plustek/">http://www.gjaeger.de/scanner/plustek/</a><br>
@@ -562,7 +538,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -10818,7 +10817,7 @@
+@@ -10818,7 +10817,7 @@ Ambir
<p>
<b>Link(s):</b>
<a href="http://www.gjaeger.de/scanner/plustek_pp/">http://www.gjaeger.de/scanner/plustek_pp/</a><br>
@@ -571,7 +547,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11026,7 +11025,7 @@
+@@ -11026,7 +11025,7 @@ BrightScan
(unmaintained)
</a></h3>
<p>
@@ -580,7 +556,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11060,7 +11059,7 @@
+@@ -11060,7 +11059,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://stef.dev.free.fr/sane/rts8891/index.html">http://stef.dev.free.fr/sane/rts8891/index.html</a><br>
@@ -589,7 +565,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> This backend supports Realtek RTS8891 ASIC bases scanners.<br>
</p>
<table border=1>
-@@ -11109,7 +11108,7 @@
+@@ -11109,7 +11108,7 @@ BrightScan
(unmaintained)
</a></h3>
<p>
@@ -598,7 +574,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11136,7 +11135,7 @@
+@@ -11136,7 +11135,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://www.zago.net/sane/">http://www.zago.net/sane/</a><br>
@@ -607,7 +583,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11172,7 +11171,7 @@
+@@ -11172,7 +11171,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html</a><br>
@@ -616,7 +592,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11234,7 +11233,7 @@
+@@ -11234,7 +11233,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://sm3600.sourceforge.net/">http://sm3600.sourceforge.net/</a><br>
@@ -625,7 +601,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11296,7 +11295,7 @@
+@@ -11296,7 +11295,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://www.ziplabel.com/sm3840/">http://www.ziplabel.com/sm3840/</a><br>
@@ -634,7 +610,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> This reverse-engineered backend supports the USB ScanMaker 3840 model<br>
</p>
<table border=1>
-@@ -11331,7 +11330,7 @@
+@@ -11331,7 +11330,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://snapscan.sourceforge.net/">http://snapscan.sourceforge.net/</a><br>
@@ -643,7 +619,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> Supported bit depths: 24 bit (color), 48 bit (color, Epson) 8 bit (gray)<br>
</p>
<table border=1>
-@@ -11757,7 +11756,7 @@
+@@ -11757,7 +11756,7 @@ BrightScan
(unmaintained)
</a></h3>
<p>
@@ -652,7 +628,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11791,7 +11790,7 @@
+@@ -11791,7 +11790,7 @@ BrightScan
<p>
<b>Link(s):</b>
<a href="http://www.informatik.uni-oldenburg.de/~ingo/sane/">http://www.informatik.uni-oldenburg.de/~ingo/sane/</a><br>
@@ -661,7 +637,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11823,7 +11822,7 @@
+@@ -11823,7 +11822,7 @@ BrightScan
(unmaintained)
</a></h3>
<p>
@@ -670,7 +646,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -11864,7 +11863,7 @@
+@@ -11864,7 +11863,7 @@ Tamarack
<p>
<b>Link(s):</b>
<a href="http://www.zago.net/sane/#teco">http://www.zago.net/sane/#teco</a><br>
@@ -679,7 +655,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -12021,7 +12020,7 @@
+@@ -12021,7 +12020,7 @@ Dextra
<p>
<b>Link(s):</b>
<a href="http://gkall.hobby.nl/teco2.html">http://gkall.hobby.nl/teco2.html</a><br>
@@ -688,7 +664,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -12122,7 +12121,7 @@
+@@ -12122,7 +12121,7 @@ Dextra
<p>
<b>Link(s):</b>
<a href="http://www.zago.net/sane/#teco3">http://www.zago.net/sane/#teco3</a><br>
@@ -697,7 +673,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -12190,7 +12189,7 @@
+@@ -12190,7 +12189,7 @@ Trust
<p>
<b>Link(s):</b>
<a href="http://www.gjaeger.de/scanner/u12/">http://www.gjaeger.de/scanner/u12/</a><br>
@@ -706,7 +682,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -12256,7 +12255,7 @@
+@@ -12256,7 +12255,7 @@ RevScan
<p>
<b>Link(s):</b>
<a href="http://www.rauch-domain.de/sane-umax/index.html">http://www.rauch-domain.de/sane-umax/index.html</a><br>
@@ -715,7 +691,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -12749,7 +12748,7 @@
+@@ -12749,7 +12748,7 @@ Genius
<p>
<b>Link(s):</b>
<a href="http://sourceforge.net/projects/umax1220u-sane">http://sourceforge.net/projects/umax1220u-sane</a><br>
@@ -724,7 +700,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -12797,7 +12796,7 @@
+@@ -12797,7 +12796,7 @@ Genius
<p>
<b>Link(s):</b>
<a href="http://umax1220p.sourceforge.net/">http://umax1220p.sourceforge.net/</a><br>
@@ -733,7 +709,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -15632,7 +15631,7 @@
+@@ -15632,7 +15631,7 @@ Vantas
(1.0-13)
</a></h3>
<p>
@@ -742,7 +718,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -16131,7 +16130,7 @@
+@@ -16131,7 +16130,7 @@ Vantas
<p>
<b>Link(s):</b>
<a href="mailto:peter@fales-lorenz.net">mailto:peter@fales-lorenz.net</a><br>
@@ -751,7 +727,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -16165,7 +16164,7 @@
+@@ -16165,7 +16164,7 @@ Vantas
<p>
<b>Link(s):</b>
<a href="mailto:peter@fales-lorenz.net">mailto:peter@fales-lorenz.net</a><br>
@@ -760,7 +736,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -16192,7 +16191,7 @@
+@@ -16192,7 +16191,7 @@ Vantas
<p>
<b>Link(s):</b>
<a href="mailto:peter@fales-lorenz.net">mailto:peter@fales-lorenz.net</a><br>
@@ -769,7 +745,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -16217,7 +16216,7 @@
+@@ -16217,7 +16216,7 @@ Vantas
(unmaintained)
</a></h3>
<p>
@@ -778,7 +754,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -16247,7 +16246,7 @@
+@@ -16247,7 +16246,7 @@ Vantas
(unmaintained)
</a></h3>
<p>
@@ -787,7 +763,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
</p>
<table border=1>
<tr bgcolor=E0E0FF>
-@@ -16281,7 +16280,7 @@
+@@ -16281,7 +16280,7 @@ Connectix
<p>
<b>Link(s):</b>
<a href="http://gkall.hobby.nl/stv680-aiptek.html">http://gkall.hobby.nl/stv680-aiptek.html</a><br>
@@ -796,7 +772,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Comment:</b> This vidcam backend is for the stv0680 chipset, See the website for more info.<br>
</p>
<table border=1>
-@@ -16379,7 +16378,7 @@
+@@ -16379,7 +16378,7 @@ Grandtek Scopecam
<p>
<b>Link(s):</b>
<a href="mailto:peter@fales-lorenz.net">mailto:peter@fales-lorenz.net</a><br>
@@ -805,7 +781,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> <a href="http://www.gphoto.org">Multiple cameras supported by the gphoto2 libraries</a><br>
<b>Comment:</b> The long-term plan is to support all the cameras supported by the gphoto2 libraries (currently over 140 models). However, at this stage, only a handful of cameras are definitely known to work with SANE. Other cameras will probably work if the native file format is EXIF or JPEG. Testers welcome!<br>
</p>
-@@ -16387,7 +16386,7 @@
+@@ -16387,7 +16386,7 @@ Grandtek Scopecam
(unmaintained)
</a></h3>
<p>
@@ -814,7 +790,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> Scanners with the machine-independent PINT interface<br>
<b>Comment:</b> Haven't been tested for a long time. Handle with care.<br>
</p>
-@@ -16397,7 +16396,7 @@
+@@ -16397,7 +16396,7 @@ Grandtek Scopecam
<p>
<b>Link(s):</b>
<a href="mailto:henning@meier-geinitz.de">mailto:henning@meier-geinitz.de</a><br>
@@ -823,7 +799,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> Reads PNM files<br>
<b>Comment:</b> Used for debugging frontends. Obsolete, use test backend instead.<br>
</p>
-@@ -16407,7 +16406,7 @@
+@@ -16407,7 +16406,7 @@ Grandtek Scopecam
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/test-backend/">http://www.meier-geinitz.de/sane/test-backend/</a><br>
@@ -832,7 +808,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> Frontend-tester<br>
<b>Comment:</b> Backend for testing frontends. Also serves as example for SANE backend options.<br>
</p>
-@@ -16417,7 +16416,7 @@
+@@ -16417,7 +16416,7 @@ Grandtek Scopecam
<p>
<b>Link(s):</b>
<a href="mailto:henning@meier-geinitz.de">mailto:henning@meier-geinitz.de</a><br>
@@ -841,7 +817,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> Interface to Video For Linux API<br>
<b>Comment:</b> Supports video cameras and other devices accessed by the v4l kernel API, e.g. bttv devices. Quite a lot of known bugs.<br>
</p>
-@@ -16431,7 +16430,7 @@
+@@ -16431,7 +16430,7 @@ Grandtek Scopecam
<p>
<b>Link(s):</b>
<a href="mailto:henning@meier-geinitz.de">mailto:henning@meier-geinitz.de</a><br>
@@ -850,7 +826,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> Dynamic loading of shared-library backends.<br>
</p>
<h3><a name="M-NET">Backend: net
-@@ -16440,7 +16439,7 @@
+@@ -16440,7 +16439,7 @@ Grandtek Scopecam
<p>
<b>Link(s):</b>
<a href="http://www.penguin-breeder.org/?page=sane-net">http://www.penguin-breeder.org/?page=sane-net</a><br>
@@ -859,10 +835,10 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-backends-split.ref
<b>Description:</b> Network access to saned servers<br>
<b>Comment:</b> Can be used to access any scanner supported by SANE over the net. Supports IPv4 and IPv6.<br>
</p>
-Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
+Index: experimental/testsuite/tools/data/html-mfgs.ref
===================================================================
---- sane-backends-1.0.24.orig/testsuite/tools/data/html-mfgs.ref 2013-08-25 17:23:27.000000000 -0400
-+++ sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref 2013-10-05 17:15:20.619294522 -0400
+--- experimental.orig/testsuite/tools/data/html-mfgs.ref
++++ experimental/testsuite/tools/data/html-mfgs.ref
@@ -5,7 +5,6 @@
</head>
<body bgcolor=FFFFFF>
@@ -871,7 +847,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<h1>SANE: Supported Devices</h1>
</div>
<hr>
-@@ -225,7 +224,7 @@
+@@ -225,7 +224,7 @@ isn't mentioned in this list at all.</p>
<td align=center>
abaton<br>(unmaintained)
</td>
@@ -880,7 +856,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scan 300/S</td>
<td align=center>SCSI</td>
-@@ -235,7 +234,7 @@
+@@ -235,7 +234,7 @@ abaton<br>(unmaintained)
<td align=center>
abaton<br>(unmaintained)
</td>
@@ -889,7 +865,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ACER-PERIPHERALS">Manufacturer: Acer Peripherals</a></h3>
-@@ -264,7 +263,7 @@
+@@ -264,7 +263,7 @@ abaton<br>(unmaintained)
<a href="http://www.zago.net/sane/#leo">leo</a>
<br>(1.0-10)
</td>
@@ -898,7 +874,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ACTOWN">Manufacturer: Actown</a></h3>
-@@ -289,7 +288,7 @@
+@@ -289,7 +288,7 @@ abaton<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -907,7 +883,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ADLIB">Manufacturer: Adlib</a></h3>
-@@ -314,7 +313,7 @@
+@@ -314,7 +313,7 @@ abaton<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -916,7 +892,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>JetScan636PRO</td>
<td align=center>SCSI</td>
-@@ -325,7 +324,7 @@
+@@ -325,7 +324,7 @@ abaton<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -925,7 +901,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ADVENT">Manufacturer: Advent</a></h3>
-@@ -352,7 +351,7 @@
+@@ -352,7 +351,7 @@ abaton<br>(unmaintained)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -934,7 +910,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-AGFA">Manufacturer: AGFA</a></h3>
-@@ -379,7 +378,7 @@
+@@ -379,7 +378,7 @@ abaton<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -943,7 +919,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Arcus II</td>
<td align=center>SCSI</td>
-@@ -390,7 +389,7 @@
+@@ -390,7 +389,7 @@ abaton<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -952,7 +928,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DuoScan</td>
<td align=center>SCSI</td>
-@@ -401,7 +400,7 @@
+@@ -401,7 +400,7 @@ abaton<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -961,7 +937,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/agfa-duoscan-f40.html">DuoScan f40</a></td>
<td align=center>USB IEEE-1394</td>
-@@ -444,7 +443,7 @@
+@@ -444,7 +443,7 @@ abaton<br>(unmaintained)
<td align=center>
agfafocus<br>(unmaintained)
</td>
@@ -970,7 +946,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Focus Color Plus</td>
<td align=center>SCSI</td>
-@@ -454,7 +453,7 @@
+@@ -454,7 +453,7 @@ agfafocus<br>(unmaintained)
<td align=center>
agfafocus<br>(unmaintained)
</td>
@@ -979,7 +955,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Focus GS Scanner</td>
<td align=center>SCSI</td>
-@@ -464,7 +463,7 @@
+@@ -464,7 +463,7 @@ agfafocus<br>(unmaintained)
<td align=center>
agfafocus<br>(unmaintained)
</td>
@@ -988,7 +964,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Focus II</td>
<td align=center>SCSI</td>
-@@ -474,7 +473,7 @@
+@@ -474,7 +473,7 @@ agfafocus<br>(unmaintained)
<td align=center>
agfafocus<br>(unmaintained)
</td>
@@ -997,7 +973,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Focus Lineart Scanner</td>
<td align=center>SCSI</td>
-@@ -484,7 +483,7 @@
+@@ -484,7 +483,7 @@ agfafocus<br>(unmaintained)
<td align=center>
agfafocus<br>(unmaintained)
</td>
@@ -1006,7 +982,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan</td>
<td align=center>SCSI</td>
-@@ -495,7 +494,7 @@
+@@ -495,7 +494,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1015,7 +991,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan 300</td>
<td align=center>SCSI</td>
-@@ -506,7 +505,7 @@
+@@ -506,7 +505,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1024,7 +1000,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan 310</td>
<td align=center>SCSI</td>
-@@ -517,7 +516,7 @@
+@@ -517,7 +516,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1033,7 +1009,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">SnapScan 310P</a></td>
<td align=center>Parport</td>
-@@ -539,7 +538,7 @@
+@@ -539,7 +538,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1042,7 +1018,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">SnapScan 1200P</a></td>
<td align=center>Parport</td>
-@@ -572,7 +571,7 @@
+@@ -572,7 +571,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1051,7 +1027,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan 1212U_2</td>
<td align=center>USB</td>
-@@ -583,7 +582,7 @@
+@@ -583,7 +582,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1060,7 +1036,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan 1236s</td>
<td align=center>SCSI</td>
-@@ -594,7 +593,7 @@
+@@ -594,7 +593,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1069,7 +1045,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan 1236u</td>
<td align=center>USB</td>
-@@ -605,7 +604,7 @@
+@@ -605,7 +604,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1078,7 +1054,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e10</td>
<td align=center>USB</td>
-@@ -616,7 +615,7 @@
+@@ -616,7 +615,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1087,7 +1063,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e20</td>
<td align=center>USB</td>
-@@ -627,7 +626,7 @@
+@@ -627,7 +626,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1096,7 +1072,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e25</td>
<td align=center>USB</td>
-@@ -638,7 +637,7 @@
+@@ -638,7 +637,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1105,7 +1081,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e26</td>
<td align=center>USB</td>
-@@ -649,7 +648,7 @@
+@@ -649,7 +648,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1114,7 +1090,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e40</td>
<td align=center>USB</td>
-@@ -660,7 +659,7 @@
+@@ -660,7 +659,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1123,7 +1099,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e42</td>
<td align=center>USB</td>
-@@ -671,7 +670,7 @@
+@@ -671,7 +670,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1132,7 +1108,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e50</td>
<td align=center>USB</td>
-@@ -682,7 +681,7 @@
+@@ -682,7 +681,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1141,7 +1117,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e52</td>
<td align=center>USB</td>
-@@ -693,7 +692,7 @@
+@@ -693,7 +692,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1150,7 +1126,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SnapScan e60</td>
<td align=center>USB</td>
-@@ -704,7 +703,7 @@
+@@ -704,7 +703,7 @@ agfafocus<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -1159,7 +1135,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">SnapScan EZ</a></td>
<td align=center>Parport</td>
-@@ -726,7 +725,7 @@
+@@ -726,7 +725,7 @@ agfafocus<br>(unmaintained)
<a href="http://sourceforge.net/projects/hp3300backend">niash</a>
<br>(0.3)
</td>
@@ -1168,7 +1144,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>StudioScan</td>
<td align=center>SCSI</td>
-@@ -737,7 +736,7 @@
+@@ -737,7 +736,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -1177,7 +1153,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>StudioScan II</td>
<td align=center>SCSI</td>
-@@ -748,7 +747,7 @@
+@@ -748,7 +747,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -1186,7 +1162,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>StudioScan IIsi</td>
<td align=center>SCSI</td>
-@@ -759,7 +758,7 @@
+@@ -759,7 +758,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -1195,7 +1171,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Studiostar</td>
<td align=center>SCSI</td>
-@@ -770,7 +769,7 @@
+@@ -770,7 +769,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -1204,7 +1180,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-AMBIR">Manufacturer: Ambir</a></h3>
-@@ -795,7 +794,7 @@
+@@ -795,7 +794,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -1213,7 +1189,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-APPLE">Manufacturer: Apple</a></h3>
-@@ -821,7 +820,7 @@
+@@ -821,7 +820,7 @@ agfafocus<br>(unmaintained)
<td align=center>
apple<br>(unmaintained)
</td>
@@ -1222,7 +1198,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Color OneScanner</td>
<td align=center>SCSI</td>
-@@ -831,7 +830,7 @@
+@@ -831,7 +830,7 @@ apple<br>(unmaintained)
<td align=center>
apple<br>(unmaintained)
</td>
@@ -1231,7 +1207,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Color OneScanner 600/27</td>
<td align=center>SCSI</td>
-@@ -842,7 +841,7 @@
+@@ -842,7 +841,7 @@ apple<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -1240,7 +1216,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OneScanner</td>
<td align=center>SCSI</td>
-@@ -852,7 +851,7 @@
+@@ -852,7 +851,7 @@ apple<br>(unmaintained)
<td align=center>
apple<br>(unmaintained)
</td>
@@ -1249,7 +1225,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ARIES">Manufacturer: Aries</a></h3>
-@@ -877,7 +876,7 @@
+@@ -877,7 +876,7 @@ apple<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -1258,7 +1234,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ARTEC-ULTIMA">Manufacturer: Artec/Ultima</a></h3>
-@@ -915,7 +914,7 @@
+@@ -915,7 +914,7 @@ apple<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -1267,7 +1243,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>A6000C PLUS</td>
<td align=center>SCSI</td>
-@@ -926,7 +925,7 @@
+@@ -926,7 +925,7 @@ apple<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -1276,7 +1252,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AM12e+</td>
<td align=center>Parport</td>
-@@ -948,7 +947,7 @@
+@@ -948,7 +947,7 @@ apple<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -1285,7 +1261,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AS6E</td>
<td align=center>Parport</td>
-@@ -959,7 +958,7 @@
+@@ -959,7 +958,7 @@ apple<br>(unmaintained)
<a href="http://as6edriver.sourceforge.net/">as6e</a>
<br>(0.5)
</td>
@@ -1294,7 +1270,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AT3</td>
<td align=center>SCSI</td>
-@@ -970,7 +969,7 @@
+@@ -970,7 +969,7 @@ apple<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -1303,7 +1279,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AT6</td>
<td align=center>SCSI</td>
-@@ -981,7 +980,7 @@
+@@ -981,7 +980,7 @@ apple<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -1312,7 +1288,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AT12</td>
<td align=center>SCSI</td>
-@@ -992,7 +991,7 @@
+@@ -992,7 +991,7 @@ apple<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -1321,7 +1297,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>E+ 48U</td>
<td align=center>USB</td>
-@@ -1002,7 +1001,7 @@
+@@ -1002,7 +1001,7 @@ apple<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -1330,7 +1306,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>E+ Pro</td>
<td align=center>USB</td>
-@@ -1012,7 +1011,7 @@
+@@ -1012,7 +1011,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -1339,7 +1315,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Ultima 2000</td>
<td align=center>USB</td>
-@@ -1023,7 +1022,7 @@
+@@ -1023,7 +1022,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -1348,7 +1324,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/artec-ultima-2000-2.html">Ultima 2000 (0x4001)</a></td>
<td align=center>USB</td>
-@@ -1045,7 +1044,7 @@
+@@ -1045,7 +1044,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -1357,7 +1333,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-AVIGRAMM">Manufacturer: Avigramm</a></h3>
-@@ -1097,7 +1096,7 @@
+@@ -1097,7 +1096,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1366,7 +1342,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>@V5100</td>
<td align=center>USB</td>
-@@ -1108,7 +1107,7 @@
+@@ -1108,7 +1107,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1375,7 +1351,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AM3000 Series</td>
<td align=center>USB</td>
-@@ -1119,7 +1118,7 @@
+@@ -1119,7 +1118,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1384,7 +1360,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV100CS</td>
<td align=center>SCSI</td>
-@@ -1130,7 +1129,7 @@
+@@ -1130,7 +1129,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1393,7 +1369,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV100IIICS</td>
<td align=center>SCSI</td>
-@@ -1141,7 +1140,7 @@
+@@ -1141,7 +1140,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1402,7 +1378,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV100S</td>
<td align=center>SCSI</td>
-@@ -1152,7 +1151,7 @@
+@@ -1152,7 +1151,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1411,7 +1387,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV120</td>
<td align=center>USB</td>
-@@ -1163,7 +1162,7 @@
+@@ -1163,7 +1162,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1420,7 +1396,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV121</td>
<td align=center>USB</td>
-@@ -1174,7 +1173,7 @@
+@@ -1174,7 +1173,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1429,7 +1405,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV122</td>
<td align=center>USB</td>
-@@ -1185,7 +1184,7 @@
+@@ -1185,7 +1184,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1438,7 +1414,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV122 C2</td>
<td align=center>USB</td>
-@@ -1196,7 +1195,7 @@
+@@ -1196,7 +1195,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1447,7 +1423,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV210</td>
<td align=center>USB</td>
-@@ -1207,7 +1206,7 @@
+@@ -1207,7 +1206,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1456,7 +1432,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV210</td>
<td align=center>USB</td>
-@@ -1218,7 +1217,7 @@
+@@ -1218,7 +1217,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1465,7 +1441,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV210C2</td>
<td align=center>USB</td>
-@@ -1229,7 +1228,7 @@
+@@ -1229,7 +1228,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1474,7 +1450,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV210C2-G</td>
<td align=center>USB</td>
-@@ -1240,7 +1239,7 @@
+@@ -1240,7 +1239,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1483,7 +1459,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV210D2+</td>
<td align=center>USB</td>
-@@ -1251,7 +1250,7 @@
+@@ -1251,7 +1250,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1492,7 +1468,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220</td>
<td align=center>USB</td>
-@@ -1262,7 +1261,7 @@
+@@ -1262,7 +1261,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1501,7 +1477,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220+</td>
<td align=center>USB</td>
-@@ -1273,7 +1272,7 @@
+@@ -1273,7 +1272,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1510,7 +1486,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220-G</td>
<td align=center>USB</td>
-@@ -1284,7 +1283,7 @@
+@@ -1284,7 +1283,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1519,7 +1495,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220C2</td>
<td align=center>USB</td>
-@@ -1295,7 +1294,7 @@
+@@ -1295,7 +1294,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1528,7 +1504,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220C2-B</td>
<td align=center>USB</td>
-@@ -1306,7 +1305,7 @@
+@@ -1306,7 +1305,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1537,7 +1513,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220C2-G</td>
<td align=center>USB</td>
-@@ -1317,7 +1316,7 @@
+@@ -1317,7 +1316,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1546,7 +1522,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV220D2</td>
<td align=center>USB</td>
-@@ -1328,7 +1327,7 @@
+@@ -1328,7 +1327,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1555,7 +1531,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV240SC</td>
<td align=center>SCSI</td>
-@@ -1339,7 +1338,7 @@
+@@ -1339,7 +1338,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1564,7 +1540,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV260CS</td>
<td align=center>SCSI</td>
-@@ -1350,7 +1349,7 @@
+@@ -1350,7 +1349,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1573,7 +1549,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV360CS</td>
<td align=center>SCSI</td>
-@@ -1361,7 +1360,7 @@
+@@ -1361,7 +1360,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1582,7 +1558,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV363CS</td>
<td align=center>SCSI</td>
-@@ -1372,7 +1371,7 @@
+@@ -1372,7 +1371,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1591,7 +1567,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV420CS</td>
<td align=center>SCSI</td>
-@@ -1383,7 +1382,7 @@
+@@ -1383,7 +1382,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1600,7 +1576,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV600U</td>
<td align=center>USB</td>
-@@ -1394,7 +1393,7 @@
+@@ -1394,7 +1393,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1609,7 +1585,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV600U Plus</td>
<td align=center>USB</td>
-@@ -1405,7 +1404,7 @@
+@@ -1405,7 +1404,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1618,7 +1594,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV610</td>
<td align=center>USB</td>
-@@ -1416,7 +1415,7 @@
+@@ -1416,7 +1415,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1627,7 +1603,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV610C2</td>
<td align=center>USB</td>
-@@ -1427,7 +1426,7 @@
+@@ -1427,7 +1426,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1636,7 +1612,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV620CS</td>
<td align=center>SCSI</td>
-@@ -1438,7 +1437,7 @@
+@@ -1438,7 +1437,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1645,7 +1621,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV620CS Plus</td>
<td align=center>SCSI</td>
-@@ -1449,7 +1448,7 @@
+@@ -1449,7 +1448,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1654,7 +1630,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV630CS</td>
<td align=center>SCSI</td>
-@@ -1460,7 +1459,7 @@
+@@ -1460,7 +1459,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1663,7 +1639,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV630CSL</td>
<td align=center>SCSI</td>
-@@ -1471,7 +1470,7 @@
+@@ -1471,7 +1470,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1672,7 +1648,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV660S</td>
<td align=center>SCSI</td>
-@@ -1482,7 +1481,7 @@
+@@ -1482,7 +1481,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1681,7 +1657,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV680S</td>
<td align=center>SCSI</td>
-@@ -1493,7 +1492,7 @@
+@@ -1493,7 +1492,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1690,7 +1666,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV690U</td>
<td align=center>SCSI</td>
-@@ -1504,7 +1503,7 @@
+@@ -1504,7 +1503,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1699,7 +1675,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV800S</td>
<td align=center>SCSI</td>
-@@ -1515,7 +1514,7 @@
+@@ -1515,7 +1514,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1708,7 +1684,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV810C</td>
<td align=center>SCSI</td>
-@@ -1526,7 +1525,7 @@
+@@ -1526,7 +1525,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1717,7 +1693,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV820</td>
<td align=center>SCSI</td>
-@@ -1537,7 +1536,7 @@
+@@ -1537,7 +1536,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1726,7 +1702,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV820C</td>
<td align=center>SCSI</td>
-@@ -1548,7 +1547,7 @@
+@@ -1548,7 +1547,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1735,7 +1711,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV820C Plus</td>
<td align=center>SCSI</td>
-@@ -1559,7 +1558,7 @@
+@@ -1559,7 +1558,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1744,7 +1720,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV830C</td>
<td align=center>SCSI</td>
-@@ -1570,7 +1569,7 @@
+@@ -1570,7 +1569,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1753,7 +1729,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV830C Plus</td>
<td align=center>SCSI</td>
-@@ -1581,7 +1580,7 @@
+@@ -1581,7 +1580,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1762,7 +1738,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV880</td>
<td align=center>SCSI</td>
-@@ -1592,7 +1591,7 @@
+@@ -1592,7 +1591,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1771,7 +1747,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV880C</td>
<td align=center>SCSI</td>
-@@ -1603,7 +1602,7 @@
+@@ -1603,7 +1602,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1780,7 +1756,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV3200C</td>
<td align=center>SCSI</td>
-@@ -1614,7 +1613,7 @@
+@@ -1614,7 +1613,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1789,7 +1765,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV3200SU</td>
<td align=center>USB</td>
-@@ -1625,7 +1624,7 @@
+@@ -1625,7 +1624,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1798,7 +1774,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV3730SU</td>
<td align=center>USB</td>
-@@ -1636,7 +1635,7 @@
+@@ -1636,7 +1635,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1807,7 +1783,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV3750SU</td>
<td align=center>USB</td>
-@@ -1647,7 +1646,7 @@
+@@ -1647,7 +1646,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1816,7 +1792,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV3800C</td>
<td align=center>SCSI</td>
-@@ -1658,7 +1657,7 @@
+@@ -1658,7 +1657,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1825,7 +1801,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV3850SU</td>
<td align=center>USB</td>
-@@ -1669,7 +1668,7 @@
+@@ -1669,7 +1668,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1834,7 +1810,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV6120</td>
<td align=center>SCSI</td>
-@@ -1680,7 +1679,7 @@
+@@ -1680,7 +1679,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1843,7 +1819,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV6240</td>
<td align=center>SCSI</td>
-@@ -1691,7 +1690,7 @@
+@@ -1691,7 +1690,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1852,7 +1828,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV8000S</td>
<td align=center>SCSI</td>
-@@ -1702,7 +1701,7 @@
+@@ -1702,7 +1701,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1861,7 +1837,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV8050U</td>
<td align=center>USB</td>
-@@ -1713,7 +1712,7 @@
+@@ -1713,7 +1712,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1870,7 +1846,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV8300</td>
<td align=center>USB</td>
-@@ -1724,7 +1723,7 @@
+@@ -1724,7 +1723,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1879,7 +1855,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AV8350</td>
<td align=center>USB</td>
-@@ -1735,7 +1734,7 @@
+@@ -1735,7 +1734,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1888,7 +1864,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVA3</td>
<td align=center>SCSI</td>
-@@ -1746,7 +1745,7 @@
+@@ -1746,7 +1745,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1897,7 +1873,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DS310F</td>
<td align=center>Parport</td>
-@@ -1768,7 +1767,7 @@
+@@ -1768,7 +1767,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1906,7 +1882,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>FB2080E</td>
<td align=center>USB</td>
-@@ -1779,7 +1778,7 @@
+@@ -1779,7 +1778,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1915,7 +1891,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>FB6000E</td>
<td align=center>SCSI</td>
-@@ -1790,7 +1789,7 @@
+@@ -1790,7 +1789,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1924,7 +1900,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>FB6080E</td>
<td align=center>USB</td>
-@@ -1801,7 +1800,7 @@
+@@ -1801,7 +1800,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1933,7 +1909,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>IT8300</td>
<td align=center>USB</td>
-@@ -1812,7 +1811,7 @@
+@@ -1812,7 +1811,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -1942,7 +1918,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/umax-astra-4500.html">iVina 1600</a></td>
<td align=center>USB</td>
-@@ -1872,7 +1871,7 @@
+@@ -1872,7 +1871,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.martoneconsulting.com/sane-bh.html">bh</a>
<br>(1.0-4)
</td>
@@ -1951,7 +1927,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>COPISCAN II 2137(A)</td>
<td align=center>SCSI</td>
-@@ -1883,7 +1882,7 @@
+@@ -1883,7 +1882,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.martoneconsulting.com/sane-bh.html">bh</a>
<br>(1.0-4)
</td>
@@ -1960,7 +1936,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>COPISCAN II 2138A</td>
<td align=center>SCSI</td>
-@@ -1894,7 +1893,7 @@
+@@ -1894,7 +1893,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.martoneconsulting.com/sane-bh.html">bh</a>
<br>(1.0-4)
</td>
@@ -1969,7 +1945,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>COPISCAN II 3238</td>
<td align=center>SCSI</td>
-@@ -1905,7 +1904,7 @@
+@@ -1905,7 +1904,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.martoneconsulting.com/sane-bh.html">bh</a>
<br>(1.0-4)
</td>
@@ -1978,7 +1954,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>COPISCAN II 3338(A)</td>
<td align=center>SCSI</td>
-@@ -1916,7 +1915,7 @@
+@@ -1916,7 +1915,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.martoneconsulting.com/sane-bh.html">bh</a>
<br>(1.0-4)
</td>
@@ -1987,7 +1963,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>COPISCAN II 6338</td>
<td align=center>SCSI</td>
-@@ -1927,7 +1926,7 @@
+@@ -1927,7 +1926,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.martoneconsulting.com/sane-bh.html">bh</a>
<br>(1.0-4)
</td>
@@ -1996,7 +1972,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BELL-HOWELL">Manufacturer: Bell+Howell</a></h3>
-@@ -1952,7 +1951,7 @@
+@@ -1952,7 +1951,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -2005,7 +1981,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BENQ">Manufacturer: BenQ</a></h3>
-@@ -1979,7 +1978,7 @@
+@@ -1979,7 +1978,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -2014,7 +1990,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BENQ--ACER-">Manufacturer: Benq (Acer)</a></h3>
-@@ -2007,7 +2006,7 @@
+@@ -2007,7 +2006,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2023,7 +1999,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">310P</a></td>
<td align=center>Parport</td>
-@@ -2029,7 +2028,7 @@
+@@ -2029,7 +2028,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2032,7 +2008,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>310U</td>
<td align=center>USB</td>
-@@ -2040,7 +2039,7 @@
+@@ -2040,7 +2039,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2041,7 +2017,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">320P</a></td>
<td align=center>Parport</td>
-@@ -2062,7 +2061,7 @@
+@@ -2062,7 +2061,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2050,7 +2026,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">340P</a></td>
<td align=center>Parport</td>
-@@ -2084,7 +2083,7 @@
+@@ -2084,7 +2083,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2059,7 +2035,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">610P</a></td>
<td align=center>Parport</td>
-@@ -2106,7 +2105,7 @@
+@@ -2106,7 +2105,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2068,7 +2044,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">610PT</a></td>
<td align=center>Parport</td>
-@@ -2128,7 +2127,7 @@
+@@ -2128,7 +2127,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2077,7 +2053,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">620P</a></td>
<td align=center>Parport</td>
-@@ -2161,7 +2160,7 @@
+@@ -2161,7 +2160,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2086,7 +2062,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>620U</td>
<td align=center>USB</td>
-@@ -2172,7 +2171,7 @@
+@@ -2172,7 +2171,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2095,7 +2071,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>620UT</td>
<td align=center>USB</td>
-@@ -2183,7 +2182,7 @@
+@@ -2183,7 +2182,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2104,7 +2080,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>640BT</td>
<td align=center>USB</td>
-@@ -2194,7 +2193,7 @@
+@@ -2194,7 +2193,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2113,7 +2089,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>640bu</td>
<td align=center>USB</td>
-@@ -2205,7 +2204,7 @@
+@@ -2205,7 +2204,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2122,7 +2098,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/acer-parport.html">640P</a></td>
<td align=center>Parport</td>
-@@ -2227,7 +2226,7 @@
+@@ -2227,7 +2226,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2131,7 +2107,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>1240</td>
<td align=center>USB</td>
-@@ -2238,7 +2237,7 @@
+@@ -2238,7 +2237,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2140,7 +2116,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>3300</td>
<td align=center>USB</td>
-@@ -2249,7 +2248,7 @@
+@@ -2249,7 +2248,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2149,7 +2125,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>3300</td>
<td align=center>USB</td>
-@@ -2260,7 +2259,7 @@
+@@ -2260,7 +2259,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2158,7 +2134,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>4300</td>
<td align=center>USB</td>
-@@ -2271,7 +2270,7 @@
+@@ -2271,7 +2270,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2167,7 +2143,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>4300</td>
<td align=center>USB</td>
-@@ -2282,7 +2281,7 @@
+@@ -2282,7 +2281,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2176,7 +2152,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5000</td>
<td align=center>USB</td>
-@@ -2293,7 +2292,7 @@
+@@ -2293,7 +2292,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2185,7 +2161,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5000E</td>
<td align=center>USB</td>
-@@ -2304,7 +2303,7 @@
+@@ -2304,7 +2303,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2194,7 +2170,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5000U</td>
<td align=center>USB</td>
-@@ -2315,7 +2314,7 @@
+@@ -2315,7 +2314,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2203,7 +2179,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5150</td>
<td align=center>USB</td>
-@@ -2326,7 +2325,7 @@
+@@ -2326,7 +2325,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2212,7 +2188,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5250</td>
<td align=center>USB</td>
-@@ -2337,7 +2336,7 @@
+@@ -2337,7 +2336,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2221,7 +2197,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5300</td>
<td align=center>USB</td>
-@@ -2348,7 +2347,7 @@
+@@ -2348,7 +2347,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2230,7 +2206,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>5450</td>
<td align=center>USB</td>
-@@ -2403,7 +2402,7 @@
+@@ -2403,7 +2402,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -2239,7 +2215,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BLACKWIDOW">Manufacturer: BlackWidow</a></h3>
-@@ -2430,7 +2429,7 @@
+@@ -2430,7 +2429,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -2248,7 +2224,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BOEDER">Manufacturer: Boeder</a></h3>
-@@ -2466,7 +2465,7 @@
+@@ -2466,7 +2465,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -2257,7 +2233,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BRIGHTSCAN">Manufacturer: BrightScan</a></h3>
-@@ -2491,7 +2490,7 @@
+@@ -2491,7 +2490,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -2266,7 +2242,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BROTHER">Manufacturer: Brother</a></h3>
-@@ -2627,7 +2626,7 @@
+@@ -2627,7 +2626,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2275,7 +2251,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 300</td>
<td align=center>SCSI</td>
-@@ -2638,7 +2637,7 @@
+@@ -2638,7 +2637,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -2284,7 +2260,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 600</td>
<td align=center>SCSI</td>
-@@ -2649,7 +2648,7 @@
+@@ -2649,7 +2648,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -2293,7 +2269,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 620S</td>
<td align=center>SCSI</td>
-@@ -2660,7 +2659,7 @@
+@@ -2660,7 +2659,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -2302,7 +2278,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 700F</td>
<td align=center>USB</td>
-@@ -2671,7 +2670,7 @@
+@@ -2671,7 +2670,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2311,7 +2287,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 1200S</td>
<td align=center>SCSI</td>
-@@ -2682,7 +2681,7 @@
+@@ -2682,7 +2681,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -2320,7 +2296,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 2700F</td>
<td align=center>SCSI</td>
-@@ -2693,7 +2692,7 @@
+@@ -2693,7 +2692,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -2329,7 +2305,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 2710S</td>
<td align=center>SCSI</td>
-@@ -2704,7 +2703,7 @@
+@@ -2704,7 +2703,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -2338,7 +2314,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-3000.html">CanoScan 3000</a></td>
<td align=center>USB</td>
-@@ -2770,7 +2769,7 @@
+@@ -2770,7 +2769,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2347,7 +2323,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-5000f.html">CanoScan 5000F</a></td>
<td align=center>USB</td>
-@@ -2803,7 +2802,7 @@
+@@ -2803,7 +2802,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2356,7 +2332,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-8000f.html">CanoScan 8000F</a></td>
<td align=center>USB</td>
-@@ -2847,7 +2846,7 @@
+@@ -2847,7 +2846,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -2365,7 +2341,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 9000F</td>
<td align=center>USB</td>
-@@ -2858,7 +2857,7 @@
+@@ -2858,7 +2857,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -2374,7 +2350,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan 9000F Mark II</td>
<td align=center>USB</td>
-@@ -2869,7 +2868,7 @@
+@@ -2869,7 +2868,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -2383,7 +2359,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-9900f.html">CanoScan 9900F</a></td>
<td align=center>USB</td>
-@@ -2924,7 +2923,7 @@
+@@ -2924,7 +2923,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -2392,7 +2368,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-d1230u.html">CanoScan D1230U</a></td>
<td align=center>USB</td>
-@@ -2968,7 +2967,7 @@
+@@ -2968,7 +2967,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2401,7 +2377,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan FB320P</td>
<td align=center>Parport (ECP)</td>
-@@ -2979,7 +2978,7 @@
+@@ -2979,7 +2978,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2410,7 +2386,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan FB320U</td>
<td align=center>USB</td>
-@@ -3001,7 +3000,7 @@
+@@ -3001,7 +3000,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2419,7 +2395,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan FB610P</td>
<td align=center>Parport (ECP)</td>
-@@ -3012,7 +3011,7 @@
+@@ -3012,7 +3011,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2428,7 +2404,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan FB620P</td>
<td align=center>Parport (ECP)</td>
-@@ -3023,7 +3022,7 @@
+@@ -3023,7 +3022,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2437,7 +2413,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-fb620u.html">CanoScan FB620U</a></td>
<td align=center>USB</td>
-@@ -3045,7 +3044,7 @@
+@@ -3045,7 +3044,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2446,7 +2422,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan fb630u</td>
<td align=center>USB</td>
-@@ -3056,7 +3055,7 @@
+@@ -3056,7 +3055,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb630u.sourceforge.net/">canon630u</a>
<br>(0.1)
</td>
@@ -2455,7 +2431,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan fb636u</td>
<td align=center>USB</td>
-@@ -3067,7 +3066,7 @@
+@@ -3067,7 +3066,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb630u.sourceforge.net/">canon630u</a>
<br>(0.1)
</td>
@@ -2464,7 +2440,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://sourceforge.net/projects/canonscanner/">CanoScan FB1210U</a></td>
<td align=center>USB</td>
-@@ -3089,7 +3088,7 @@
+@@ -3089,7 +3088,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2473,7 +2449,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan LiDE 40</td>
<td align=center>USB</td>
-@@ -3100,7 +3099,7 @@
+@@ -3100,7 +3099,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2482,7 +2458,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan LiDE 50</td>
<td align=center>USB</td>
-@@ -3111,7 +3110,7 @@
+@@ -3111,7 +3110,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2491,7 +2467,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan LiDE 60</td>
<td align=center>USB</td>
-@@ -3122,7 +3121,7 @@
+@@ -3122,7 +3121,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2500,7 +2476,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.juergen-ernst.de/info_sane.html">CanoScan LiDE 70</a></td>
<td align=center>USB</td>
-@@ -3166,7 +3165,7 @@
+@@ -3166,7 +3165,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2509,7 +2485,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan LiDE 110</td>
<td align=center>USB</td>
-@@ -3177,7 +3176,7 @@
+@@ -3177,7 +3176,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2518,7 +2494,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan LiDE 200</td>
<td align=center>USB</td>
-@@ -3188,7 +3187,7 @@
+@@ -3188,7 +3187,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2527,7 +2503,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan LiDE 210</td>
<td align=center>USB</td>
-@@ -3199,7 +3198,7 @@
+@@ -3199,7 +3198,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -2536,7 +2512,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-canoscan-lide-500f.html">CanoScan LiDE 500F</a></td>
<td align=center>USB</td>
-@@ -3243,7 +3242,7 @@
+@@ -3243,7 +3242,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -2545,7 +2521,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N340P</td>
<td align=center>Parport (ECP)</td>
-@@ -3254,7 +3253,7 @@
+@@ -3254,7 +3253,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2554,7 +2530,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N640P</td>
<td align=center>Parport (ECP)</td>
-@@ -3265,7 +3264,7 @@
+@@ -3265,7 +3264,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2563,7 +2539,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N640P ex</td>
<td align=center>Parport (ECP)</td>
-@@ -3276,7 +3275,7 @@
+@@ -3276,7 +3275,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://canon-fb330p.sourceforge.net">canon_pp</a>
<br>(0.33)
</td>
@@ -2572,7 +2548,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N650U/N656U</td>
<td align=center>USB</td>
-@@ -3287,7 +3286,7 @@
+@@ -3287,7 +3286,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -2581,7 +2557,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N670U/N676U/LiDE20</td>
<td align=center>USB</td>
-@@ -3298,7 +3297,7 @@
+@@ -3298,7 +3297,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -2590,7 +2566,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N1220U</td>
<td align=center>USB</td>
-@@ -3309,7 +3308,7 @@
+@@ -3309,7 +3308,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -2599,7 +2575,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CanoScan N1240U/LiDE30</td>
<td align=center>USB</td>
-@@ -3320,7 +3319,7 @@
+@@ -3320,7 +3319,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -2608,7 +2584,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CR-25</td>
<td align=center>USB</td>
-@@ -3331,7 +3330,7 @@
+@@ -3331,7 +3330,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2617,7 +2593,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CR-55</td>
<td align=center>USB</td>
-@@ -3342,7 +3341,7 @@
+@@ -3342,7 +3341,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2626,7 +2602,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CR-135i</td>
<td align=center>USB SCSI</td>
-@@ -3353,7 +3352,7 @@
+@@ -3353,7 +3352,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2635,7 +2611,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CR-180</td>
<td align=center>USB SCSI</td>
-@@ -3364,7 +3363,7 @@
+@@ -3364,7 +3363,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2644,7 +2620,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CR-180II</td>
<td align=center>USB SCSI</td>
-@@ -3375,7 +3374,7 @@
+@@ -3375,7 +3374,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2653,7 +2629,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CR-190i</td>
<td align=center>USB SCSI</td>
-@@ -3386,7 +3385,7 @@
+@@ -3386,7 +3385,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2662,7 +2638,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-1210C</td>
<td align=center>USB</td>
-@@ -3397,7 +3396,7 @@
+@@ -3397,7 +3396,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2671,7 +2647,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-1210C</td>
<td align=center>USB</td>
-@@ -3408,7 +3407,7 @@
+@@ -3408,7 +3407,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2680,7 +2656,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2010C</td>
<td align=center>USB</td>
-@@ -3419,7 +3418,7 @@
+@@ -3419,7 +3418,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2689,7 +2665,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2010M</td>
<td align=center>USB</td>
-@@ -3430,7 +3429,7 @@
+@@ -3430,7 +3429,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2698,7 +2674,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2020U</td>
<td align=center>USB</td>
-@@ -3452,7 +3451,7 @@
+@@ -3452,7 +3451,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2707,7 +2683,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2050SP</td>
<td align=center>USB</td>
-@@ -3463,7 +3462,7 @@
+@@ -3463,7 +3462,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2716,7 +2692,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2080C</td>
<td align=center>USB SCSI</td>
-@@ -3474,7 +3473,7 @@
+@@ -3474,7 +3473,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2725,7 +2701,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2510C</td>
<td align=center>USB</td>
-@@ -3485,7 +3484,7 @@
+@@ -3485,7 +3484,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2734,7 +2710,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2510M</td>
<td align=center>USB</td>
-@@ -3496,7 +3495,7 @@
+@@ -3496,7 +3495,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2743,7 +2719,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-2580C</td>
<td align=center>USB SCSI</td>
-@@ -3507,7 +3506,7 @@
+@@ -3507,7 +3506,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2752,7 +2728,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-3010C</td>
<td align=center>USB</td>
-@@ -3518,7 +3517,7 @@
+@@ -3518,7 +3517,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2761,7 +2737,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-3020C</td>
<td align=center>SCSI</td>
-@@ -3529,7 +3528,7 @@
+@@ -3529,7 +3528,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2770,7 +2746,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-3060</td>
<td align=center>SCSI</td>
-@@ -3540,7 +3539,7 @@
+@@ -3540,7 +3539,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2779,7 +2755,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-3080C</td>
<td align=center>SCSI</td>
-@@ -3551,7 +3550,7 @@
+@@ -3551,7 +3550,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2788,7 +2764,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-3080CII</td>
<td align=center>USB SCSI</td>
-@@ -3562,7 +3561,7 @@
+@@ -3562,7 +3561,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2797,7 +2773,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-4010C</td>
<td align=center>USB</td>
-@@ -3573,7 +3572,7 @@
+@@ -3573,7 +3572,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2806,7 +2782,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-4580U</td>
<td align=center>USB</td>
-@@ -3584,7 +3583,7 @@
+@@ -3584,7 +3583,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2815,7 +2791,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-5010C</td>
<td align=center>USB</td>
-@@ -3595,7 +3594,7 @@
+@@ -3595,7 +3594,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2824,7 +2800,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-5020</td>
<td align=center>SCSI</td>
-@@ -3606,7 +3605,7 @@
+@@ -3606,7 +3605,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2833,7 +2809,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-5060F</td>
<td align=center>SCSI</td>
-@@ -3617,7 +3616,7 @@
+@@ -3617,7 +3616,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2842,7 +2818,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-5080C</td>
<td align=center>SCSI</td>
-@@ -3628,7 +3627,7 @@
+@@ -3628,7 +3627,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2851,7 +2827,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-6010C</td>
<td align=center>USB SCSI</td>
-@@ -3639,7 +3638,7 @@
+@@ -3639,7 +3638,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2860,7 +2836,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-6030C</td>
<td align=center>USB SCSI</td>
-@@ -3650,7 +3649,7 @@
+@@ -3650,7 +3649,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2869,7 +2845,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-6050C</td>
<td align=center>USB SCSI</td>
-@@ -3661,7 +3660,7 @@
+@@ -3661,7 +3660,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2878,7 +2854,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-6080</td>
<td align=center>USB SCSI</td>
-@@ -3672,7 +3671,7 @@
+@@ -3672,7 +3671,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2887,7 +2863,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-7080C</td>
<td align=center>USB SCSI</td>
-@@ -3683,7 +3682,7 @@
+@@ -3683,7 +3682,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2896,7 +2872,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-7090C</td>
<td align=center>USB SCSI</td>
-@@ -3694,7 +3693,7 @@
+@@ -3694,7 +3693,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2905,7 +2881,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-7550C</td>
<td align=center>USB SCSI</td>
-@@ -3705,7 +3704,7 @@
+@@ -3705,7 +3704,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2914,7 +2890,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-7580</td>
<td align=center>USB SCSI</td>
-@@ -3716,7 +3715,7 @@
+@@ -3716,7 +3715,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2923,7 +2899,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-9050C</td>
<td align=center>USB SCSI</td>
-@@ -3727,7 +3726,7 @@
+@@ -3727,7 +3726,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2932,7 +2908,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-9080C</td>
<td align=center>USB SCSI</td>
-@@ -3738,7 +3737,7 @@
+@@ -3738,7 +3737,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2941,7 +2917,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR-X10C</td>
<td align=center>USB SCSI</td>
-@@ -3749,7 +3748,7 @@
+@@ -3749,7 +3748,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2950,7 +2926,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR3020</td>
<td align=center>SCSI</td>
-@@ -3760,7 +3759,7 @@
+@@ -3760,7 +3759,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2959,7 +2935,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DR4080U</td>
<td align=center>USB</td>
-@@ -3771,7 +3770,7 @@
+@@ -3771,7 +3770,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/canon/">canon_dr</a>
<br>(38)
</td>
@@ -2968,7 +2944,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-fs4000.html">FS4000</a></td>
<td align=center>USB SCSI</td>
-@@ -3793,7 +3792,7 @@
+@@ -3793,7 +3792,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -2977,7 +2953,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>I-SENSYS MF4320d</td>
<td align=center>USB</td>
-@@ -3804,7 +3803,7 @@
+@@ -3804,7 +3803,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -2986,7 +2962,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>I-SENSYS MF4330d</td>
<td align=center>USB</td>
-@@ -3815,7 +3814,7 @@
+@@ -3815,7 +3814,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -2995,7 +2971,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i-SENSYS MF4550d</td>
<td align=center>USB</td>
-@@ -3826,7 +3825,7 @@
+@@ -3826,7 +3825,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3004,7 +2980,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i-SENSYS MF5880dn</td>
<td align=center>USB</td>
-@@ -3837,7 +3836,7 @@
+@@ -3837,7 +3836,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3013,7 +2989,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i-SENSYS MF6680dn</td>
<td align=center>USB</td>
-@@ -3848,7 +3847,7 @@
+@@ -3848,7 +3847,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3022,7 +2998,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS D420</td>
<td align=center>USB</td>
-@@ -3859,7 +3858,7 @@
+@@ -3859,7 +3858,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3031,7 +3007,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS D480</td>
<td align=center>USB</td>
-@@ -3870,7 +3869,7 @@
+@@ -3870,7 +3869,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3040,7 +3016,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF3110</td>
<td align=center>USB</td>
-@@ -3881,7 +3880,7 @@
+@@ -3881,7 +3880,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3049,7 +3025,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF3240</td>
<td align=center>USB</td>
-@@ -3892,7 +3891,7 @@
+@@ -3892,7 +3891,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3058,7 +3034,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4010</td>
<td align=center>USB</td>
-@@ -3903,7 +3902,7 @@
+@@ -3903,7 +3902,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3067,7 +3043,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4018</td>
<td align=center>USB</td>
-@@ -3914,7 +3913,7 @@
+@@ -3914,7 +3913,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3076,7 +3052,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4120</td>
<td align=center>USB</td>
-@@ -3925,7 +3924,7 @@
+@@ -3925,7 +3924,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3085,7 +3061,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4122</td>
<td align=center>USB</td>
-@@ -3936,7 +3935,7 @@
+@@ -3936,7 +3935,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3094,7 +3070,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4140</td>
<td align=center>USB</td>
-@@ -3947,7 +3946,7 @@
+@@ -3947,7 +3946,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3103,7 +3079,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4150</td>
<td align=center>USB</td>
-@@ -3958,7 +3957,7 @@
+@@ -3958,7 +3957,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3112,7 +3088,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4270</td>
<td align=center>USB</td>
-@@ -3969,7 +3968,7 @@
+@@ -3969,7 +3968,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3121,7 +3097,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4350d</td>
<td align=center>USB</td>
-@@ -3980,7 +3979,7 @@
+@@ -3980,7 +3979,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3130,7 +3106,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4370dn</td>
<td align=center>USB</td>
-@@ -3991,7 +3990,7 @@
+@@ -3991,7 +3990,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3139,7 +3115,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4380dn</td>
<td align=center>USB</td>
-@@ -4002,7 +4001,7 @@
+@@ -4002,7 +4001,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3148,7 +3124,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4410</td>
<td align=center>USB</td>
-@@ -4013,7 +4012,7 @@
+@@ -4013,7 +4012,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3157,7 +3133,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4430</td>
<td align=center>USB</td>
-@@ -4024,7 +4023,7 @@
+@@ -4024,7 +4023,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3166,7 +3142,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4660</td>
<td align=center>USB</td>
-@@ -4035,7 +4034,7 @@
+@@ -4035,7 +4034,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3175,7 +3151,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF4690</td>
<td align=center>USB</td>
-@@ -4046,7 +4045,7 @@
+@@ -4046,7 +4045,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3184,7 +3160,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF5630</td>
<td align=center>USB</td>
-@@ -4057,7 +4056,7 @@
+@@ -4057,7 +4056,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3193,7 +3169,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF5730</td>
<td align=center>USB</td>
-@@ -4068,7 +4067,7 @@
+@@ -4068,7 +4067,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3202,7 +3178,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF5750</td>
<td align=center>USB</td>
-@@ -4079,7 +4078,7 @@
+@@ -4079,7 +4078,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3211,7 +3187,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF5770</td>
<td align=center>USB</td>
-@@ -4090,7 +4089,7 @@
+@@ -4090,7 +4089,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3220,7 +3196,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF6500 series</td>
<td align=center>USB</td>
-@@ -4101,7 +4100,7 @@
+@@ -4101,7 +4100,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3229,7 +3205,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF6550</td>
<td align=center>USB</td>
-@@ -4112,7 +4111,7 @@
+@@ -4112,7 +4111,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3238,7 +3214,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF8030</td>
<td align=center>USB</td>
-@@ -4123,7 +4122,7 @@
+@@ -4123,7 +4122,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3247,7 +3223,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageCLASS MF8170c</td>
<td align=center>USB</td>
-@@ -4134,7 +4133,7 @@
+@@ -4134,7 +4133,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3256,7 +3232,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>imageRUNNER 1020/1024/1025</td>
<td align=center>USB</td>
-@@ -4145,7 +4144,7 @@
+@@ -4145,7 +4144,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3265,7 +3241,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-imagerunner.html">ImageRunner iR1018</a></td>
<td align=center>USB</td>
-@@ -4233,7 +4232,7 @@
+@@ -4233,7 +4232,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rzg.mpg.de/~mpd/sane/">canon</a>
<br>(1.12)
</td>
@@ -3274,7 +3250,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>laserBase MF5650</td>
<td align=center>USB</td>
-@@ -4244,7 +4243,7 @@
+@@ -4244,7 +4243,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3283,7 +3259,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA E500</td>
<td align=center>USB</td>
-@@ -4255,7 +4254,7 @@
+@@ -4255,7 +4254,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3292,7 +3268,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA E510</td>
<td align=center>USB</td>
-@@ -4266,7 +4265,7 @@
+@@ -4266,7 +4265,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3301,7 +3277,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA E600</td>
<td align=center>USB</td>
-@@ -4277,7 +4276,7 @@
+@@ -4277,7 +4276,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3310,7 +3286,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA E610</td>
<td align=center>USB</td>
-@@ -4288,7 +4287,7 @@
+@@ -4288,7 +4287,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3319,7 +3295,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG2100 Series</td>
<td align=center>USB</td>
-@@ -4299,7 +4298,7 @@
+@@ -4299,7 +4298,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3328,7 +3304,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG2200 Series</td>
<td align=center>USB</td>
-@@ -4310,7 +4309,7 @@
+@@ -4310,7 +4309,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3337,7 +3313,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG3100 Series</td>
<td align=center>USB WLAN</td>
-@@ -4321,7 +4320,7 @@
+@@ -4321,7 +4320,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3346,7 +3322,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG3200 Series</td>
<td align=center>USB</td>
-@@ -4332,7 +4331,7 @@
+@@ -4332,7 +4331,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3355,7 +3331,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG4100 Series</td>
<td align=center>USB</td>
-@@ -4343,7 +4342,7 @@
+@@ -4343,7 +4342,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3364,7 +3340,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG4200 Series</td>
<td align=center>USB</td>
-@@ -4354,7 +4353,7 @@
+@@ -4354,7 +4353,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3373,7 +3349,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG5100 Series</td>
<td align=center>USB</td>
-@@ -4365,7 +4364,7 @@
+@@ -4365,7 +4364,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3382,7 +3358,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG5200 Series</td>
<td align=center>USB</td>
-@@ -4376,7 +4375,7 @@
+@@ -4376,7 +4375,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3391,7 +3367,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG5300 Series</td>
<td align=center>USB</td>
-@@ -4387,7 +4386,7 @@
+@@ -4387,7 +4386,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3400,7 +3376,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG5400 Series</td>
<td align=center>USB</td>
-@@ -4398,7 +4397,7 @@
+@@ -4398,7 +4397,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3409,7 +3385,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG6100 Series</td>
<td align=center>USB</td>
-@@ -4409,7 +4408,7 @@
+@@ -4409,7 +4408,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3418,7 +3394,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG6200 Series</td>
<td align=center>USB</td>
-@@ -4420,7 +4419,7 @@
+@@ -4420,7 +4419,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3427,7 +3403,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG6300 Series</td>
<td align=center>USB Ethernet</td>
-@@ -4431,7 +4430,7 @@
+@@ -4431,7 +4430,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3436,7 +3412,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG8100 Series</td>
<td align=center>USB</td>
-@@ -4442,7 +4441,7 @@
+@@ -4442,7 +4441,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3445,7 +3421,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MG8200 Series</td>
<td align=center>USB Ethernet</td>
-@@ -4453,7 +4452,7 @@
+@@ -4453,7 +4452,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3454,7 +3430,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/canon-pixma-mp110.html">PIXMA MP110</a></td>
<td align=center>USB</td>
-@@ -4486,7 +4485,7 @@
+@@ -4486,7 +4485,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3463,7 +3439,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP150</td>
<td align=center>USB</td>
-@@ -4497,7 +4496,7 @@
+@@ -4497,7 +4496,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3472,7 +3448,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP160</td>
<td align=center>USB</td>
-@@ -4508,7 +4507,7 @@
+@@ -4508,7 +4507,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3481,7 +3457,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP170</td>
<td align=center>USB</td>
-@@ -4519,7 +4518,7 @@
+@@ -4519,7 +4518,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3490,7 +3466,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP180</td>
<td align=center>USB</td>
-@@ -4530,7 +4529,7 @@
+@@ -4530,7 +4529,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3499,7 +3475,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP190</td>
<td align=center>USB</td>
-@@ -4541,7 +4540,7 @@
+@@ -4541,7 +4540,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3508,7 +3484,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP210</td>
<td align=center>USB</td>
-@@ -4552,7 +4551,7 @@
+@@ -4552,7 +4551,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3517,7 +3493,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP220</td>
<td align=center>USB</td>
-@@ -4563,7 +4562,7 @@
+@@ -4563,7 +4562,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3526,7 +3502,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP230</td>
<td align=center>USB</td>
-@@ -4574,7 +4573,7 @@
+@@ -4574,7 +4573,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3535,7 +3511,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP240</td>
<td align=center>USB</td>
-@@ -4585,7 +4584,7 @@
+@@ -4585,7 +4584,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3544,7 +3520,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP250</td>
<td align=center>USB</td>
-@@ -4596,7 +4595,7 @@
+@@ -4596,7 +4595,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3553,7 +3529,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP260</td>
<td align=center>USB</td>
-@@ -4607,7 +4606,7 @@
+@@ -4607,7 +4606,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3562,7 +3538,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP270</td>
<td align=center>USB</td>
-@@ -4618,7 +4617,7 @@
+@@ -4618,7 +4617,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3571,7 +3547,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP280</td>
<td align=center>USB</td>
-@@ -4629,7 +4628,7 @@
+@@ -4629,7 +4628,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3580,7 +3556,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP360</td>
<td align=center>USB</td>
-@@ -4640,7 +4639,7 @@
+@@ -4640,7 +4639,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3589,7 +3565,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP370</td>
<td align=center>USB</td>
-@@ -4651,7 +4650,7 @@
+@@ -4651,7 +4650,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3598,7 +3574,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP375R</td>
<td align=center>USB</td>
-@@ -4662,7 +4661,7 @@
+@@ -4662,7 +4661,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3607,7 +3583,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP390</td>
<td align=center>USB</td>
-@@ -4673,7 +4672,7 @@
+@@ -4673,7 +4672,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3616,7 +3592,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP450</td>
<td align=center>USB</td>
-@@ -4684,7 +4683,7 @@
+@@ -4684,7 +4683,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3625,7 +3601,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP460</td>
<td align=center>USB</td>
-@@ -4695,7 +4694,7 @@
+@@ -4695,7 +4694,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3634,7 +3610,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP470</td>
<td align=center>USB</td>
-@@ -4706,7 +4705,7 @@
+@@ -4706,7 +4705,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3643,7 +3619,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP480</td>
<td align=center>USB</td>
-@@ -4717,7 +4716,7 @@
+@@ -4717,7 +4716,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3652,7 +3628,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP490</td>
<td align=center>USB</td>
-@@ -4728,7 +4727,7 @@
+@@ -4728,7 +4727,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3661,7 +3637,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP493</td>
<td align=center>USB</td>
-@@ -4739,7 +4738,7 @@
+@@ -4739,7 +4738,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3670,7 +3646,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP495</td>
<td align=center>USB</td>
-@@ -4750,7 +4749,7 @@
+@@ -4750,7 +4749,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3679,7 +3655,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP500</td>
<td align=center>USB</td>
-@@ -4761,7 +4760,7 @@
+@@ -4761,7 +4760,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3688,7 +3664,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP510</td>
<td align=center>USB</td>
-@@ -4772,7 +4771,7 @@
+@@ -4772,7 +4771,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3697,7 +3673,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP520</td>
<td align=center>USB</td>
-@@ -4783,7 +4782,7 @@
+@@ -4783,7 +4782,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3706,7 +3682,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP530</td>
<td align=center>USB</td>
-@@ -4794,7 +4793,7 @@
+@@ -4794,7 +4793,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3715,7 +3691,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP540</td>
<td align=center>USB</td>
-@@ -4805,7 +4804,7 @@
+@@ -4805,7 +4804,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3724,7 +3700,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP550</td>
<td align=center>USB</td>
-@@ -4816,7 +4815,7 @@
+@@ -4816,7 +4815,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3733,7 +3709,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP560</td>
<td align=center>USB</td>
-@@ -4827,7 +4826,7 @@
+@@ -4827,7 +4826,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3742,7 +3718,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP600</td>
<td align=center>USB</td>
-@@ -4838,7 +4837,7 @@
+@@ -4838,7 +4837,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3751,7 +3727,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP600R</td>
<td align=center>USB Ethernet</td>
-@@ -4849,7 +4848,7 @@
+@@ -4849,7 +4848,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3760,7 +3736,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP610</td>
<td align=center>USB</td>
-@@ -4860,7 +4859,7 @@
+@@ -4860,7 +4859,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3769,7 +3745,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP620</td>
<td align=center>USB Ethernet</td>
-@@ -4871,7 +4870,7 @@
+@@ -4871,7 +4870,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3778,7 +3754,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP630</td>
<td align=center>USB</td>
-@@ -4882,7 +4881,7 @@
+@@ -4882,7 +4881,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3787,7 +3763,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP640</td>
<td align=center>USB Ethernet</td>
-@@ -4893,7 +4892,7 @@
+@@ -4893,7 +4892,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3796,7 +3772,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP700</td>
<td align=center>USB</td>
-@@ -4904,7 +4903,7 @@
+@@ -4904,7 +4903,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3805,7 +3781,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP710</td>
<td align=center>USB</td>
-@@ -4915,7 +4914,7 @@
+@@ -4915,7 +4914,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3814,7 +3790,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP730</td>
<td align=center>USB</td>
-@@ -4926,7 +4925,7 @@
+@@ -4926,7 +4925,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3823,7 +3799,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP740</td>
<td align=center>USB</td>
-@@ -4937,7 +4936,7 @@
+@@ -4937,7 +4936,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3832,7 +3808,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP750</td>
<td align=center>USB</td>
-@@ -4948,7 +4947,7 @@
+@@ -4948,7 +4947,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3841,7 +3817,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP760</td>
<td align=center>USB</td>
-@@ -4959,7 +4958,7 @@
+@@ -4959,7 +4958,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3850,7 +3826,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP770</td>
<td align=center>USB</td>
-@@ -4970,7 +4969,7 @@
+@@ -4970,7 +4969,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3859,7 +3835,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP780</td>
<td align=center>USB</td>
-@@ -4981,7 +4980,7 @@
+@@ -4981,7 +4980,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3868,7 +3844,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP790</td>
<td align=center>USB</td>
-@@ -4992,7 +4991,7 @@
+@@ -4992,7 +4991,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3877,7 +3853,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP800</td>
<td align=center>USB</td>
-@@ -5003,7 +5002,7 @@
+@@ -5003,7 +5002,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3886,7 +3862,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP800R</td>
<td align=center>USB</td>
-@@ -5014,7 +5013,7 @@
+@@ -5014,7 +5013,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3895,7 +3871,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP810</td>
<td align=center>USB</td>
-@@ -5025,7 +5024,7 @@
+@@ -5025,7 +5024,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3904,7 +3880,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP830</td>
<td align=center>USB</td>
-@@ -5036,7 +5035,7 @@
+@@ -5036,7 +5035,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3913,7 +3889,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP960</td>
<td align=center>USB</td>
-@@ -5047,7 +5046,7 @@
+@@ -5047,7 +5046,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3922,7 +3898,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP970</td>
<td align=center>USB Ethernet</td>
-@@ -5058,7 +5057,7 @@
+@@ -5058,7 +5057,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3931,7 +3907,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP980</td>
<td align=center>USB Ethernet</td>
-@@ -5069,7 +5068,7 @@
+@@ -5069,7 +5068,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3940,7 +3916,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MP990</td>
<td align=center>USB Ethernet</td>
-@@ -5080,7 +5079,7 @@
+@@ -5080,7 +5079,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3949,7 +3925,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX300</td>
<td align=center>USB</td>
-@@ -5091,7 +5090,7 @@
+@@ -5091,7 +5090,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3958,7 +3934,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX310</td>
<td align=center>USB</td>
-@@ -5102,7 +5101,7 @@
+@@ -5102,7 +5101,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3967,7 +3943,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX320</td>
<td align=center>USB</td>
-@@ -5113,7 +5112,7 @@
+@@ -5113,7 +5112,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3976,7 +3952,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX330</td>
<td align=center>USB</td>
-@@ -5124,7 +5123,7 @@
+@@ -5124,7 +5123,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3985,7 +3961,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX340</td>
<td align=center>USB</td>
-@@ -5135,7 +5134,7 @@
+@@ -5135,7 +5134,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -3994,7 +3970,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX350</td>
<td align=center>USB Ethernet</td>
-@@ -5146,7 +5145,7 @@
+@@ -5146,7 +5145,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4003,7 +3979,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX360</td>
<td align=center>USB</td>
-@@ -5157,7 +5156,7 @@
+@@ -5157,7 +5156,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4012,7 +3988,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX370 Series</td>
<td align=center>USB</td>
-@@ -5168,7 +5167,7 @@
+@@ -5168,7 +5167,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4021,7 +3997,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX390 Series</td>
<td align=center>USB</td>
-@@ -5179,7 +5178,7 @@
+@@ -5179,7 +5178,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4030,7 +4006,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX410</td>
<td align=center>USB Ethernet</td>
-@@ -5190,7 +5189,7 @@
+@@ -5190,7 +5189,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4039,7 +4015,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX420</td>
<td align=center>USB Ethernet</td>
-@@ -5201,7 +5200,7 @@
+@@ -5201,7 +5200,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4048,7 +4024,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX430 Series</td>
<td align=center>USB Ethernet</td>
-@@ -5212,7 +5211,7 @@
+@@ -5212,7 +5211,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4057,7 +4033,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX450 Series</td>
<td align=center>USB</td>
-@@ -5223,7 +5222,7 @@
+@@ -5223,7 +5222,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4066,7 +4042,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX510 Series</td>
<td align=center>USB Ethernet</td>
-@@ -5234,7 +5233,7 @@
+@@ -5234,7 +5233,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4075,7 +4051,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX520 Series</td>
<td align=center>USB</td>
-@@ -5245,7 +5244,7 @@
+@@ -5245,7 +5244,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4084,7 +4060,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX700</td>
<td align=center>USB Ethernet</td>
-@@ -5256,7 +5255,7 @@
+@@ -5256,7 +5255,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4093,7 +4069,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX710 Series</td>
<td align=center>USB Ethernet</td>
-@@ -5267,7 +5266,7 @@
+@@ -5267,7 +5266,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4102,7 +4078,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX720 Series</td>
<td align=center>USB</td>
-@@ -5278,7 +5277,7 @@
+@@ -5278,7 +5277,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4111,7 +4087,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX850</td>
<td align=center>USB Ethernet</td>
-@@ -5289,7 +5288,7 @@
+@@ -5289,7 +5288,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4120,7 +4096,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX860</td>
<td align=center>USB Ethernet</td>
-@@ -5300,7 +5299,7 @@
+@@ -5300,7 +5299,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4129,7 +4105,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX870</td>
<td align=center>USB Ethernet</td>
-@@ -5311,7 +5310,7 @@
+@@ -5311,7 +5310,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4138,7 +4114,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX880 Series</td>
<td align=center>USB Ethernet</td>
-@@ -5322,7 +5321,7 @@
+@@ -5322,7 +5321,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4147,7 +4123,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX882</td>
<td align=center>USB Ethernet</td>
-@@ -5333,7 +5332,7 @@
+@@ -5333,7 +5332,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4156,7 +4132,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX885</td>
<td align=center>USB Ethernet</td>
-@@ -5344,7 +5343,7 @@
+@@ -5344,7 +5343,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4165,7 +4141,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX890 Series</td>
<td align=center>USB Ethernet</td>
-@@ -5355,7 +5354,7 @@
+@@ -5355,7 +5354,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4174,7 +4150,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX920 Series</td>
<td align=center>USB</td>
-@@ -5366,7 +5365,7 @@
+@@ -5366,7 +5365,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4183,7 +4159,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PIXMA MX7600</td>
<td align=center>USB Ethernet</td>
-@@ -5377,7 +5376,7 @@
+@@ -5377,7 +5376,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://home.arcor.de/wittawat/pixma/">pixma</a>
<br>(0.17.3)
</td>
@@ -4192,7 +4168,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-CHINON">Manufacturer: Chinon</a></h3>
-@@ -5429,7 +5428,7 @@
+@@ -5429,7 +5428,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -4201,7 +4177,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>S200</td>
<td align=center>USB</td>
-@@ -5492,7 +5491,7 @@
+@@ -5492,7 +5491,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/cardscan/">cardscan</a>
<br>(2)
</td>
@@ -4210,7 +4186,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>800c</td>
<td align=center>USB</td>
-@@ -5503,7 +5502,7 @@
+@@ -5503,7 +5502,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.thebility.com/cardscan/">cardscan</a>
<br>(2)
</td>
@@ -4219,7 +4195,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/corex-cardscan-500.html">Cardscan 500</a></td>
<td align=center>USB</td>
-@@ -5550,7 +5549,7 @@
+@@ -5550,7 +5549,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -4228,7 +4204,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-DCT">Manufacturer: DCT</a></h3>
-@@ -5578,7 +5577,7 @@
+@@ -5578,7 +5577,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -4237,7 +4213,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-DELL">Manufacturer: Dell</a></h3>
-@@ -5625,7 +5624,7 @@
+@@ -5625,7 +5624,7 @@ dell1600n_net</td>
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -4246,7 +4222,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>A940</td>
<td align=center>USB</td>
-@@ -5657,7 +5656,7 @@
+@@ -5657,7 +5656,7 @@ dell1600n_net</td>
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -4255,7 +4231,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-DEVCOM">Manufacturer: Devcom</a></h3>
-@@ -5684,7 +5683,7 @@
+@@ -5684,7 +5683,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -4264,7 +4240,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9636PRO</td>
<td align=center>SCSI</td>
-@@ -5695,7 +5694,7 @@
+@@ -5695,7 +5694,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -4273,7 +4249,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9636S</td>
<td align=center>SCSI</td>
-@@ -5706,7 +5705,7 @@
+@@ -5706,7 +5705,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -4282,7 +4258,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-DEXTRA">Manufacturer: Dextra</a></h3>
-@@ -5731,7 +5730,7 @@
+@@ -5731,7 +5730,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -4291,7 +4267,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DF-1200T+</td>
<td align=center>SCSI</td>
-@@ -5742,7 +5741,7 @@
+@@ -5742,7 +5741,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -4300,7 +4276,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DF-4830T</td>
<td align=center>SCSI</td>
-@@ -5753,7 +5752,7 @@
+@@ -5753,7 +5752,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -4309,7 +4285,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DF-9624</td>
<td align=center>SCSI</td>
-@@ -5764,7 +5763,7 @@
+@@ -5764,7 +5763,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -4318,7 +4294,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-DEXXA">Manufacturer: Dexxa</a></h3>
-@@ -5791,7 +5790,7 @@
+@@ -5791,7 +5790,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://as6edriver.sourceforge.net/">as6e</a>
<br>(0.5)
</td>
@@ -4327,7 +4303,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-E-LUX">Manufacturer: E-Lux</a></h3>
-@@ -5842,7 +5841,7 @@
+@@ -5842,7 +5841,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -4336,7 +4312,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-EDT--ELECTRONIC-DOCUMENT-TECHNOLOGY-">Manufacturer: EDT (Electronic Document Technology)</a></h3>
-@@ -5932,7 +5931,7 @@
+@@ -5932,7 +5931,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4345,7 +4321,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Actionscanner II</td>
<td align=center>SCSI Parport</td>
-@@ -5943,7 +5942,7 @@
+@@ -5943,7 +5942,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4354,7 +4330,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AcuLaser CX11</td>
<td align=center>USB</td>
-@@ -5953,7 +5952,7 @@
+@@ -5953,7 +5952,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4363,7 +4339,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AcuLaser CX11</td>
<td align=center>USB</td>
-@@ -5964,7 +5963,7 @@
+@@ -5964,7 +5963,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4372,7 +4348,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AcuLaser CX11NF</td>
<td align=center>USB Network</td>
-@@ -5974,7 +5973,7 @@
+@@ -5974,7 +5973,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4381,7 +4357,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AcuLaser CX11NF</td>
<td align=center>USB</td>
-@@ -5985,7 +5984,7 @@
+@@ -5985,7 +5984,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4390,7 +4366,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AcuLaser CX21</td>
<td align=center>USB</td>
-@@ -5995,7 +5994,7 @@
+@@ -5995,7 +5994,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4399,7 +4375,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Artisan 700</td>
<td align=center>USB Network</td>
-@@ -6005,7 +6004,7 @@
+@@ -6005,7 +6004,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4408,7 +4384,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Artisan 710 Series</td>
<td align=center>USB</td>
-@@ -6015,7 +6014,7 @@
+@@ -6015,7 +6014,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4417,7 +4393,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Artisan 800</td>
<td align=center>USB</td>
-@@ -6025,7 +6024,7 @@
+@@ -6025,7 +6024,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4426,7 +4402,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Artisan 810 Series</td>
<td align=center>USB</td>
-@@ -6035,7 +6034,7 @@
+@@ -6035,7 +6034,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4435,7 +4411,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CC-500L</td>
<td align=center>USB</td>
-@@ -6045,7 +6044,7 @@
+@@ -6045,7 +6044,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4444,7 +4420,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CC-550L</td>
<td align=center>USB</td>
-@@ -6055,7 +6054,7 @@
+@@ -6055,7 +6054,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4453,7 +4429,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CC-570L</td>
<td align=center>USB</td>
-@@ -6065,7 +6064,7 @@
+@@ -6065,7 +6064,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4462,7 +4438,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CC-600PX</td>
<td align=center>USB</td>
-@@ -6075,7 +6074,7 @@
+@@ -6075,7 +6074,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4471,7 +4447,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CC-700</td>
<td align=center>USB</td>
-@@ -6085,7 +6084,7 @@
+@@ -6085,7 +6084,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4480,7 +4456,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-3200</td>
<td align=center>USB</td>
-@@ -6096,7 +6095,7 @@
+@@ -6096,7 +6095,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4489,7 +4465,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-3600</td>
<td align=center>USB</td>
-@@ -6107,7 +6106,7 @@
+@@ -6107,7 +6106,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4498,7 +4474,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-3650</td>
<td align=center>USB</td>
-@@ -6118,7 +6117,7 @@
+@@ -6118,7 +6117,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4507,7 +4483,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-3700</td>
<td align=center>USB</td>
-@@ -6129,7 +6128,7 @@
+@@ -6129,7 +6128,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4516,7 +4492,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-3800</td>
<td align=center>USB</td>
-@@ -6140,7 +6139,7 @@
+@@ -6140,7 +6139,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4525,7 +4501,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-4200</td>
<td align=center>USB</td>
-@@ -6151,7 +6150,7 @@
+@@ -6151,7 +6150,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4534,7 +4510,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-4600</td>
<td align=center>USB</td>
-@@ -6162,7 +6161,7 @@
+@@ -6162,7 +6161,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4543,7 +4519,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-4800</td>
<td align=center>USB</td>
-@@ -6173,7 +6172,7 @@
+@@ -6173,7 +6172,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4552,7 +4528,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-5000</td>
<td align=center>USB</td>
-@@ -6184,7 +6183,7 @@
+@@ -6184,7 +6183,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4561,7 +4537,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-5200</td>
<td align=center>USB</td>
-@@ -6195,7 +6194,7 @@
+@@ -6195,7 +6194,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4570,7 +4546,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-5400</td>
<td align=center>USB</td>
-@@ -6206,7 +6205,7 @@
+@@ -6206,7 +6205,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4579,7 +4555,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-5400</td>
<td align=center>USB</td>
-@@ -6217,7 +6216,7 @@
+@@ -6217,7 +6216,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4588,7 +4564,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-6300</td>
<td align=center>USB</td>
-@@ -6228,7 +6227,7 @@
+@@ -6228,7 +6227,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4597,7 +4573,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-6400</td>
<td align=center>USB</td>
-@@ -6239,7 +6238,7 @@
+@@ -6239,7 +6238,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4606,7 +4582,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-6500</td>
<td align=center>USB</td>
-@@ -6250,7 +6249,7 @@
+@@ -6250,7 +6249,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4615,7 +4591,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CX-6600</td>
<td align=center>USB</td>
-@@ -6261,7 +6260,7 @@
+@@ -6261,7 +6260,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4624,7 +4600,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-3800</td>
<td align=center>USB</td>
-@@ -6272,7 +6271,7 @@
+@@ -6272,7 +6271,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4633,7 +4609,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-3850</td>
<td align=center>USB</td>
-@@ -6283,7 +6282,7 @@
+@@ -6283,7 +6282,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4642,7 +4618,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-4050</td>
<td align=center>USB</td>
-@@ -6294,7 +6293,7 @@
+@@ -6294,7 +6293,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4651,7 +4627,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-5000</td>
<td align=center>USB</td>
-@@ -6305,7 +6304,7 @@
+@@ -6305,7 +6304,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4660,7 +4636,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-5050</td>
<td align=center>USB</td>
-@@ -6316,7 +6315,7 @@
+@@ -6316,7 +6315,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4669,7 +4645,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-6000</td>
<td align=center>USB</td>
-@@ -6327,7 +6326,7 @@
+@@ -6327,7 +6326,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4678,7 +4654,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DX-7400</td>
<td align=center>USB</td>
-@@ -6338,7 +6337,7 @@
+@@ -6338,7 +6337,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4687,7 +4663,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>EP-702A</td>
<td align=center>USB</td>
-@@ -6348,7 +6347,7 @@
+@@ -6348,7 +6347,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4696,7 +4672,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>EP-801A</td>
<td align=center>USB Network</td>
-@@ -6358,7 +6357,7 @@
+@@ -6358,7 +6357,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4705,7 +4681,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>EP-802A</td>
<td align=center>USB</td>
-@@ -6368,7 +6367,7 @@
+@@ -6368,7 +6367,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4714,7 +4690,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>EP-901A</td>
<td align=center>USB</td>
-@@ -6378,7 +6377,7 @@
+@@ -6378,7 +6377,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4723,7 +4699,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>EP-901F</td>
<td align=center>USB</td>
-@@ -6388,7 +6387,7 @@
+@@ -6388,7 +6387,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4732,7 +4708,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>EP-902A</td>
<td align=center>USB</td>
-@@ -6398,7 +6397,7 @@
+@@ -6398,7 +6397,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4741,7 +4717,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-300C</td>
<td align=center>SCSI parallel</td>
-@@ -6408,7 +6407,7 @@
+@@ -6408,7 +6407,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4750,7 +4726,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-300C</td>
<td align=center>SCSI Parport</td>
-@@ -6419,7 +6418,7 @@
+@@ -6419,7 +6418,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4759,7 +4735,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-300GS</td>
<td align=center>SCSI</td>
-@@ -6429,7 +6428,7 @@
+@@ -6429,7 +6428,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4768,7 +4744,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-300GS</td>
<td align=center>SCSI</td>
-@@ -6440,7 +6439,7 @@
+@@ -6440,7 +6439,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4777,7 +4753,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-600C</td>
<td align=center>parallel</td>
-@@ -6450,7 +6449,7 @@
+@@ -6450,7 +6449,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4786,7 +4762,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-600C</td>
<td align=center>Parport</td>
-@@ -6461,7 +6460,7 @@
+@@ -6461,7 +6460,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4795,7 +4771,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-800C</td>
<td align=center>SCSI</td>
-@@ -6471,7 +6470,7 @@
+@@ -6471,7 +6470,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4804,7 +4780,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-1000C</td>
<td align=center>?</td>
-@@ -6481,7 +6480,7 @@
+@@ -6481,7 +6480,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4813,7 +4789,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-1200C</td>
<td align=center>parallel</td>
-@@ -6491,7 +6490,7 @@
+@@ -6491,7 +6490,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4822,7 +4798,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-1200C</td>
<td align=center>Parport</td>
-@@ -6502,7 +6501,7 @@
+@@ -6502,7 +6501,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4831,7 +4807,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-2000</td>
<td align=center>SCSI USB</td>
-@@ -6512,7 +6511,7 @@
+@@ -6512,7 +6511,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4840,7 +4816,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-2200</td>
<td align=center>SCSI USB</td>
-@@ -6522,7 +6521,7 @@
+@@ -6522,7 +6521,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4849,7 +4825,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-6000</td>
<td align=center>SCSI</td>
-@@ -6532,7 +6531,7 @@
+@@ -6532,7 +6531,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4858,7 +4834,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-6000H</td>
<td align=center>SCSI</td>
-@@ -6542,7 +6541,7 @@
+@@ -6542,7 +6541,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4867,7 +4843,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-6000HS</td>
<td align=center>SCSI</td>
-@@ -6552,7 +6551,7 @@
+@@ -6552,7 +6551,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4876,7 +4852,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-7000H</td>
<td align=center>SCSI USB</td>
-@@ -6562,7 +6561,7 @@
+@@ -6562,7 +6561,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4885,7 +4861,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-8000</td>
<td align=center>SCSI</td>
-@@ -6572,7 +6571,7 @@
+@@ -6572,7 +6571,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4894,7 +4870,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-8500</td>
<td align=center>SCSI USB</td>
-@@ -6582,7 +6581,7 @@
+@@ -6582,7 +6581,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4903,7 +4879,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-8500</td>
<td align=center>SCSI</td>
-@@ -6593,7 +6592,7 @@
+@@ -6593,7 +6592,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4912,7 +4888,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-9000H</td>
<td align=center>SCSI</td>
-@@ -6603,7 +6602,7 @@
+@@ -6603,7 +6602,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4921,7 +4897,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-10000G</td>
<td align=center>USB</td>
-@@ -6613,7 +6612,7 @@
+@@ -6613,7 +6612,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4930,7 +4906,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">ES-D400</a></td>
<td align=center>USB</td>
-@@ -6623,7 +6622,7 @@
+@@ -6623,7 +6622,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4939,7 +4915,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-H300</td>
<td align=center>USB</td>
-@@ -6633,7 +6632,7 @@
+@@ -6633,7 +6632,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4948,7 +4924,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ES-H7200</td>
<td align=center>USB Ethernet</td>
-@@ -6643,7 +6642,7 @@
+@@ -6643,7 +6642,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4957,7 +4933,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 636</td>
<td align=center>SCSI</td>
-@@ -6653,7 +6652,7 @@
+@@ -6653,7 +6652,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4966,7 +4942,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 636</td>
<td align=center>SCSI</td>
-@@ -6664,7 +6663,7 @@
+@@ -6664,7 +6663,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4975,7 +4951,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 800</td>
<td align=center>SCSI</td>
-@@ -6674,7 +6673,7 @@
+@@ -6674,7 +6673,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -4984,7 +4960,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 800</td>
<td align=center>SCSI</td>
-@@ -6685,7 +6684,7 @@
+@@ -6685,7 +6684,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -4993,7 +4969,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 836XL</td>
<td align=center>SCSI</td>
-@@ -6695,7 +6694,7 @@
+@@ -6695,7 +6694,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5002,7 +4978,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1600</td>
<td align=center>SCSI USB</td>
-@@ -6705,7 +6704,7 @@
+@@ -6705,7 +6704,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5011,7 +4987,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1600</td>
<td align=center>SCSI USB IEEE-1394</td>
-@@ -6716,7 +6715,7 @@
+@@ -6716,7 +6715,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5020,7 +4996,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1640XL</td>
<td align=center>SCSI USB</td>
-@@ -6726,7 +6725,7 @@
+@@ -6726,7 +6725,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5029,7 +5005,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1680</td>
<td align=center>SCSI USB</td>
-@@ -6736,7 +6735,7 @@
+@@ -6736,7 +6735,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5038,7 +5014,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1680</td>
<td align=center>SCSI USB IEEE-1394</td>
-@@ -6747,7 +6746,7 @@
+@@ -6747,7 +6746,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5047,7 +5023,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1680 Pro</td>
<td align=center>SCSI USB</td>
-@@ -6757,7 +6756,7 @@
+@@ -6757,7 +6756,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5056,7 +5032,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 1680XL Pro</td>
<td align=center>SCSI USB</td>
-@@ -6767,7 +6766,7 @@
+@@ -6767,7 +6766,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5065,7 +5041,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 10000XL</td>
<td align=center>USB</td>
-@@ -6777,7 +6776,7 @@
+@@ -6777,7 +6776,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5074,7 +5050,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 10000XL Graphic Arts</td>
<td align=center>USB IEEE1394</td>
-@@ -6787,7 +6786,7 @@
+@@ -6787,7 +6786,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5083,7 +5059,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Expression 10000XL Photo</td>
<td align=center>USB IEEE1394</td>
-@@ -6797,7 +6796,7 @@
+@@ -6797,7 +6796,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5092,7 +5068,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>F-3200</td>
<td align=center>USB IEEE1394</td>
-@@ -6807,7 +6806,7 @@
+@@ -6807,7 +6806,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5101,7 +5077,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>F-3200 Photo</td>
<td align=center>USB IEEE1394</td>
-@@ -6817,7 +6816,7 @@
+@@ -6817,7 +6816,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5110,7 +5086,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>FilmScan 200</td>
<td align=center>SCSI</td>
-@@ -6827,7 +6826,7 @@
+@@ -6827,7 +6826,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5119,7 +5095,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-1500</a></td>
<td align=center>USB</td>
-@@ -6837,7 +6836,7 @@
+@@ -6837,7 +6836,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5128,7 +5104,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-2200</td>
<td align=center>USB</td>
-@@ -6858,7 +6857,7 @@
+@@ -6858,7 +6857,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5137,7 +5113,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-2500</td>
<td align=center>USB</td>
-@@ -6868,7 +6867,7 @@
+@@ -6868,7 +6867,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5146,7 +5122,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-4000</td>
<td align=center>?</td>
-@@ -6878,7 +6877,7 @@
+@@ -6878,7 +6877,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5155,7 +5131,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-5000</td>
<td align=center>parallel SCSI</td>
-@@ -6888,7 +6887,7 @@
+@@ -6888,7 +6887,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5164,7 +5140,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-5000</td>
<td align=center>SCSI Parport</td>
-@@ -6899,7 +6898,7 @@
+@@ -6899,7 +6898,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5173,7 +5149,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-5400</td>
<td align=center>parallel</td>
-@@ -6909,7 +6908,7 @@
+@@ -6909,7 +6908,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5182,7 +5158,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-5500</td>
<td align=center>SCSI</td>
-@@ -6919,7 +6918,7 @@
+@@ -6919,7 +6918,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5191,7 +5167,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-5500</td>
<td align=center>SCSI</td>
-@@ -6930,7 +6929,7 @@
+@@ -6930,7 +6929,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5200,7 +5176,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-6000</td>
<td align=center>SCSI Parport</td>
-@@ -6940,7 +6939,7 @@
+@@ -6940,7 +6939,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5209,7 +5185,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-6000</td>
<td align=center>SCSI Parport</td>
-@@ -6951,7 +6950,7 @@
+@@ -6951,7 +6950,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5218,7 +5194,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-6500</td>
<td align=center>parallel</td>
-@@ -6961,7 +6960,7 @@
+@@ -6961,7 +6960,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5227,7 +5203,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-6500</td>
<td align=center>Parport</td>
-@@ -6972,7 +6971,7 @@
+@@ -6972,7 +6971,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5236,7 +5212,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-6600U</td>
<td align=center>USB</td>
-@@ -6982,7 +6981,7 @@
+@@ -6982,7 +6981,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5245,7 +5221,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-6700U</td>
<td align=center>USB</td>
-@@ -6992,7 +6991,7 @@
+@@ -6992,7 +6991,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5254,7 +5230,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7000</td>
<td align=center>SCSI</td>
-@@ -7003,7 +7002,7 @@
+@@ -7003,7 +7002,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5263,7 +5239,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7000S</td>
<td align=center>SCSI</td>
-@@ -7013,7 +7012,7 @@
+@@ -7013,7 +7012,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5272,7 +5248,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7000U</td>
<td align=center>USB</td>
-@@ -7023,7 +7022,7 @@
+@@ -7023,7 +7022,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5281,7 +5257,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-7200U</a></td>
<td align=center>USB</td>
-@@ -7033,7 +7032,7 @@
+@@ -7033,7 +7032,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5290,7 +5266,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-7300U</a></td>
<td align=center>USB</td>
-@@ -7043,7 +7042,7 @@
+@@ -7043,7 +7042,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5299,7 +5275,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7400U</td>
<td align=center>USB</td>
-@@ -7053,7 +7052,7 @@
+@@ -7053,7 +7052,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5308,7 +5284,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7600S</td>
<td align=center>SCSI</td>
-@@ -7063,7 +7062,7 @@
+@@ -7063,7 +7062,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5317,7 +5293,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7600U</td>
<td align=center>USB</td>
-@@ -7073,7 +7072,7 @@
+@@ -7073,7 +7072,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5326,7 +5302,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7600UF</td>
<td align=center>USB</td>
-@@ -7083,7 +7082,7 @@
+@@ -7083,7 +7082,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5335,7 +5311,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-7700U</td>
<td align=center>USB</td>
-@@ -7093,7 +7092,7 @@
+@@ -7093,7 +7092,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5344,7 +5320,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8000</td>
<td align=center>SCSI</td>
-@@ -7103,7 +7102,7 @@
+@@ -7103,7 +7102,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5353,7 +5329,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8000</td>
<td align=center>SCSI</td>
-@@ -7114,7 +7113,7 @@
+@@ -7114,7 +7113,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5362,7 +5338,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8200U</td>
<td align=center>USB</td>
-@@ -7124,7 +7123,7 @@
+@@ -7124,7 +7123,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5371,7 +5347,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8200UF</td>
<td align=center>USB</td>
-@@ -7134,7 +7133,7 @@
+@@ -7134,7 +7133,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5380,7 +5356,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8300UF</td>
<td align=center>USB</td>
-@@ -7144,7 +7143,7 @@
+@@ -7144,7 +7143,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5389,7 +5365,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8400UF</td>
<td align=center>USB</td>
-@@ -7154,7 +7153,7 @@
+@@ -7154,7 +7153,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5398,7 +5374,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8500</td>
<td align=center>?</td>
-@@ -7164,7 +7163,7 @@
+@@ -7164,7 +7163,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5407,7 +5383,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8700</td>
<td align=center>SCSI USB</td>
-@@ -7174,7 +7173,7 @@
+@@ -7174,7 +7173,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5416,7 +5392,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-8700F</td>
<td align=center>SCSI USB</td>
-@@ -7184,7 +7183,7 @@
+@@ -7184,7 +7183,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5425,7 +5401,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-9000</td>
<td align=center>parallel</td>
-@@ -7194,7 +7193,7 @@
+@@ -7194,7 +7193,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5434,7 +5410,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-9300UF</td>
<td align=center>USB</td>
-@@ -7204,7 +7203,7 @@
+@@ -7204,7 +7203,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5443,7 +5419,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-9400UF</a></td>
<td align=center>USB</td>
-@@ -7214,7 +7213,7 @@
+@@ -7214,7 +7213,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5452,7 +5428,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-9500</td>
<td align=center>SCSI</td>
-@@ -7224,7 +7223,7 @@
+@@ -7224,7 +7223,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5461,7 +5437,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-9600</td>
<td align=center>SCSI</td>
-@@ -7234,7 +7233,7 @@
+@@ -7234,7 +7233,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5470,7 +5446,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-9700F</td>
<td align=center>USB</td>
-@@ -7244,7 +7243,7 @@
+@@ -7244,7 +7243,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5479,7 +5455,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-9800F</td>
<td align=center>USB</td>
-@@ -7254,7 +7253,7 @@
+@@ -7254,7 +7253,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5488,7 +5464,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-10000</td>
<td align=center>SCSI</td>
-@@ -7264,7 +7263,7 @@
+@@ -7264,7 +7263,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5497,7 +5473,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-10000+</td>
<td align=center>SCSI</td>
-@@ -7274,7 +7273,7 @@
+@@ -7274,7 +7273,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5506,7 +5482,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-12000</td>
<td align=center>SCSI</td>
-@@ -7284,7 +7283,7 @@
+@@ -7284,7 +7283,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5515,7 +5491,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-15000</td>
<td align=center>SCSI USB</td>
-@@ -7294,7 +7293,7 @@
+@@ -7294,7 +7293,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5524,7 +5500,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-20000</td>
<td align=center>USB Ethernet</td>
-@@ -7304,7 +7303,7 @@
+@@ -7304,7 +7303,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5533,7 +5509,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-30000</td>
<td align=center>SCSI</td>
-@@ -7314,7 +7313,7 @@
+@@ -7314,7 +7313,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5542,7 +5518,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-D1000</a></td>
<td align=center>USB</td>
-@@ -7324,7 +7323,7 @@
+@@ -7324,7 +7323,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5551,7 +5527,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F500</a></td>
<td align=center>USB</td>
-@@ -7334,7 +7333,7 @@
+@@ -7334,7 +7333,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5560,7 +5536,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F520</a></td>
<td align=center>USB</td>
-@@ -7344,7 +7343,7 @@
+@@ -7344,7 +7343,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5569,7 +5545,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F550</a></td>
<td align=center>USB</td>
-@@ -7354,7 +7353,7 @@
+@@ -7354,7 +7353,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5578,7 +5554,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F570</a></td>
<td align=center>USB</td>
-@@ -7364,7 +7363,7 @@
+@@ -7364,7 +7363,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5587,7 +5563,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F600</a></td>
<td align=center>USB</td>
-@@ -7374,7 +7373,7 @@
+@@ -7374,7 +7373,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5596,7 +5572,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F650</a></td>
<td align=center>USB</td>
-@@ -7384,7 +7383,7 @@
+@@ -7384,7 +7383,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5605,7 +5581,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F670</a></td>
<td align=center>USB</td>
-@@ -7394,7 +7393,7 @@
+@@ -7394,7 +7393,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5614,7 +5590,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F700</a></td>
<td align=center>USB</td>
-@@ -7404,7 +7403,7 @@
+@@ -7404,7 +7403,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5623,7 +5599,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-F720</a></td>
<td align=center>USB</td>
-@@ -7414,7 +7413,7 @@
+@@ -7414,7 +7413,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5632,7 +5608,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">GT-S50</a></td>
<td align=center>USB</td>
-@@ -7424,7 +7423,7 @@
+@@ -7424,7 +7423,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5641,7 +5617,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">GT-S80</a></td>
<td align=center>USB</td>
-@@ -7434,7 +7433,7 @@
+@@ -7434,7 +7433,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5650,7 +5626,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-S600</a></td>
<td align=center>USB</td>
-@@ -7444,7 +7443,7 @@
+@@ -7444,7 +7443,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5659,7 +5635,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-S620</a></td>
<td align=center>USB</td>
-@@ -7454,7 +7453,7 @@
+@@ -7454,7 +7453,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5668,7 +5644,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-X700</td>
<td align=center>USB</td>
-@@ -7464,7 +7463,7 @@
+@@ -7464,7 +7463,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5677,7 +5653,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-X750</a></td>
<td align=center>USB</td>
-@@ -7474,7 +7473,7 @@
+@@ -7474,7 +7473,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5686,7 +5662,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-X770</a></td>
<td align=center>USB</td>
-@@ -7484,7 +7483,7 @@
+@@ -7484,7 +7483,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5695,7 +5671,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-X800</td>
<td align=center>USB</td>
-@@ -7494,7 +7493,7 @@
+@@ -7494,7 +7493,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5704,7 +5680,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux/scan/DL1.do">GT-X820</a></td>
<td align=center>USB</td>
-@@ -7504,7 +7503,7 @@
+@@ -7504,7 +7503,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5713,7 +5689,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-X900</td>
<td align=center>USB</td>
-@@ -7514,7 +7513,7 @@
+@@ -7514,7 +7513,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5722,7 +5698,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>GT-X970</td>
<td align=center>USB</td>
-@@ -7524,7 +7523,7 @@
+@@ -7524,7 +7523,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5731,7 +5707,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-7900CS</td>
<td align=center>?</td>
-@@ -7534,7 +7533,7 @@
+@@ -7534,7 +7533,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5740,7 +5716,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9000CCH</td>
<td align=center>?</td>
-@@ -7544,7 +7543,7 @@
+@@ -7544,7 +7543,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5749,7 +5725,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9000CCS</td>
<td align=center>?</td>
-@@ -7554,7 +7553,7 @@
+@@ -7554,7 +7553,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5758,7 +5734,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9000CFH</td>
<td align=center>?</td>
-@@ -7564,7 +7563,7 @@
+@@ -7564,7 +7563,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5767,7 +5743,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9500CCS</td>
<td align=center>?</td>
-@@ -7574,7 +7573,7 @@
+@@ -7574,7 +7573,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5776,7 +5752,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9500CFH</td>
<td align=center>?</td>
-@@ -7584,7 +7583,7 @@
+@@ -7584,7 +7583,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5785,7 +5761,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9500CH2</td>
<td align=center>?</td>
-@@ -7594,7 +7593,7 @@
+@@ -7594,7 +7593,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5794,7 +5770,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9800CCH</td>
<td align=center>?</td>
-@@ -7604,7 +7603,7 @@
+@@ -7604,7 +7603,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5803,7 +5779,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9800CCS</td>
<td align=center>?</td>
-@@ -7614,7 +7613,7 @@
+@@ -7614,7 +7613,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5812,7 +5788,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-9800CFH</td>
<td align=center>?</td>
-@@ -7624,7 +7623,7 @@
+@@ -7624,7 +7623,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5821,7 +5797,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-A500</td>
<td align=center>USB Network</td>
-@@ -7634,7 +7633,7 @@
+@@ -7634,7 +7633,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5830,7 +5806,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-M5000</td>
<td align=center>USB</td>
-@@ -7644,7 +7643,7 @@
+@@ -7644,7 +7643,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5839,7 +5815,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-M5500</td>
<td align=center>USB</td>
-@@ -7654,7 +7653,7 @@
+@@ -7654,7 +7653,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5848,7 +5824,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-M5500F</td>
<td align=center>USB</td>
-@@ -7664,7 +7663,7 @@
+@@ -7664,7 +7663,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5857,7 +5833,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-M5600</td>
<td align=center>USB</td>
-@@ -7674,7 +7673,7 @@
+@@ -7674,7 +7673,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5866,7 +5842,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LP-M6000</td>
<td align=center>USB</td>
-@@ -7684,7 +7683,7 @@
+@@ -7684,7 +7683,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5875,7 +5851,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ME 200</td>
<td align=center>USB</td>
-@@ -7694,7 +7693,7 @@
+@@ -7694,7 +7693,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5884,7 +5860,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ME 300</td>
<td align=center>USB</td>
-@@ -7704,7 +7703,7 @@
+@@ -7704,7 +7703,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5893,7 +5869,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ME OFFICE 510</td>
<td align=center>USB</td>
-@@ -7714,7 +7713,7 @@
+@@ -7714,7 +7713,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5902,7 +5878,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ME Office 600F</td>
<td align=center>USB</td>
-@@ -7724,7 +7723,7 @@
+@@ -7724,7 +7723,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5911,7 +5887,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ME OFFICE 650FN Series</td>
<td align=center>USB</td>
-@@ -7734,7 +7733,7 @@
+@@ -7734,7 +7733,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5920,7 +5896,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ME Office 700FW</td>
<td align=center>USB</td>
-@@ -7744,7 +7743,7 @@
+@@ -7744,7 +7743,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5929,7 +5905,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 600</td>
<td align=center>SCSI</td>
-@@ -7755,7 +7754,7 @@
+@@ -7755,7 +7754,7 @@ epson2<br>(1.0.124)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -5938,7 +5914,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 610</td>
<td align=center>USB</td>
-@@ -7765,7 +7764,7 @@
+@@ -7765,7 +7764,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5947,7 +5923,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 610</td>
<td align=center>USB</td>
-@@ -7776,7 +7775,7 @@
+@@ -7776,7 +7775,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5956,7 +5932,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 636</td>
<td align=center>SCSI</td>
-@@ -7787,7 +7786,7 @@
+@@ -7787,7 +7786,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5965,7 +5941,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 636S</td>
<td align=center>SCSI</td>
-@@ -7797,7 +7796,7 @@
+@@ -7797,7 +7796,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5974,7 +5950,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 636S</td>
<td align=center>SCSI</td>
-@@ -7808,7 +7807,7 @@
+@@ -7808,7 +7807,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -5983,7 +5959,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 636U</td>
<td align=center>USB</td>
-@@ -7818,7 +7817,7 @@
+@@ -7818,7 +7817,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -5992,7 +5968,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 636U</td>
<td align=center>USB</td>
-@@ -7829,7 +7828,7 @@
+@@ -7829,7 +7828,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6001,7 +5977,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 640</td>
<td align=center>USB</td>
-@@ -7840,7 +7839,7 @@
+@@ -7840,7 +7839,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6010,7 +5986,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 640U</td>
<td align=center>USB</td>
-@@ -7850,7 +7849,7 @@
+@@ -7850,7 +7849,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6019,7 +5995,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 660</td>
<td align=center>USB</td>
-@@ -7861,7 +7860,7 @@
+@@ -7861,7 +7860,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6028,7 +6004,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1200Photo</td>
<td align=center>USB</td>
-@@ -7872,7 +7871,7 @@
+@@ -7872,7 +7871,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6037,7 +6013,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1200S</td>
<td align=center>SCSI</td>
-@@ -7882,7 +7881,7 @@
+@@ -7882,7 +7881,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6046,7 +6022,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1200S</td>
<td align=center>SCSI</td>
-@@ -7893,7 +7892,7 @@
+@@ -7893,7 +7892,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6055,7 +6031,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1200U</td>
<td align=center>USB</td>
-@@ -7903,7 +7902,7 @@
+@@ -7903,7 +7902,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6064,7 +6040,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1200U</td>
<td align=center>USB</td>
-@@ -7914,7 +7913,7 @@
+@@ -7914,7 +7913,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6073,7 +6049,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1200U PHOTO</td>
<td align=center>USB</td>
-@@ -7924,7 +7923,7 @@
+@@ -7924,7 +7923,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6082,7 +6058,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1240</td>
<td align=center>SCSI USB</td>
-@@ -7935,7 +7934,7 @@
+@@ -7935,7 +7934,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6091,7 +6067,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1240U</td>
<td align=center>USB</td>
-@@ -7945,7 +7944,7 @@
+@@ -7945,7 +7944,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6100,7 +6076,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1250</td>
<td align=center>USB</td>
-@@ -7956,7 +7955,7 @@
+@@ -7956,7 +7955,7 @@ epson2<br>(1.0.124)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -6109,7 +6085,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 1250 PHOTO</a></td>
<td align=center>USB</td>
-@@ -7966,7 +7965,7 @@
+@@ -7966,7 +7965,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6118,7 +6094,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1250Photo</td>
<td align=center>USB</td>
-@@ -7977,7 +7976,7 @@
+@@ -7977,7 +7976,7 @@ epson2<br>(1.0.124)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -6127,7 +6103,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1260</td>
<td align=center>USB</td>
-@@ -7988,7 +7987,7 @@
+@@ -7988,7 +7987,7 @@ epson2<br>(1.0.124)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -6136,7 +6112,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 1260 PHOTO</a></td>
<td align=center>USB</td>
-@@ -7998,7 +7997,7 @@
+@@ -7998,7 +7997,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6145,7 +6121,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1260Photo</td>
<td align=center>USB</td>
-@@ -8009,7 +8008,7 @@
+@@ -8009,7 +8008,7 @@ epson2<br>(1.0.124)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -6154,7 +6130,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1270</td>
<td align=center>USB</td>
-@@ -8020,7 +8019,7 @@
+@@ -8020,7 +8019,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6163,7 +6139,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1600</td>
<td align=center>SCSI</td>
-@@ -8030,7 +8029,7 @@
+@@ -8030,7 +8029,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6172,7 +6148,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1640</td>
<td align=center>SCSI USB</td>
-@@ -8041,7 +8040,7 @@
+@@ -8041,7 +8040,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6181,7 +6157,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1640SU</td>
<td align=center>SCSI USB</td>
-@@ -8051,7 +8050,7 @@
+@@ -8051,7 +8050,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6190,7 +6166,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1640SU PHOTO</td>
<td align=center>SCSI USB</td>
-@@ -8061,7 +8060,7 @@
+@@ -8061,7 +8060,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6199,7 +6175,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1650</td>
<td align=center>USB</td>
-@@ -8071,7 +8070,7 @@
+@@ -8071,7 +8070,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6208,7 +6184,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1650</td>
<td align=center>USB</td>
-@@ -8082,7 +8081,7 @@
+@@ -8082,7 +8081,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6217,7 +6193,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1650 PHOTO</td>
<td align=center>USB</td>
-@@ -8092,7 +8091,7 @@
+@@ -8092,7 +8091,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6226,7 +6202,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1660</td>
<td align=center>USB</td>
-@@ -8103,7 +8102,7 @@
+@@ -8103,7 +8102,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6235,7 +6211,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1660 PHOTO</td>
<td align=center>USB</td>
-@@ -8113,7 +8112,7 @@
+@@ -8113,7 +8112,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6244,7 +6220,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1670</td>
<td align=center>USB</td>
-@@ -8124,7 +8123,7 @@
+@@ -8124,7 +8123,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6253,7 +6229,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 1670 PHOTO</td>
<td align=center>USB</td>
-@@ -8134,7 +8133,7 @@
+@@ -8134,7 +8133,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6262,7 +6238,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 2400</td>
<td align=center>USB</td>
-@@ -8145,7 +8144,7 @@
+@@ -8145,7 +8144,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6271,7 +6247,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 2400 PHOTO</td>
<td align=center>USB</td>
-@@ -8155,7 +8154,7 @@
+@@ -8155,7 +8154,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6280,7 +6256,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 2450</td>
<td align=center>USB IEEE-1394</td>
-@@ -8166,7 +8165,7 @@
+@@ -8166,7 +8165,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6289,7 +6265,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 2450 PHOTO</td>
<td align=center>USB IEEE-1394</td>
-@@ -8176,7 +8175,7 @@
+@@ -8176,7 +8175,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6298,7 +6274,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 2480</td>
<td align=center>USB</td>
-@@ -8187,7 +8186,7 @@
+@@ -8187,7 +8186,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6307,7 +6283,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 2480 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8197,7 +8196,7 @@
+@@ -8197,7 +8196,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6316,7 +6292,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 2580</td>
<td align=center>USB</td>
-@@ -8208,7 +8207,7 @@
+@@ -8208,7 +8207,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6325,7 +6301,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 2580 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8218,7 +8217,7 @@
+@@ -8218,7 +8217,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6334,7 +6310,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 3170 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8228,7 +8227,7 @@
+@@ -8228,7 +8227,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6343,7 +6319,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 3200</td>
<td align=center>USB IEEE-1394</td>
-@@ -8239,7 +8238,7 @@
+@@ -8239,7 +8238,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6352,7 +6328,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 3200 PHOTO</td>
<td align=center>USB IEEE-1394</td>
-@@ -8249,7 +8248,7 @@
+@@ -8249,7 +8248,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6361,7 +6337,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 3490</td>
<td align=center>USB</td>
-@@ -8260,7 +8259,7 @@
+@@ -8260,7 +8259,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6370,7 +6346,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 3490 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8270,7 +8269,7 @@
+@@ -8270,7 +8269,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6379,7 +6355,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 3590</td>
<td align=center>USB</td>
-@@ -8281,7 +8280,7 @@
+@@ -8281,7 +8280,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6388,7 +6364,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 3590 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8291,7 +8290,7 @@
+@@ -8291,7 +8290,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6397,7 +6373,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 4180 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8301,7 +8300,7 @@
+@@ -8301,7 +8300,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6406,7 +6382,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection 4490 PHOTO</a></td>
<td align=center>USB</td>
-@@ -8311,7 +8310,7 @@
+@@ -8311,7 +8310,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6415,7 +6391,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 4870</td>
<td align=center>USB</td>
-@@ -8322,7 +8321,7 @@
+@@ -8322,7 +8321,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6424,7 +6400,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 4870 PHOTO</td>
<td align=center>USB</td>
-@@ -8332,7 +8331,7 @@
+@@ -8332,7 +8331,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6433,7 +6409,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 4990</td>
<td align=center>USB</td>
-@@ -8343,7 +8342,7 @@
+@@ -8343,7 +8342,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6442,7 +6418,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 4990 PHOTO</td>
<td align=center>USB</td>
-@@ -8353,7 +8352,7 @@
+@@ -8353,7 +8352,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6451,7 +6427,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection 4990 Pro</td>
<td align=center>USB IEEE1394</td>
-@@ -8363,7 +8362,7 @@
+@@ -8363,7 +8362,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6460,7 +6436,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V10</a></td>
<td align=center>USB</td>
-@@ -8373,7 +8372,7 @@
+@@ -8373,7 +8372,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6469,7 +6445,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V30</a></td>
<td align=center>USB</td>
-@@ -8383,7 +8382,7 @@
+@@ -8383,7 +8382,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6478,7 +6454,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V100 Photo</a></td>
<td align=center>USB</td>
-@@ -8393,7 +8392,7 @@
+@@ -8393,7 +8392,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6487,7 +6463,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V200 Photo</a></td>
<td align=center>USB</td>
-@@ -8403,7 +8402,7 @@
+@@ -8403,7 +8402,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6496,7 +6472,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V300 Photo</a></td>
<td align=center>USB</td>
-@@ -8413,7 +8412,7 @@
+@@ -8413,7 +8412,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6505,7 +6481,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V350 Photo</a></td>
<td align=center>USB</td>
-@@ -8423,7 +8422,7 @@
+@@ -8423,7 +8422,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6514,7 +6490,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V500 Photo</a></td>
<td align=center>USB</td>
-@@ -8433,7 +8432,7 @@
+@@ -8433,7 +8432,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6523,7 +6499,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/scan/DL1.do">Perfection V600 Photo</a></td>
<td align=center>USB</td>
-@@ -8443,7 +8442,7 @@
+@@ -8443,7 +8442,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6532,7 +6508,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection V700 Photo</td>
<td align=center>USB</td>
-@@ -8453,7 +8452,7 @@
+@@ -8453,7 +8452,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6541,7 +6517,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Perfection V750 Photo</td>
<td align=center>USB</td>
-@@ -8463,7 +8462,7 @@
+@@ -8463,7 +8462,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6550,7 +6526,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A700</td>
<td align=center>USB</td>
-@@ -8473,7 +8472,7 @@
+@@ -8473,7 +8472,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6559,7 +6535,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A750</td>
<td align=center>USB</td>
-@@ -8483,7 +8482,7 @@
+@@ -8483,7 +8482,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6568,7 +6544,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A820</td>
<td align=center>USB</td>
-@@ -8493,7 +8492,7 @@
+@@ -8493,7 +8492,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6577,7 +6553,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A840</td>
<td align=center>USB</td>
-@@ -8503,7 +8502,7 @@
+@@ -8503,7 +8502,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6586,7 +6562,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A840S</td>
<td align=center>USB</td>
-@@ -8513,7 +8512,7 @@
+@@ -8513,7 +8512,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6595,7 +6571,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A850</td>
<td align=center>USB</td>
-@@ -8523,7 +8522,7 @@
+@@ -8523,7 +8522,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6604,7 +6580,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A870</td>
<td align=center>USB</td>
-@@ -8533,7 +8532,7 @@
+@@ -8533,7 +8532,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6613,7 +6589,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A890</td>
<td align=center>USB</td>
-@@ -8543,7 +8542,7 @@
+@@ -8543,7 +8542,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6622,7 +6598,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A900</td>
<td align=center>USB</td>
-@@ -8553,7 +8552,7 @@
+@@ -8553,7 +8552,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6631,7 +6607,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A920</td>
<td align=center>USB</td>
-@@ -8563,7 +8562,7 @@
+@@ -8563,7 +8562,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6640,7 +6616,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A940</td>
<td align=center>USB</td>
-@@ -8573,7 +8572,7 @@
+@@ -8573,7 +8572,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6649,7 +6625,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A950</td>
<td align=center>USB</td>
-@@ -8583,7 +8582,7 @@
+@@ -8583,7 +8582,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6658,7 +6634,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-A970</td>
<td align=center>USB</td>
-@@ -8593,7 +8592,7 @@
+@@ -8593,7 +8592,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6667,7 +6643,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-T960</td>
<td align=center>USB</td>
-@@ -8603,7 +8602,7 @@
+@@ -8603,7 +8602,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6676,7 +6652,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PM-T990</td>
<td align=center>USB</td>
-@@ -8613,7 +8612,7 @@
+@@ -8613,7 +8612,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6685,7 +6661,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-401A</td>
<td align=center>USB</td>
-@@ -8623,7 +8622,7 @@
+@@ -8623,7 +8622,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6694,7 +6670,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-402A</td>
<td align=center>USB</td>
-@@ -8633,7 +8632,7 @@
+@@ -8633,7 +8632,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6703,7 +6679,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-501A</td>
<td align=center>USB</td>
-@@ -8643,7 +8642,7 @@
+@@ -8643,7 +8642,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6712,7 +6688,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-502A</td>
<td align=center>USB</td>
-@@ -8653,7 +8652,7 @@
+@@ -8653,7 +8652,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6721,7 +6697,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-601F</td>
<td align=center>USB</td>
-@@ -8663,7 +8662,7 @@
+@@ -8663,7 +8662,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6730,7 +6706,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-A550</td>
<td align=center>USB</td>
-@@ -8673,7 +8672,7 @@
+@@ -8673,7 +8672,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6739,7 +6715,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-A620</td>
<td align=center>USB</td>
-@@ -8683,7 +8682,7 @@
+@@ -8683,7 +8682,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6748,7 +6724,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-A640</td>
<td align=center>USB</td>
-@@ -8693,7 +8692,7 @@
+@@ -8693,7 +8692,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6757,7 +6733,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-A650</td>
<td align=center>USB</td>
-@@ -8703,7 +8702,7 @@
+@@ -8703,7 +8702,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6766,7 +6742,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-A720</td>
<td align=center>USB</td>
-@@ -8713,7 +8712,7 @@
+@@ -8713,7 +8712,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6775,7 +6751,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-A740</td>
<td align=center>USB</td>
-@@ -8723,7 +8722,7 @@
+@@ -8723,7 +8722,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6784,7 +6760,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PX-FA700</td>
<td align=center>USB</td>
-@@ -8733,7 +8732,7 @@
+@@ -8733,7 +8732,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6793,7 +6769,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RX-425</td>
<td align=center>USB</td>
-@@ -8744,7 +8743,7 @@
+@@ -8744,7 +8743,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6802,7 +6778,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RX-500</td>
<td align=center>USB</td>
-@@ -8755,7 +8754,7 @@
+@@ -8755,7 +8754,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6811,7 +6787,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RX-600</td>
<td align=center>USB</td>
-@@ -8766,7 +8765,7 @@
+@@ -8766,7 +8765,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6820,7 +6796,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RX-620</td>
<td align=center>USB</td>
-@@ -8777,7 +8776,7 @@
+@@ -8777,7 +8776,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6829,7 +6805,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RX-700</td>
<td align=center>USB</td>
-@@ -8788,7 +8787,7 @@
+@@ -8788,7 +8787,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -6838,7 +6814,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX-1500</td>
<td align=center>USB</td>
-@@ -8799,7 +8798,7 @@
+@@ -8799,7 +8798,7 @@ epson2<br>(1.0.124)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -6847,7 +6823,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX-5800</td>
<td align=center>USB</td>
-@@ -8820,7 +8819,7 @@
+@@ -8820,7 +8819,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6856,7 +6832,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX2800</td>
<td align=center>USB</td>
-@@ -8830,7 +8829,7 @@
+@@ -8830,7 +8829,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6865,7 +6841,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX2900</td>
<td align=center>USB</td>
-@@ -8840,7 +8839,7 @@
+@@ -8840,7 +8839,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6874,7 +6850,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3100</td>
<td align=center>USB</td>
-@@ -8850,7 +8849,7 @@
+@@ -8850,7 +8849,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6883,7 +6859,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3200</td>
<td align=center>USB</td>
-@@ -8860,7 +8859,7 @@
+@@ -8860,7 +8859,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6892,7 +6868,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3500</td>
<td align=center>USB</td>
-@@ -8870,7 +8869,7 @@
+@@ -8870,7 +8869,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6901,7 +6877,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3600</td>
<td align=center>USB</td>
-@@ -8880,7 +8879,7 @@
+@@ -8880,7 +8879,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6910,7 +6886,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3650</td>
<td align=center>USB</td>
-@@ -8890,7 +8889,7 @@
+@@ -8890,7 +8889,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6919,7 +6895,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3700</td>
<td align=center>USB</td>
-@@ -8900,7 +8899,7 @@
+@@ -8900,7 +8899,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6928,7 +6904,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3800</td>
<td align=center>USB</td>
-@@ -8910,7 +8909,7 @@
+@@ -8910,7 +8909,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6937,7 +6913,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3810</td>
<td align=center>USB</td>
-@@ -8920,7 +8919,7 @@
+@@ -8920,7 +8919,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6946,7 +6922,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX3900</td>
<td align=center>USB</td>
-@@ -8930,7 +8929,7 @@
+@@ -8930,7 +8929,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6955,7 +6931,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4100</td>
<td align=center>USB</td>
-@@ -8940,7 +8939,7 @@
+@@ -8940,7 +8939,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6964,7 +6940,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4200</td>
<td align=center>USB</td>
-@@ -8950,7 +8949,7 @@
+@@ -8950,7 +8949,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6973,7 +6949,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do">Stylus CX4300</a></td>
<td align=center>USB</td>
-@@ -8960,7 +8959,7 @@
+@@ -8960,7 +8959,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6982,7 +6958,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do">Stylus CX4400</a></td>
<td align=center>USB</td>
-@@ -8970,7 +8969,7 @@
+@@ -8970,7 +8969,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -6991,7 +6967,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4500</td>
<td align=center>USB</td>
-@@ -8980,7 +8979,7 @@
+@@ -8980,7 +8979,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7000,7 +6976,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4600</td>
<td align=center>USB</td>
-@@ -8990,7 +8989,7 @@
+@@ -8990,7 +8989,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7009,7 +6985,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4700</td>
<td align=center>USB</td>
-@@ -9000,7 +8999,7 @@
+@@ -9000,7 +8999,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7018,7 +6994,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4800</td>
<td align=center>USB</td>
-@@ -9010,7 +9009,7 @@
+@@ -9010,7 +9009,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7027,7 +7003,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX4900</td>
<td align=center>USB</td>
-@@ -9020,7 +9019,7 @@
+@@ -9020,7 +9019,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7036,7 +7012,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5000</td>
<td align=center>USB</td>
-@@ -9030,7 +9029,7 @@
+@@ -9030,7 +9029,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7045,7 +7021,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5100</td>
<td align=center>USB</td>
-@@ -9040,7 +9039,7 @@
+@@ -9040,7 +9039,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7054,7 +7030,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5200</td>
<td align=center>USB</td>
-@@ -9050,7 +9049,7 @@
+@@ -9050,7 +9049,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7063,7 +7039,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5300</td>
<td align=center>USB</td>
-@@ -9060,7 +9059,7 @@
+@@ -9060,7 +9059,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7072,7 +7048,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5400</td>
<td align=center>USB</td>
-@@ -9070,7 +9069,7 @@
+@@ -9070,7 +9069,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7081,7 +7057,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do">Stylus CX5500</a></td>
<td align=center>USB</td>
-@@ -9080,7 +9079,7 @@
+@@ -9080,7 +9079,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7090,7 +7066,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do">Stylus CX5600</a></td>
<td align=center>USB</td>
-@@ -9090,7 +9089,7 @@
+@@ -9090,7 +9089,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7099,7 +7075,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5700F</td>
<td align=center>USB</td>
-@@ -9100,7 +9099,7 @@
+@@ -9100,7 +9099,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7108,7 +7084,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5800F</td>
<td align=center>USB</td>
-@@ -9110,7 +9109,7 @@
+@@ -9110,7 +9109,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7117,7 +7093,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX5900</td>
<td align=center>USB</td>
-@@ -9120,7 +9119,7 @@
+@@ -9120,7 +9119,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7126,7 +7102,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX6000</td>
<td align=center>USB</td>
-@@ -9130,7 +9129,7 @@
+@@ -9130,7 +9129,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7135,7 +7111,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX6300</td>
<td align=center>USB</td>
-@@ -9140,7 +9139,7 @@
+@@ -9140,7 +9139,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7144,7 +7120,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX6400</td>
<td align=center>USB</td>
-@@ -9150,7 +9149,7 @@
+@@ -9150,7 +9149,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7153,7 +7129,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX6500</td>
<td align=center>USB</td>
-@@ -9160,7 +9159,7 @@
+@@ -9160,7 +9159,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7162,7 +7138,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX6600</td>
<td align=center>USB</td>
-@@ -9170,7 +9169,7 @@
+@@ -9170,7 +9169,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7171,7 +7147,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX6900F</td>
<td align=center>USB</td>
-@@ -9180,7 +9179,7 @@
+@@ -9180,7 +9179,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7180,7 +7156,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX7000F</td>
<td align=center>USB</td>
-@@ -9190,7 +9189,7 @@
+@@ -9190,7 +9189,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7189,7 +7165,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX7300</td>
<td align=center>USB</td>
-@@ -9200,7 +9199,7 @@
+@@ -9200,7 +9199,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7198,7 +7174,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX7400</td>
<td align=center>USB</td>
-@@ -9210,7 +9209,7 @@
+@@ -9210,7 +9209,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7207,7 +7183,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX7700</td>
<td align=center>USB</td>
-@@ -9220,7 +9219,7 @@
+@@ -9220,7 +9219,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7216,7 +7192,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX7800</td>
<td align=center>USB</td>
-@@ -9230,7 +9229,7 @@
+@@ -9230,7 +9229,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7225,7 +7201,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX8300</td>
<td align=center>USB</td>
-@@ -9240,7 +9239,7 @@
+@@ -9240,7 +9239,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7234,7 +7210,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX8400</td>
<td align=center>USB</td>
-@@ -9250,7 +9249,7 @@
+@@ -9250,7 +9249,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7243,7 +7219,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX9300F</td>
<td align=center>USB</td>
-@@ -9260,7 +9259,7 @@
+@@ -9260,7 +9259,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7252,7 +7228,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus CX9400Fax</td>
<td align=center>USB</td>
-@@ -9270,7 +9269,7 @@
+@@ -9270,7 +9269,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7261,7 +7237,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX3800</td>
<td align=center>USB</td>
-@@ -9280,7 +9279,7 @@
+@@ -9280,7 +9279,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7270,7 +7246,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX3850</td>
<td align=center>USB</td>
-@@ -9290,7 +9289,7 @@
+@@ -9290,7 +9289,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7279,7 +7255,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX4000</td>
<td align=center>USB</td>
-@@ -9300,7 +9299,7 @@
+@@ -9300,7 +9299,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7288,7 +7264,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX4200</td>
<td align=center>USB</td>
-@@ -9310,7 +9309,7 @@
+@@ -9310,7 +9309,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7297,7 +7273,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do">Stylus DX4400</a></td>
<td align=center>USB</td>
-@@ -9320,7 +9319,7 @@
+@@ -9320,7 +9319,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7306,7 +7282,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/epson-stylus-dx4450.html">Stylus DX4450</a></td>
<td align=center>USB</td>
-@@ -9341,7 +9340,7 @@
+@@ -9341,7 +9340,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7315,7 +7291,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX4850</td>
<td align=center>USB</td>
-@@ -9351,7 +9350,7 @@
+@@ -9351,7 +9350,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7324,7 +7300,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX5000</td>
<td align=center>USB</td>
-@@ -9361,7 +9360,7 @@
+@@ -9361,7 +9360,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7333,7 +7309,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX6000</td>
<td align=center>USB</td>
-@@ -9371,7 +9370,7 @@
+@@ -9371,7 +9370,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7342,7 +7318,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX7000F</td>
<td align=center>USB</td>
-@@ -9381,7 +9380,7 @@
+@@ -9381,7 +9380,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7351,7 +7327,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX7400</td>
<td align=center>USB</td>
-@@ -9391,7 +9390,7 @@
+@@ -9391,7 +9390,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7360,7 +7336,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX8400</td>
<td align=center>USB</td>
-@@ -9401,7 +9400,7 @@
+@@ -9401,7 +9400,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7369,7 +7345,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus DX9400F</td>
<td align=center>USB</td>
-@@ -9411,7 +9410,7 @@
+@@ -9411,7 +9410,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7378,7 +7354,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX100</td>
<td align=center>USB</td>
-@@ -9421,7 +9420,7 @@
+@@ -9421,7 +9420,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7387,7 +7363,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX110 Series</td>
<td align=center>USB</td>
-@@ -9431,7 +9430,7 @@
+@@ -9431,7 +9430,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7396,7 +7372,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX200</td>
<td align=center>USB</td>
-@@ -9441,7 +9440,7 @@
+@@ -9441,7 +9440,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7405,7 +7381,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX210 Series</td>
<td align=center>USB</td>
-@@ -9451,7 +9450,7 @@
+@@ -9451,7 +9450,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7414,7 +7390,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX300</td>
<td align=center>USB</td>
-@@ -9461,7 +9460,7 @@
+@@ -9461,7 +9460,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7423,7 +7399,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX400</td>
<td align=center>USB</td>
-@@ -9471,7 +9470,7 @@
+@@ -9471,7 +9470,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7432,7 +7408,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX410 Series</td>
<td align=center>USB</td>
-@@ -9481,7 +9480,7 @@
+@@ -9481,7 +9480,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7441,7 +7417,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus NX510 Series</td>
<td align=center>USB</td>
-@@ -9491,7 +9490,7 @@
+@@ -9491,7 +9490,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7450,7 +7426,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office BX300F</td>
<td align=center>USB</td>
-@@ -9501,7 +9500,7 @@
+@@ -9501,7 +9500,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7459,7 +7435,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office BX310FN Series</td>
<td align=center>USB</td>
-@@ -9511,7 +9510,7 @@
+@@ -9511,7 +9510,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7468,7 +7444,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office BX600FW</td>
<td align=center>USB</td>
-@@ -9521,7 +9520,7 @@
+@@ -9521,7 +9520,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7477,7 +7453,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office BX610FW Series</td>
<td align=center>USB</td>
-@@ -9531,7 +9530,7 @@
+@@ -9531,7 +9530,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7486,7 +7462,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office TX300F</td>
<td align=center>USB</td>
-@@ -9541,7 +9540,7 @@
+@@ -9541,7 +9540,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7495,7 +7471,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office TX510FN Series</td>
<td align=center>USB</td>
-@@ -9551,7 +9550,7 @@
+@@ -9551,7 +9550,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7504,7 +7480,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office TX600FW</td>
<td align=center>USB</td>
-@@ -9561,7 +9560,7 @@
+@@ -9561,7 +9560,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7513,7 +7489,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Office TX610FW Series</td>
<td align=center>USB</td>
-@@ -9571,7 +9570,7 @@
+@@ -9571,7 +9570,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7522,7 +7498,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo PX650 Series</td>
<td align=center>USB</td>
-@@ -9581,7 +9580,7 @@
+@@ -9581,7 +9580,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7531,7 +7507,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo PX700W</td>
<td align=center>USB Network</td>
-@@ -9591,7 +9590,7 @@
+@@ -9591,7 +9590,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7540,7 +7516,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo PX710W Series</td>
<td align=center>USB</td>
-@@ -9601,7 +9600,7 @@
+@@ -9601,7 +9600,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7549,7 +7525,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo PX800FW</td>
<td align=center>USB</td>
-@@ -9611,7 +9610,7 @@
+@@ -9611,7 +9610,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7558,7 +7534,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo PX810FW Series</td>
<td align=center>USB</td>
-@@ -9621,7 +9620,7 @@
+@@ -9621,7 +9620,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7567,7 +7543,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX420</td>
<td align=center>USB</td>
-@@ -9631,7 +9630,7 @@
+@@ -9631,7 +9630,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7576,7 +7552,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX425</td>
<td align=center>USB</td>
-@@ -9641,7 +9640,7 @@
+@@ -9641,7 +9640,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7585,7 +7561,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX430</td>
<td align=center>USB</td>
-@@ -9651,7 +9650,7 @@
+@@ -9651,7 +9650,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7594,7 +7570,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX500</td>
<td align=center>USB</td>
-@@ -9661,7 +9660,7 @@
+@@ -9661,7 +9660,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7603,7 +7579,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX510</td>
<td align=center>USB</td>
-@@ -9671,7 +9670,7 @@
+@@ -9671,7 +9670,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7612,7 +7588,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX520</td>
<td align=center>USB</td>
-@@ -9681,7 +9680,7 @@
+@@ -9681,7 +9680,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7621,7 +7597,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX530</td>
<td align=center>USB</td>
-@@ -9691,7 +9690,7 @@
+@@ -9691,7 +9690,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7630,7 +7606,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX560</td>
<td align=center>USB</td>
-@@ -9701,7 +9700,7 @@
+@@ -9701,7 +9700,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7639,7 +7615,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX580</td>
<td align=center>USB</td>
-@@ -9711,7 +9710,7 @@
+@@ -9711,7 +9710,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7648,7 +7624,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX585</td>
<td align=center>USB</td>
-@@ -9721,7 +9720,7 @@
+@@ -9721,7 +9720,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7657,7 +7633,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX590</td>
<td align=center>USB</td>
-@@ -9731,7 +9730,7 @@
+@@ -9731,7 +9730,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7666,7 +7642,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX595</td>
<td align=center>USB</td>
-@@ -9741,7 +9740,7 @@
+@@ -9741,7 +9740,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7675,7 +7651,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX600</td>
<td align=center>USB</td>
-@@ -9751,7 +9750,7 @@
+@@ -9751,7 +9750,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7684,7 +7660,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX610</td>
<td align=center>USB</td>
-@@ -9761,7 +9760,7 @@
+@@ -9761,7 +9760,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7693,7 +7669,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX620</td>
<td align=center>USB</td>
-@@ -9771,7 +9770,7 @@
+@@ -9771,7 +9770,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7702,7 +7678,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX630</td>
<td align=center>USB</td>
-@@ -9781,7 +9780,7 @@
+@@ -9781,7 +9780,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7711,7 +7687,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX640</td>
<td align=center>USB</td>
-@@ -9791,7 +9790,7 @@
+@@ -9791,7 +9790,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7720,7 +7696,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX650</td>
<td align=center>USB</td>
-@@ -9801,7 +9800,7 @@
+@@ -9801,7 +9800,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7729,7 +7705,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX680</td>
<td align=center>USB</td>
-@@ -9811,7 +9810,7 @@
+@@ -9811,7 +9810,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7738,7 +7714,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX685</td>
<td align=center>USB</td>
-@@ -9821,7 +9820,7 @@
+@@ -9821,7 +9820,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7747,7 +7723,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX690</td>
<td align=center>USB</td>
-@@ -9831,7 +9830,7 @@
+@@ -9831,7 +9830,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7756,7 +7732,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo RX700</td>
<td align=center>USB</td>
-@@ -9841,7 +9840,7 @@
+@@ -9841,7 +9840,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7765,7 +7741,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo TX650 Series</td>
<td align=center>USB</td>
-@@ -9851,7 +9850,7 @@
+@@ -9851,7 +9850,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7774,7 +7750,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo TX700W</td>
<td align=center>USB</td>
-@@ -9861,7 +9860,7 @@
+@@ -9861,7 +9860,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7783,7 +7759,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo TX710W Series</td>
<td align=center>USB</td>
-@@ -9871,7 +9870,7 @@
+@@ -9871,7 +9870,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7792,7 +7768,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Photo TX800FW</td>
<td align=center>USB</td>
-@@ -9881,7 +9880,7 @@
+@@ -9881,7 +9880,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7801,7 +7777,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Scan 2000</td>
<td align=center>USB</td>
-@@ -9891,7 +9890,7 @@
+@@ -9891,7 +9890,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7810,7 +7786,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus Scan 2500</td>
<td align=center>USB</td>
-@@ -9901,7 +9900,7 @@
+@@ -9901,7 +9900,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7819,7 +7795,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX100</td>
<td align=center>USB</td>
-@@ -9911,7 +9910,7 @@
+@@ -9911,7 +9910,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7828,7 +7804,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX110 Series</td>
<td align=center>USB</td>
-@@ -9921,7 +9920,7 @@
+@@ -9921,7 +9920,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7837,7 +7813,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX125</td>
<td align=center>USB</td>
-@@ -9931,7 +9930,7 @@
+@@ -9931,7 +9930,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7846,7 +7822,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX200</td>
<td align=center>USB</td>
-@@ -9941,7 +9940,7 @@
+@@ -9941,7 +9940,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7855,7 +7831,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX205</td>
<td align=center>USB</td>
-@@ -9951,7 +9950,7 @@
+@@ -9951,7 +9950,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7864,7 +7840,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX210 Series</td>
<td align=center>USB</td>
-@@ -9961,7 +9960,7 @@
+@@ -9961,7 +9960,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7873,7 +7849,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX400</td>
<td align=center>USB</td>
-@@ -9971,7 +9970,7 @@
+@@ -9971,7 +9970,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7882,7 +7858,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX405</td>
<td align=center>USB</td>
-@@ -9981,7 +9980,7 @@
+@@ -9981,7 +9980,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7891,7 +7867,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX410 Series</td>
<td align=center>USB</td>
-@@ -9991,7 +9990,7 @@
+@@ -9991,7 +9990,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7900,7 +7876,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX510W Series</td>
<td align=center>USB</td>
-@@ -10001,7 +10000,7 @@
+@@ -10001,7 +10000,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7909,7 +7885,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX600FW</td>
<td align=center>USB</td>
-@@ -10011,7 +10010,7 @@
+@@ -10011,7 +10010,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7918,7 +7894,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus SX610FW Series</td>
<td align=center>USB</td>
-@@ -10021,7 +10020,7 @@
+@@ -10021,7 +10020,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7927,7 +7903,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX100</td>
<td align=center>USB</td>
-@@ -10031,7 +10030,7 @@
+@@ -10031,7 +10030,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7936,7 +7912,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX110 Series</td>
<td align=center>USB</td>
-@@ -10041,7 +10040,7 @@
+@@ -10041,7 +10040,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7945,7 +7921,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX200</td>
<td align=center>USB</td>
-@@ -10051,7 +10050,7 @@
+@@ -10051,7 +10050,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7954,7 +7930,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX203</td>
<td align=center>USB</td>
-@@ -10061,7 +10060,7 @@
+@@ -10061,7 +10060,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7963,7 +7939,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX209</td>
<td align=center>USB</td>
-@@ -10071,7 +10070,7 @@
+@@ -10071,7 +10070,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7972,7 +7948,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX210 Series</td>
<td align=center>USB</td>
-@@ -10081,7 +10080,7 @@
+@@ -10081,7 +10080,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7981,7 +7957,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX400</td>
<td align=center>USB</td>
-@@ -10091,7 +10090,7 @@
+@@ -10091,7 +10090,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7990,7 +7966,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX410 Series</td>
<td align=center>USB</td>
-@@ -10101,7 +10100,7 @@
+@@ -10101,7 +10100,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -7999,7 +7975,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Stylus TX550W Series</td>
<td align=center>USB</td>
-@@ -10111,7 +10110,7 @@
+@@ -10111,7 +10110,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -8008,7 +7984,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>StylusScan 2000</td>
<td align=center>USB</td>
-@@ -10133,7 +10132,7 @@
+@@ -10133,7 +10132,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -8017,7 +7993,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>V750</td>
<td align=center>USB IEEE-1394</td>
-@@ -10144,7 +10143,7 @@
+@@ -10144,7 +10143,7 @@ epson2<br>(1.0.124)
<a href="http://www.khk.net/sane">epson</a>
<br>(unmaintained)
</td>
@@ -8026,7 +8002,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkForce 310 Series</td>
<td align=center>USB</td>
-@@ -10154,7 +10153,7 @@
+@@ -10154,7 +10153,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -8035,7 +8011,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkForce 500</td>
<td align=center>USB</td>
-@@ -10164,7 +10163,7 @@
+@@ -10164,7 +10163,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -8044,7 +8020,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkForce 600</td>
<td align=center>USB</td>
-@@ -10174,7 +10173,7 @@
+@@ -10174,7 +10173,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -8053,7 +8029,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkForce 610 Series</td>
<td align=center>USB</td>
-@@ -10184,7 +10183,7 @@
+@@ -10184,7 +10183,7 @@ epson2<br>(1.0.124)
<td align=center>
epson2<br>(1.0.124)
</td>
@@ -8062,7 +8038,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ESCOM">Manufacturer: Escom</a></h3>
-@@ -10209,7 +10208,7 @@
+@@ -10209,7 +10208,7 @@ epson2<br>(1.0.124)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -8071,7 +8047,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-ESCORT">Manufacturer: Escort</a></h3>
-@@ -10234,7 +10233,7 @@
+@@ -10234,7 +10233,7 @@ epson2<br>(1.0.124)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -8080,7 +8056,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-FUJITSU">Manufacturer: Fujitsu</a></h3>
-@@ -10261,7 +10260,7 @@
+@@ -10261,7 +10260,7 @@ epson2<br>(1.0.124)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -8089,7 +8065,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-60F</td>
<td align=center>USB</td>
-@@ -10272,7 +10271,7 @@
+@@ -10272,7 +10271,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/epjitsu/">epjitsu</a>
<br>(20)
</td>
@@ -8098,7 +8074,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4010CU</td>
<td align=center>USB</td>
-@@ -10283,7 +10282,7 @@
+@@ -10283,7 +10282,7 @@ epson2<br>(1.0.124)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8107,7 +8083,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4110EOX/2/3</td>
<td align=center>USB</td>
-@@ -10294,7 +10293,7 @@
+@@ -10294,7 +10293,7 @@ epson2<br>(1.0.124)
<a href="http://www.meier-geinitz.de/sane/ma1509-backend/">ma1509</a>
<br>(1.0-3)
</td>
@@ -8116,7 +8092,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4120C</td>
<td align=center>SCSI USB</td>
-@@ -10305,7 +10304,7 @@
+@@ -10305,7 +10304,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8125,7 +8101,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4120C2</td>
<td align=center>SCSI USB</td>
-@@ -10316,7 +10315,7 @@
+@@ -10316,7 +10315,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8134,7 +8110,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4220C</td>
<td align=center>SCSI USB</td>
-@@ -10327,7 +10326,7 @@
+@@ -10327,7 +10326,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8143,7 +8119,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4220C2</td>
<td align=center>SCSI USB</td>
-@@ -10338,7 +10337,7 @@
+@@ -10338,7 +10337,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8152,7 +8128,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4340C</td>
<td align=center>SCSI USB</td>
-@@ -10349,7 +10348,7 @@
+@@ -10349,7 +10348,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8161,7 +8137,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4530C</td>
<td align=center>SCSI USB</td>
-@@ -10360,7 +10359,7 @@
+@@ -10360,7 +10359,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8170,7 +8146,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4640S</td>
<td align=center>SCSI</td>
-@@ -10371,7 +10370,7 @@
+@@ -10371,7 +10370,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8179,7 +8155,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4750C</td>
<td align=center>SCSI</td>
-@@ -10382,7 +10381,7 @@
+@@ -10382,7 +10381,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8188,7 +8164,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4750L</td>
<td align=center>SCSI</td>
-@@ -10393,7 +10392,7 @@
+@@ -10393,7 +10392,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8197,7 +8173,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4860C</td>
<td align=center>SCSI</td>
-@@ -10404,7 +10403,7 @@
+@@ -10404,7 +10403,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8206,7 +8182,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4860C2</td>
<td align=center>SCSI</td>
-@@ -10415,7 +10414,7 @@
+@@ -10415,7 +10414,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8215,7 +8191,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-4990C</td>
<td align=center>SCSI</td>
-@@ -10426,7 +10425,7 @@
+@@ -10426,7 +10425,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8224,7 +8200,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5000N</td>
<td align=center>Ethernet</td>
-@@ -10437,7 +10436,7 @@
+@@ -10437,7 +10436,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8233,7 +8209,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5015C</td>
<td align=center>USB</td>
-@@ -10448,7 +10447,7 @@
+@@ -10448,7 +10447,7 @@ epson2<br>(1.0.124)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8242,7 +8218,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5110C</td>
<td align=center>USB</td>
-@@ -10459,7 +10458,7 @@
+@@ -10459,7 +10458,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8251,7 +8227,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5110EOX/2</td>
<td align=center>USB</td>
-@@ -10470,7 +10469,7 @@
+@@ -10470,7 +10469,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8260,7 +8236,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5110EOX3</td>
<td align=center>USB</td>
-@@ -10481,7 +10480,7 @@
+@@ -10481,7 +10480,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8269,7 +8245,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5110EOXM</td>
<td align=center>USB</td>
-@@ -10492,7 +10491,7 @@
+@@ -10492,7 +10491,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8278,7 +8254,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5120C</td>
<td align=center>SCSI USB</td>
-@@ -10503,7 +10502,7 @@
+@@ -10503,7 +10502,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8287,7 +8263,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5220C</td>
<td align=center>SCSI USB</td>
-@@ -10514,7 +10513,7 @@
+@@ -10514,7 +10513,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8296,7 +8272,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5530C</td>
<td align=center>SCSI USB</td>
-@@ -10525,7 +10524,7 @@
+@@ -10525,7 +10524,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8305,7 +8281,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5530C2</td>
<td align=center>SCSI USB</td>
-@@ -10536,7 +10535,7 @@
+@@ -10536,7 +10535,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8314,7 +8290,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5650C</td>
<td align=center>SCSI USB</td>
-@@ -10547,7 +10546,7 @@
+@@ -10547,7 +10546,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8323,7 +8299,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5750C</td>
<td align=center>SCSI USB</td>
-@@ -10558,7 +10557,7 @@
+@@ -10558,7 +10557,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8332,7 +8308,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5900C</td>
<td align=center>SCSI USB</td>
-@@ -10569,7 +10568,7 @@
+@@ -10569,7 +10568,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8341,7 +8317,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-5950</td>
<td align=center>SCSI USB</td>
-@@ -10580,7 +10579,7 @@
+@@ -10580,7 +10579,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8350,7 +8326,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6000NS</td>
<td align=center>Ethernet</td>
-@@ -10591,7 +10590,7 @@
+@@ -10591,7 +10590,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8359,7 +8335,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6110</td>
<td align=center>USB</td>
-@@ -10602,7 +10601,7 @@
+@@ -10602,7 +10601,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8368,7 +8344,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6130</td>
<td align=center>USB</td>
-@@ -10613,7 +10612,7 @@
+@@ -10613,7 +10612,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8377,7 +8353,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6130Z</td>
<td align=center>USB</td>
-@@ -10624,7 +10623,7 @@
+@@ -10624,7 +10623,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8386,7 +8362,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6140</td>
<td align=center>SCSI USB</td>
-@@ -10635,7 +10634,7 @@
+@@ -10635,7 +10634,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8395,7 +8371,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6140Z</td>
<td align=center>SCSI USB</td>
-@@ -10646,7 +10645,7 @@
+@@ -10646,7 +10645,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8404,7 +8380,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6230</td>
<td align=center>USB</td>
-@@ -10657,7 +10656,7 @@
+@@ -10657,7 +10656,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8413,7 +8389,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6230Z</td>
<td align=center>USB</td>
-@@ -10668,7 +10667,7 @@
+@@ -10668,7 +10667,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8422,7 +8398,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6240</td>
<td align=center>SCSI USB</td>
-@@ -10679,7 +10678,7 @@
+@@ -10679,7 +10678,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8431,7 +8407,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6240Z</td>
<td align=center>SCSI USB</td>
-@@ -10690,7 +10689,7 @@
+@@ -10690,7 +10689,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8440,7 +8416,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6670</td>
<td align=center>SCSI USB</td>
-@@ -10701,7 +10700,7 @@
+@@ -10701,7 +10700,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8449,7 +8425,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6670A</td>
<td align=center>SCSI USB</td>
-@@ -10712,7 +10711,7 @@
+@@ -10712,7 +10711,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8458,7 +8434,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6750S</td>
<td align=center>USB</td>
-@@ -10723,7 +10722,7 @@
+@@ -10723,7 +10722,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8467,7 +8443,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6770</td>
<td align=center>SCSI USB</td>
-@@ -10734,7 +10733,7 @@
+@@ -10734,7 +10733,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8476,7 +8452,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6770A</td>
<td align=center>SCSI USB</td>
-@@ -10745,7 +10744,7 @@
+@@ -10745,7 +10744,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8485,7 +8461,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6800</td>
<td align=center>SCSI USB</td>
-@@ -10756,7 +10755,7 @@
+@@ -10756,7 +10755,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8494,7 +8470,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>fi-6800-CGA</td>
<td align=center>SCSI USB</td>
-@@ -10767,7 +10766,7 @@
+@@ -10767,7 +10766,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8503,7 +8479,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.remote.org/frederik/projects/software/sane/">M3091DC</a></td>
<td align=center>SCSI</td>
-@@ -10778,7 +10777,7 @@
+@@ -10778,7 +10777,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8512,7 +8488,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3092DC</td>
<td align=center>SCSI</td>
-@@ -10789,7 +10788,7 @@
+@@ -10789,7 +10788,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8521,7 +8497,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3093DE</td>
<td align=center>RS232C/Video</td>
-@@ -10800,7 +10799,7 @@
+@@ -10800,7 +10799,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8530,7 +8506,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3093DG</td>
<td align=center>SCSI</td>
-@@ -10811,7 +10810,7 @@
+@@ -10811,7 +10810,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8539,7 +8515,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3093E</td>
<td align=center>RS232C/Video</td>
-@@ -10822,7 +10821,7 @@
+@@ -10822,7 +10821,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8548,7 +8524,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3093EX</td>
<td align=center>RS232C/Video</td>
-@@ -10833,7 +10832,7 @@
+@@ -10833,7 +10832,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8557,7 +8533,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3093GX</td>
<td align=center>SCSI</td>
-@@ -10844,7 +10843,7 @@
+@@ -10844,7 +10843,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8566,7 +8542,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3096EX</td>
<td align=center>RS232C/Video</td>
-@@ -10855,7 +10854,7 @@
+@@ -10855,7 +10854,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8575,7 +8551,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3096GX</td>
<td align=center>SCSI</td>
-@@ -10866,7 +10865,7 @@
+@@ -10866,7 +10865,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8584,7 +8560,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3097DE</td>
<td align=center>RS232C/Video</td>
-@@ -10877,7 +10876,7 @@
+@@ -10877,7 +10876,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8593,7 +8569,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3097DG</td>
<td align=center>SCSI</td>
-@@ -10888,7 +10887,7 @@
+@@ -10888,7 +10887,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8602,7 +8578,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3097E+</td>
<td align=center>RS232C/Video</td>
-@@ -10899,7 +10898,7 @@
+@@ -10899,7 +10898,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8611,7 +8587,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3097G+</td>
<td align=center>SCSI</td>
-@@ -10910,7 +10909,7 @@
+@@ -10910,7 +10909,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8620,7 +8596,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3099A</td>
<td align=center>RS232C/Video</td>
-@@ -10921,7 +10920,7 @@
+@@ -10921,7 +10920,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8629,7 +8605,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3099EH</td>
<td align=center>RS232C/Video</td>
-@@ -10932,7 +10931,7 @@
+@@ -10932,7 +10931,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8638,7 +8614,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3099EX</td>
<td align=center>RS232C/Video</td>
-@@ -10943,7 +10942,7 @@
+@@ -10943,7 +10942,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8647,7 +8623,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3099G</td>
<td align=center>SCSI</td>
-@@ -10954,7 +10953,7 @@
+@@ -10954,7 +10953,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8656,7 +8632,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3099GH</td>
<td align=center>SCSI</td>
-@@ -10965,7 +10964,7 @@
+@@ -10965,7 +10964,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8665,7 +8641,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M3099GX</td>
<td align=center>SCSI</td>
-@@ -10976,7 +10975,7 @@
+@@ -10976,7 +10975,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8674,7 +8650,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M4097D</td>
<td align=center>SCSI</td>
-@@ -10987,7 +10986,7 @@
+@@ -10987,7 +10986,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8683,7 +8659,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M4099D</td>
<td align=center>SCSI</td>
-@@ -10998,7 +10997,7 @@
+@@ -10998,7 +10997,7 @@ epson2<br>(1.0.124)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8692,7 +8668,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner</td>
<td align=center>SCSI</td>
-@@ -11009,7 +11008,7 @@
+@@ -11009,7 +11008,7 @@ epson2<br>(1.0.124)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8701,7 +8677,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner 10</td>
<td align=center>SCSI</td>
-@@ -11020,7 +11019,7 @@
+@@ -11020,7 +11019,7 @@ epson2<br>(1.0.124)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8710,7 +8686,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner 10C</td>
<td align=center>SCSI</td>
-@@ -11031,7 +11030,7 @@
+@@ -11031,7 +11030,7 @@ epson2<br>(1.0.124)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8719,7 +8695,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner 15C</td>
<td align=center>SCSI</td>
-@@ -11041,7 +11040,7 @@
+@@ -11041,7 +11040,7 @@ epson2<br>(1.0.124)
<td align=center>
sp15c<br>(unmaintained)
</td>
@@ -8728,7 +8704,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner 300C</td>
<td align=center>SCSI</td>
-@@ -11052,7 +11051,7 @@
+@@ -11052,7 +11051,7 @@ sp15c<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8737,7 +8713,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner 600C</td>
<td align=center>SCSI</td>
-@@ -11062,7 +11061,7 @@
+@@ -11062,7 +11061,7 @@ sp15c<br>(unmaintained)
<td align=center>
sp15c<br>(unmaintained)
</td>
@@ -8746,7 +8722,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner 620C</td>
<td align=center>SCSI</td>
-@@ -11073,7 +11072,7 @@
+@@ -11073,7 +11072,7 @@ sp15c<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8755,7 +8731,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanPartner Jr</td>
<td align=center>SCSI</td>
-@@ -11084,7 +11083,7 @@
+@@ -11084,7 +11083,7 @@ sp15c<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8764,7 +8740,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap fi-6010N</td>
<td align=center>Ethernet</td>
-@@ -11095,7 +11094,7 @@
+@@ -11095,7 +11094,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8773,7 +8749,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap iX500</td>
<td align=center>USB WiFi</td>
-@@ -11106,7 +11105,7 @@
+@@ -11106,7 +11105,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8782,7 +8758,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap N1800</td>
<td align=center>Ethernet</td>
-@@ -11117,7 +11116,7 @@
+@@ -11117,7 +11116,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8791,7 +8767,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S300</td>
<td align=center>USB</td>
-@@ -11128,7 +11127,7 @@
+@@ -11128,7 +11127,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/epjitsu/">epjitsu</a>
<br>(20)
</td>
@@ -8800,7 +8776,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S300M</td>
<td align=center>USB</td>
-@@ -11139,7 +11138,7 @@
+@@ -11139,7 +11138,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/epjitsu/">epjitsu</a>
<br>(20)
</td>
@@ -8809,7 +8785,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S500</td>
<td align=center>USB</td>
-@@ -11150,7 +11149,7 @@
+@@ -11150,7 +11149,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8818,7 +8794,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S500M</td>
<td align=center>USB</td>
-@@ -11161,7 +11160,7 @@
+@@ -11161,7 +11160,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8827,7 +8803,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S510</td>
<td align=center>USB</td>
-@@ -11172,7 +11171,7 @@
+@@ -11172,7 +11171,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8836,7 +8812,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S510M</td>
<td align=center>USB</td>
-@@ -11183,7 +11182,7 @@
+@@ -11183,7 +11182,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8845,7 +8821,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S1100</td>
<td align=center>USB</td>
-@@ -11194,7 +11193,7 @@
+@@ -11194,7 +11193,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/epjitsu/">epjitsu</a>
<br>(20)
</td>
@@ -8854,7 +8830,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S1300</td>
<td align=center>USB</td>
-@@ -11205,7 +11204,7 @@
+@@ -11205,7 +11204,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/epjitsu/">epjitsu</a>
<br>(20)
</td>
@@ -8863,7 +8839,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S1500</td>
<td align=center>USB</td>
-@@ -11216,7 +11215,7 @@
+@@ -11216,7 +11215,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8872,7 +8848,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanSnap S1500M</td>
<td align=center>USB</td>
-@@ -11227,7 +11226,7 @@
+@@ -11227,7 +11226,7 @@ sp15c<br>(unmaintained)
<a href="http://www.thebility.com/fujitsu/">fujitsu</a>
<br>(117)
</td>
@@ -8881,7 +8857,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanStation</td>
<td align=center>SCSI</td>
-@@ -11238,7 +11237,7 @@
+@@ -11238,7 +11237,7 @@ sp15c<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -8890,7 +8866,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-GALLERY">Manufacturer: Gallery</a></h3>
-@@ -11263,7 +11262,7 @@
+@@ -11263,7 +11262,7 @@ sp15c<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -8899,7 +8875,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-GENIUS">Manufacturer: Genius</a></h3>
-@@ -11301,7 +11300,7 @@
+@@ -11301,7 +11300,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/u12/">u12</a>
<br>(0.02)
</td>
@@ -8908,7 +8884,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage HR6 V2</td>
<td align=center>USB</td>
-@@ -11312,7 +11311,7 @@
+@@ -11312,7 +11311,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -8917,7 +8893,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage HR6 V2</td>
<td align=center>USB</td>
-@@ -11323,7 +11322,7 @@
+@@ -11323,7 +11322,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -8926,7 +8902,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage HR6A</td>
<td align=center>USB</td>
-@@ -11334,7 +11333,7 @@
+@@ -11334,7 +11333,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -8935,7 +8911,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage HR6X</td>
<td align=center>USB</td>
-@@ -11345,7 +11344,7 @@
+@@ -11345,7 +11344,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -8944,7 +8920,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage HR6X EPP</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -11356,7 +11355,7 @@
+@@ -11356,7 +11355,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -8953,7 +8929,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/genius-colorpage-hr6x.html">ColorPage HR6X Slim</a></td>
<td align=center>USB</td>
-@@ -11378,7 +11377,7 @@
+@@ -11378,7 +11377,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -8962,7 +8938,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage HR7LE</td>
<td align=center>USB</td>
-@@ -11389,7 +11388,7 @@
+@@ -11389,7 +11388,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -8971,7 +8947,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/genius-colorpage-hr7x.html">ColorPage HR7X</a></td>
<td align=center>USB</td>
-@@ -11433,7 +11432,7 @@
+@@ -11433,7 +11432,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -8980,7 +8956,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ColorPage Slim 1200</td>
<td align=center>USB</td>
-@@ -11444,7 +11443,7 @@
+@@ -11444,7 +11443,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -8989,7 +8965,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid 1200 X</td>
<td align=center>USB</td>
-@@ -11455,7 +11454,7 @@
+@@ -11455,7 +11454,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -8998,7 +8974,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid 1200 XE</td>
<td align=center>USB</td>
-@@ -11466,7 +11465,7 @@
+@@ -11466,7 +11465,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9007,7 +8983,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ColorPage Vivid III USB</td>
<td align=center>USB</td>
-@@ -11477,7 +11476,7 @@
+@@ -11477,7 +11476,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/u12/">u12</a>
<br>(0.02)
</td>
@@ -9016,7 +8992,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid III V2</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -11488,7 +11487,7 @@
+@@ -11488,7 +11487,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -9025,7 +9001,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid Pro II Film</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -11499,7 +11498,7 @@
+@@ -11499,7 +11498,7 @@ sp15c<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -9034,7 +9010,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid3 V2</td>
<td align=center>USB</td>
-@@ -11510,7 +11509,7 @@
+@@ -11510,7 +11509,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9043,7 +9019,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid3x</td>
<td align=center>USB</td>
-@@ -11521,7 +11520,7 @@
+@@ -11521,7 +11520,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9052,7 +9028,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid3xe</td>
<td align=center>USB</td>
-@@ -11532,7 +11531,7 @@
+@@ -11532,7 +11531,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9061,7 +9037,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid4</td>
<td align=center>USB</td>
-@@ -11543,7 +11542,7 @@
+@@ -11543,7 +11542,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9070,7 +9046,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid4x</td>
<td align=center>USB</td>
-@@ -11554,7 +11553,7 @@
+@@ -11554,7 +11553,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9079,7 +9055,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Colorpage Vivid4xe</td>
<td align=center>USB</td>
-@@ -11565,7 +11564,7 @@
+@@ -11565,7 +11564,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9088,7 +9064,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ColorPage-EP</td>
<td align=center>Parport</td>
-@@ -11576,7 +11575,7 @@
+@@ -11576,7 +11575,7 @@ sp15c<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -9097,7 +9073,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ColorPage-HR5 (Pro)</td>
<td align=center>SCSI</td>
-@@ -11587,7 +11586,7 @@
+@@ -11587,7 +11586,7 @@ sp15c<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -9106,7 +9082,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ColorPage-Life Pro</td>
<td align=center>Parport (EPP/ECP)</td>
-@@ -11598,7 +11597,7 @@
+@@ -11598,7 +11597,7 @@ sp15c<br>(unmaintained)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -9115,7 +9091,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/genius-colorpage-slim-1200-usb2.html">ColorPage-Slim 1200 USB2</a></td>
<td align=center>USB</td>
-@@ -11620,7 +11619,7 @@
+@@ -11620,7 +11619,7 @@ sp15c<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -9124,7 +9100,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>FS-1130 Colorpage Scanner</td>
<td align=center>SCSI</td>
-@@ -11631,7 +11630,7 @@
+@@ -11631,7 +11630,7 @@ sp15c<br>(unmaintained)
<a href="http://www.zago.net/sane/#leo">leo</a>
<br>(1.0-10)
</td>
@@ -9133,7 +9109,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-GOOGLEGEAR">Manufacturer: Googlegear</a></h3>
-@@ -11656,7 +11655,7 @@
+@@ -11656,7 +11655,7 @@ sp15c<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -9142,7 +9118,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-GUILLEMOT">Manufacturer: Guillemot</a></h3>
-@@ -11719,7 +11718,7 @@
+@@ -11719,7 +11718,7 @@ sp15c<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -9151,7 +9127,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Maxi Scan A4 Deluxe (SCSI)</td>
<td align=center>SCSI</td>
-@@ -11730,7 +11729,7 @@
+@@ -11730,7 +11729,7 @@ sp15c<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -9160,7 +9136,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Maxi Scan A4 USB 640U</td>
<td align=center>USB</td>
-@@ -11741,7 +11740,7 @@
+@@ -11741,7 +11740,7 @@ sp15c<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -9169,7 +9145,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scan@home Touch 1248 (USB)</td>
<td align=center>USB</td>
-@@ -11752,7 +11751,7 @@
+@@ -11752,7 +11751,7 @@ sp15c<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -9178,7 +9154,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-HERCULES">Manufacturer: Hercules</a></h3>
-@@ -11803,7 +11802,7 @@
+@@ -11803,7 +11802,7 @@ sp15c<br>(unmaintained)
<td align=center>
hpljm1005<br>(0)
</td>
@@ -9187,7 +9163,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LaserJet M1120 MFP</td>
<td align=center>USB</td>
-@@ -11813,7 +11812,7 @@
+@@ -11813,7 +11812,7 @@ hpljm1005<br>(0)
<td align=center>
hpljm1005<br>(0)
</td>
@@ -9196,7 +9172,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LaserJet M1120n MFP</td>
<td align=center>USB</td>
-@@ -11823,7 +11822,7 @@
+@@ -11823,7 +11822,7 @@ hpljm1005<br>(0)
<td align=center>
hpljm1005<br>(0)
</td>
@@ -9205,7 +9181,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/hp-photo-1000.html">Photo Scanner 1000</a></td>
<td align=center>USB</td>
-@@ -11878,7 +11877,7 @@
+@@ -11878,7 +11877,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9214,7 +9190,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/hp-photosmart-s20xi.html">Photosmart S20 (C5101A)</a></td>
<td align=center>USB</td>
-@@ -11911,7 +11910,7 @@
+@@ -11911,7 +11910,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9223,7 +9199,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3p</td>
<td align=center>SCSI</td>
-@@ -11922,7 +11921,7 @@
+@@ -11922,7 +11921,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9232,7 +9208,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4c</td>
<td align=center>SCSI</td>
-@@ -11933,7 +11932,7 @@
+@@ -11933,7 +11932,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9241,7 +9217,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4p</td>
<td align=center>SCSI</td>
-@@ -11944,7 +11943,7 @@
+@@ -11944,7 +11943,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9250,7 +9226,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5p</td>
<td align=center>SCSI</td>
-@@ -11955,7 +11954,7 @@
+@@ -11955,7 +11954,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9259,7 +9235,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5s</td>
<td align=center>Parport (EPP)</td>
-@@ -11966,7 +11965,7 @@
+@@ -11966,7 +11965,7 @@ hpljm1005<br>(0)
<a href="http://hpsj5s.sourceforge.net/">hpsj5s</a>
<br>(0.03)
</td>
@@ -9268,7 +9244,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 2100C</td>
<td align=center>USB</td>
-@@ -11977,7 +11976,7 @@
+@@ -11977,7 +11976,7 @@ hpljm1005<br>(0)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -9277,7 +9253,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 2200C</td>
<td align=center>USB</td>
-@@ -11988,7 +11987,7 @@
+@@ -11988,7 +11987,7 @@ hpljm1005<br>(0)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -9286,7 +9262,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 2300C</td>
<td align=center>USB</td>
-@@ -11999,7 +11998,7 @@
+@@ -11999,7 +11998,7 @@ hpljm1005<br>(0)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9295,7 +9271,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 2400C</td>
<td align=center>USB</td>
-@@ -12010,7 +12009,7 @@
+@@ -12010,7 +12009,7 @@ hpljm1005<br>(0)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9304,7 +9280,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanjet 3200C</td>
<td align=center>Parport (EPP/ECP)</td>
-@@ -12021,7 +12020,7 @@
+@@ -12021,7 +12020,7 @@ hpljm1005<br>(0)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -9313,7 +9289,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3300c</td>
<td align=center>USB</td>
-@@ -12032,7 +12031,7 @@
+@@ -12032,7 +12031,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3300backend">niash</a>
<br>(0.3)
</td>
@@ -9322,7 +9298,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3400c</td>
<td align=center>USB</td>
-@@ -12043,7 +12042,7 @@
+@@ -12043,7 +12042,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3300backend">niash</a>
<br>(0.3)
</td>
@@ -9331,7 +9307,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3500C</td>
<td align=center>USB</td>
-@@ -12054,7 +12053,7 @@
+@@ -12054,7 +12053,7 @@ hpljm1005<br>(0)
<a href="http://projects.troy.rollo.name/rt-scanners/">hp3500</a>
<br>(1.1)
</td>
@@ -9340,7 +9316,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3530C</td>
<td align=center>USB</td>
-@@ -12065,7 +12064,7 @@
+@@ -12065,7 +12064,7 @@ hpljm1005<br>(0)
<a href="http://projects.troy.rollo.name/rt-scanners/">hp3500</a>
<br>(1.1)
</td>
@@ -9349,7 +9325,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3570C</td>
<td align=center>USB</td>
-@@ -12076,7 +12075,7 @@
+@@ -12076,7 +12075,7 @@ hpljm1005<br>(0)
<a href="http://projects.troy.rollo.name/rt-scanners/">hp3500</a>
<br>(1.1)
</td>
@@ -9358,7 +9334,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3670C</td>
<td align=center>USB</td>
-@@ -12087,7 +12086,7 @@
+@@ -12087,7 +12086,7 @@ hpljm1005<br>(0)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9367,7 +9343,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3690C</td>
<td align=center>USB</td>
-@@ -12098,7 +12097,7 @@
+@@ -12098,7 +12097,7 @@ hpljm1005<br>(0)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9376,7 +9352,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3770</td>
<td align=center>USB</td>
-@@ -12120,7 +12119,7 @@
+@@ -12120,7 +12119,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9385,7 +9361,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 3970c</td>
<td align=center>USB</td>
-@@ -12131,7 +12130,7 @@
+@@ -12131,7 +12130,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9394,7 +9370,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4070 Photosmart</td>
<td align=center>USB</td>
-@@ -12142,7 +12141,7 @@
+@@ -12142,7 +12141,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9403,7 +9379,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4100C</td>
<td align=center>USB</td>
-@@ -12153,7 +12152,7 @@
+@@ -12153,7 +12152,7 @@ hpljm1005<br>(0)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9412,7 +9388,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4200C</td>
<td align=center>USB</td>
-@@ -12164,7 +12163,7 @@
+@@ -12164,7 +12163,7 @@ hpljm1005<br>(0)
<a href="http://hp4200-backend.sourceforge.net">hp4200</a>
<br>(1.0-2)
</td>
@@ -9421,7 +9397,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4200Cse</td>
<td align=center>USB</td>
-@@ -12175,7 +12174,7 @@
+@@ -12175,7 +12174,7 @@ hpljm1005<br>(0)
<a href="http://hp4200-backend.sourceforge.net">hp4200</a>
<br>(1.0-2)
</td>
@@ -9430,7 +9406,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4200Cxi</td>
<td align=center>USB</td>
-@@ -12186,7 +12185,7 @@
+@@ -12186,7 +12185,7 @@ hpljm1005<br>(0)
<a href="http://hp4200-backend.sourceforge.net">hp4200</a>
<br>(1.0-2)
</td>
@@ -9439,7 +9415,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4300c</td>
<td align=center>USB</td>
-@@ -12197,7 +12196,7 @@
+@@ -12197,7 +12196,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3300backend">niash</a>
<br>(0.3)
</td>
@@ -9448,7 +9424,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4300c/Silitek</td>
<td align=center>USB</td>
-@@ -12208,7 +12207,7 @@
+@@ -12208,7 +12207,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3300backend">niash</a>
<br>(0.3)
</td>
@@ -9457,7 +9433,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4370</td>
<td align=center>USB</td>
-@@ -12219,7 +12218,7 @@
+@@ -12219,7 +12218,7 @@ hpljm1005<br>(0)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9466,7 +9442,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>scanjet 4400c</td>
<td align=center>USB</td>
-@@ -12230,7 +12229,7 @@
+@@ -12230,7 +12229,7 @@ hpljm1005<br>(0)
<a href="http://stef.dev.free.fr/sane/rts8891/index.html">rts8891</a>
<br>(1.0-0)
</td>
@@ -9475,7 +9451,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>scanjet 4470c</td>
<td align=center>USB</td>
-@@ -12241,7 +12240,7 @@
+@@ -12241,7 +12240,7 @@ hpljm1005<br>(0)
<a href="http://stef.dev.free.fr/sane/rts8891/index.html">rts8891</a>
<br>(1.0-0)
</td>
@@ -9484,7 +9460,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4500C</td>
<td align=center>USB</td>
-@@ -12251,7 +12250,7 @@
+@@ -12251,7 +12250,7 @@ hpljm1005<br>(0)
<td align=center>
hp5590<br>(1.0.5)
</td>
@@ -9493,7 +9469,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 4570C</td>
<td align=center>USB</td>
-@@ -12261,7 +12260,7 @@
+@@ -12261,7 +12260,7 @@ hp5590<br>(1.0.5)
<td align=center>
hp5590<br>(1.0.5)
</td>
@@ -9502,7 +9478,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/hp-scanjet-4600.html">ScanJet 4600</a></td>
<td align=center>USB</td>
-@@ -12294,7 +12293,7 @@
+@@ -12294,7 +12293,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9511,7 +9487,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/hp-scanjet-4850.html">ScanJet 4890C</a></td>
<td align=center>USB</td>
-@@ -12316,7 +12315,7 @@
+@@ -12316,7 +12315,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9520,7 +9496,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5200C</td>
<td align=center>Parport USB</td>
-@@ -12327,7 +12326,7 @@
+@@ -12327,7 +12326,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9529,7 +9505,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5300C</td>
<td align=center>USB</td>
-@@ -12338,7 +12337,7 @@
+@@ -12338,7 +12337,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9538,7 +9514,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5370C</td>
<td align=center>USB</td>
-@@ -12349,7 +12348,7 @@
+@@ -12349,7 +12348,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9547,7 +9523,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5400c</td>
<td align=center>USB</td>
-@@ -12360,7 +12359,7 @@
+@@ -12360,7 +12359,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/hp5400backend">hp5400</a>
<br>(1.0-2)
</td>
@@ -9556,7 +9532,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5470c</td>
<td align=center>USB</td>
-@@ -12371,7 +12370,7 @@
+@@ -12371,7 +12370,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/hp5400backend">hp5400</a>
<br>(1.0-2)
</td>
@@ -9565,7 +9541,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5490c</td>
<td align=center>USB</td>
-@@ -12382,7 +12381,7 @@
+@@ -12382,7 +12381,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/hp5400backend">hp5400</a>
<br>(1.0-2)
</td>
@@ -9574,7 +9550,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5500C</td>
<td align=center>USB</td>
-@@ -12392,7 +12391,7 @@
+@@ -12392,7 +12391,7 @@ hp5590<br>(1.0.5)
<td align=center>
hp5590<br>(1.0.5)
</td>
@@ -9583,7 +9559,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/hp-scanjet-5530.html">ScanJet 5530C Photosmart</a></td>
<td align=center>USB</td>
-@@ -12413,7 +12412,7 @@
+@@ -12413,7 +12412,7 @@ hp5590<br>(1.0.5)
<td align=center>
hp5590<br>(1.0.5)
</td>
@@ -9592,7 +9568,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 5590</td>
<td align=center>USB</td>
-@@ -12423,7 +12422,7 @@
+@@ -12423,7 +12422,7 @@ hp5590<br>(1.0.5)
<td align=center>
hp5590<br>(1.0.5)
</td>
@@ -9601,7 +9577,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 6100C</td>
<td align=center>SCSI</td>
-@@ -12434,7 +12433,7 @@
+@@ -12434,7 +12433,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9610,7 +9586,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 6200C</td>
<td align=center>SCSI USB</td>
-@@ -12445,7 +12444,7 @@
+@@ -12445,7 +12444,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9619,7 +9595,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 6250C</td>
<td align=center>SCSI USB</td>
-@@ -12456,7 +12455,7 @@
+@@ -12456,7 +12455,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9628,7 +9604,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 6300C</td>
<td align=center>SCSI USB</td>
-@@ -12467,7 +12466,7 @@
+@@ -12467,7 +12466,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9637,7 +9613,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 6350C</td>
<td align=center>SCSI USB</td>
-@@ -12478,7 +12477,7 @@
+@@ -12478,7 +12477,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9646,7 +9622,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 6390C</td>
<td align=center>SCSI USB</td>
-@@ -12489,7 +12488,7 @@
+@@ -12489,7 +12488,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9655,7 +9631,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 7400c</td>
<td align=center>USB</td>
-@@ -12500,7 +12499,7 @@
+@@ -12500,7 +12499,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9664,7 +9640,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 7450c</td>
<td align=center>USB</td>
-@@ -12511,7 +12510,7 @@
+@@ -12511,7 +12510,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9673,7 +9649,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 7490c</td>
<td align=center>USB</td>
-@@ -12522,7 +12521,7 @@
+@@ -12522,7 +12521,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9682,7 +9658,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 7650</td>
<td align=center>USB</td>
-@@ -12532,7 +12531,7 @@
+@@ -12532,7 +12531,7 @@ hp5590<br>(1.0.5)
<td align=center>
hp5590<br>(1.0.5)
</td>
@@ -9691,7 +9667,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8200</td>
<td align=center>USB</td>
-@@ -12543,7 +12542,7 @@
+@@ -12543,7 +12542,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9700,7 +9676,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8250</td>
<td align=center>USB</td>
-@@ -12554,7 +12553,7 @@
+@@ -12554,7 +12553,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9709,7 +9685,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8270</td>
<td align=center>USB</td>
-@@ -12565,7 +12564,7 @@
+@@ -12565,7 +12564,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9718,7 +9694,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8290</td>
<td align=center>USB</td>
-@@ -12576,7 +12575,7 @@
+@@ -12576,7 +12575,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9727,7 +9703,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8300</td>
<td align=center>USB</td>
-@@ -12587,7 +12586,7 @@
+@@ -12587,7 +12586,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9736,7 +9712,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8350</td>
<td align=center>USB</td>
-@@ -12598,7 +12597,7 @@
+@@ -12598,7 +12597,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9745,7 +9721,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet 8390</td>
<td align=center>USB</td>
-@@ -12609,7 +12608,7 @@
+@@ -12609,7 +12608,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9754,7 +9730,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet G2410</td>
<td align=center>USB</td>
-@@ -12620,7 +12619,7 @@
+@@ -12620,7 +12619,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9763,7 +9739,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet G2710</td>
<td align=center>USB</td>
-@@ -12631,7 +12630,7 @@
+@@ -12631,7 +12630,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9772,7 +9748,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet G3010</td>
<td align=center>USB</td>
-@@ -12642,7 +12641,7 @@
+@@ -12642,7 +12641,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9781,7 +9757,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet G3110</td>
<td align=center>USB</td>
-@@ -12653,7 +12652,7 @@
+@@ -12653,7 +12652,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -9790,7 +9766,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/hp-g4000.html">ScanJet G4000</a></td>
<td align=center>USB</td>
-@@ -12675,7 +12674,7 @@
+@@ -12675,7 +12674,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9799,7 +9775,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet G4050</td>
<td align=center>USB</td>
-@@ -12686,7 +12685,7 @@
+@@ -12686,7 +12685,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9808,7 +9784,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet IIc</td>
<td align=center>SCSI</td>
-@@ -12697,7 +12696,7 @@
+@@ -12697,7 +12696,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9817,7 +9793,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet IIcx</td>
<td align=center>SCSI</td>
-@@ -12708,7 +12707,7 @@
+@@ -12708,7 +12707,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9826,7 +9802,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet IIp</td>
<td align=center>SCSI</td>
-@@ -12719,7 +12718,7 @@
+@@ -12719,7 +12718,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9835,7 +9811,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet N6310</td>
<td align=center>USB</td>
-@@ -12730,7 +12729,7 @@
+@@ -12730,7 +12729,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -9844,7 +9820,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanJet Plus</td>
<td align=center>Propietary</td>
-@@ -12741,7 +12740,7 @@
+@@ -12741,7 +12740,7 @@ hp5590<br>(1.0.5)
<a href="http://www.kirchgessner.net/">hp</a>
<br>(1.06)
</td>
@@ -9853,7 +9829,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-IBM">Manufacturer: IBM</a></h3>
-@@ -12768,7 +12767,7 @@
+@@ -12768,7 +12767,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/ibm-backend/">ibm</a>
<br>(1.0-4)
</td>
@@ -9862,7 +9838,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ADF Color Scanner</td>
<td align=center>Proprietary</td>
-@@ -12880,7 +12879,7 @@
+@@ -12880,7 +12879,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -9871,7 +9847,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-KODAK">Manufacturer: Kodak</a></h3>
-@@ -12907,7 +12906,7 @@
+@@ -12907,7 +12906,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -9880,7 +9856,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Color Scanner 4500</td>
<td align=center>SCSI</td>
-@@ -12918,7 +12917,7 @@
+@@ -12918,7 +12917,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -9889,7 +9865,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 5</td>
<td align=center>USB</td>
-@@ -12929,7 +12928,7 @@
+@@ -12929,7 +12928,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9898,7 +9874,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 7</td>
<td align=center>USB</td>
-@@ -12940,7 +12939,7 @@
+@@ -12940,7 +12939,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9907,7 +9883,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 9</td>
<td align=center>USB</td>
-@@ -12951,7 +12950,7 @@
+@@ -12951,7 +12950,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9916,7 +9892,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 2150</td>
<td align=center>USB</td>
-@@ -12962,7 +12961,7 @@
+@@ -12962,7 +12961,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9925,7 +9901,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 2170</td>
<td align=center>USB</td>
-@@ -12973,7 +12972,7 @@
+@@ -12973,7 +12972,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9934,7 +9910,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 3200</td>
<td align=center>USB</td>
-@@ -12984,7 +12983,7 @@
+@@ -12984,7 +12983,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9943,7 +9919,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 3300</td>
<td align=center>USB</td>
-@@ -12995,7 +12994,7 @@
+@@ -12995,7 +12994,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9952,7 +9928,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 4100</td>
<td align=center>USB</td>
-@@ -13006,7 +13005,7 @@
+@@ -13006,7 +13005,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9961,7 +9937,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 5000</td>
<td align=center>USB</td>
-@@ -13017,7 +13016,7 @@
+@@ -13017,7 +13016,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9970,7 +9946,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 5100</td>
<td align=center>USB</td>
-@@ -13028,7 +13027,7 @@
+@@ -13028,7 +13027,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9979,7 +9955,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 5200</td>
<td align=center>USB Ethernet</td>
-@@ -13039,7 +13038,7 @@
+@@ -13039,7 +13038,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9988,7 +9964,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 5300</td>
<td align=center>USB</td>
-@@ -13050,7 +13049,7 @@
+@@ -13050,7 +13049,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -9997,7 +9973,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 5500</td>
<td align=center>USB</td>
-@@ -13061,7 +13060,7 @@
+@@ -13061,7 +13060,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10006,7 +9982,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 6100</td>
<td align=center>USB</td>
-@@ -13072,7 +13071,7 @@
+@@ -13072,7 +13071,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10015,7 +9991,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 7200</td>
<td align=center>USB</td>
-@@ -13083,7 +13082,7 @@
+@@ -13083,7 +13082,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10024,7 +10000,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP 9200</td>
<td align=center>USB</td>
-@@ -13094,7 +13093,7 @@
+@@ -13094,7 +13093,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10033,7 +10009,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP C110</td>
<td align=center>USB</td>
-@@ -13105,7 +13104,7 @@
+@@ -13105,7 +13104,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10042,7 +10018,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP C115</td>
<td align=center>USB</td>
-@@ -13116,7 +13115,7 @@
+@@ -13116,7 +13115,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10051,7 +10027,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP C310</td>
<td align=center>USB</td>
-@@ -13127,7 +13126,7 @@
+@@ -13127,7 +13126,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10060,7 +10036,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ESP C315</td>
<td align=center>USB</td>
-@@ -13138,7 +13137,7 @@
+@@ -13138,7 +13137,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10069,7 +10045,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Hero 3.1</td>
<td align=center>USB</td>
-@@ -13149,7 +13148,7 @@
+@@ -13149,7 +13148,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10078,7 +10054,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Hero 5.1</td>
<td align=center>USB</td>
-@@ -13160,7 +13159,7 @@
+@@ -13160,7 +13159,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10087,7 +10063,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Hero 7.1</td>
<td align=center>USB</td>
-@@ -13171,7 +13170,7 @@
+@@ -13171,7 +13170,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10096,7 +10072,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Hero 9.1</td>
<td align=center>USB Ethernet</td>
-@@ -13182,7 +13181,7 @@
+@@ -13182,7 +13181,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10105,7 +10081,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Hero Office 6.1</td>
<td align=center>USB</td>
-@@ -13193,7 +13192,7 @@
+@@ -13193,7 +13192,7 @@ hp5590<br>(1.0.5)
<a href="http://sourceforge.net/projects/cupsdriverkodak/">kodakaio</a>
<br>(2.4.6)
</td>
@@ -10114,7 +10090,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i30</td>
<td align=center>USB</td>
-@@ -13204,7 +13203,7 @@
+@@ -13204,7 +13203,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10123,7 +10099,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i40</td>
<td align=center>USB</td>
-@@ -13215,7 +13214,7 @@
+@@ -13215,7 +13214,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10132,7 +10108,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i50</td>
<td align=center>USB</td>
-@@ -13226,7 +13225,7 @@
+@@ -13226,7 +13225,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10141,7 +10117,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i55</td>
<td align=center>USB</td>
-@@ -13237,7 +13236,7 @@
+@@ -13237,7 +13236,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10150,7 +10126,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i60</td>
<td align=center>USB</td>
-@@ -13248,7 +13247,7 @@
+@@ -13248,7 +13247,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10159,7 +10135,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i65</td>
<td align=center>USB</td>
-@@ -13259,7 +13258,7 @@
+@@ -13259,7 +13258,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10168,7 +10144,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i80</td>
<td align=center>USB</td>
-@@ -13270,7 +13269,7 @@
+@@ -13270,7 +13269,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10177,7 +10153,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i150 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13281,7 +13280,7 @@
+@@ -13281,7 +13280,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10186,7 +10162,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i160 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13292,7 +13291,7 @@
+@@ -13292,7 +13291,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10195,7 +10171,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i250 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13303,7 +13302,7 @@
+@@ -13303,7 +13302,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10204,7 +10180,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i260 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13314,7 +13313,7 @@
+@@ -13314,7 +13313,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10213,7 +10189,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i280 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13325,7 +13324,7 @@
+@@ -13325,7 +13324,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10222,7 +10198,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i610 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13336,7 +13335,7 @@
+@@ -13336,7 +13335,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10231,7 +10207,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i620 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13347,7 +13346,7 @@
+@@ -13347,7 +13346,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10240,7 +10216,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i640 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13358,7 +13357,7 @@
+@@ -13358,7 +13357,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10249,7 +10225,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i660 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13369,7 +13368,7 @@
+@@ -13369,7 +13368,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10258,7 +10234,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i730 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13380,7 +13379,7 @@
+@@ -13380,7 +13379,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10267,7 +10243,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i750 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13391,7 +13390,7 @@
+@@ -13391,7 +13390,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10276,7 +10252,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i780 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13402,7 +13401,7 @@
+@@ -13402,7 +13401,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10285,7 +10261,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i810 Scanner</td>
<td align=center>SCSI</td>
-@@ -13413,7 +13412,7 @@
+@@ -13413,7 +13412,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10294,7 +10270,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i820 Scanner</td>
<td align=center>SCSI</td>
-@@ -13424,7 +13423,7 @@
+@@ -13424,7 +13423,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10303,7 +10279,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i830 Scanner</td>
<td align=center>SCSI</td>
-@@ -13435,7 +13434,7 @@
+@@ -13435,7 +13434,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10312,7 +10288,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i840 Scanner</td>
<td align=center>SCSI</td>
-@@ -13446,7 +13445,7 @@
+@@ -13446,7 +13445,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10321,7 +10297,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i1840 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13457,7 +13456,7 @@
+@@ -13457,7 +13456,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10330,7 +10306,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>i1860 Scanner</td>
<td align=center>IEEE-1394</td>
-@@ -13468,7 +13467,7 @@
+@@ -13468,7 +13467,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10339,7 +10315,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>s1740</td>
<td align=center>SCSI</td>
-@@ -13479,7 +13478,7 @@
+@@ -13479,7 +13478,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10348,7 +10324,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 900</td>
<td align=center>SCSI</td>
-@@ -13490,7 +13489,7 @@
+@@ -13490,7 +13489,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10357,7 +10333,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 923</td>
<td align=center>SCSI</td>
-@@ -13501,7 +13500,7 @@
+@@ -13501,7 +13500,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10366,7 +10342,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 1500</td>
<td align=center>SCSI</td>
-@@ -13512,7 +13511,7 @@
+@@ -13512,7 +13511,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10375,7 +10351,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 2500</td>
<td align=center>SCSI</td>
-@@ -13523,7 +13522,7 @@
+@@ -13523,7 +13522,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10384,7 +10360,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 3500</td>
<td align=center>SCSI</td>
-@@ -13534,7 +13533,7 @@
+@@ -13534,7 +13533,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10393,7 +10369,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 3510</td>
<td align=center>SCSI</td>
-@@ -13545,7 +13544,7 @@
+@@ -13545,7 +13544,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10402,7 +10378,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 3520</td>
<td align=center>SCSI</td>
-@@ -13556,7 +13555,7 @@
+@@ -13556,7 +13555,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10411,7 +10387,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 5500</td>
<td align=center>SCSI</td>
-@@ -13567,7 +13566,7 @@
+@@ -13567,7 +13566,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10420,7 +10396,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 7500</td>
<td align=center>SCSI</td>
-@@ -13578,7 +13577,7 @@
+@@ -13578,7 +13577,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10429,7 +10405,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 7520</td>
<td align=center>SCSI</td>
-@@ -13589,7 +13588,7 @@
+@@ -13589,7 +13588,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10438,7 +10414,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 9500</td>
<td align=center>SCSI</td>
-@@ -13600,7 +13599,7 @@
+@@ -13600,7 +13599,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10447,7 +10423,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanner 9520</td>
<td align=center>SCSI</td>
-@@ -13611,7 +13610,7 @@
+@@ -13611,7 +13610,7 @@ hp5590<br>(1.0.5)
<a href="http://www.thebility.com/kodak/">kodak</a>
<br>(7)
</td>
@@ -10456,7 +10432,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Snapshot Photo Scanner 1</td>
<td align=center>Parport</td>
-@@ -13649,7 +13648,7 @@
+@@ -13649,7 +13648,7 @@ hp5590<br>(1.0.5)
<a href="http://www.zago.net/sane/">sceptre</a>
<br>(1.0-10)
</td>
@@ -10465,7 +10441,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-KONICA-MINOLTA">Manufacturer: KONICA MINOLTA</a></h3>
-@@ -13676,7 +13675,7 @@
+@@ -13676,7 +13675,7 @@ hp5590<br>(1.0.5)
<a href="http://wiki.kainhofer.com/hardware/magicolor_scan">magicolor</a>
<br>(1.0.0)
</td>
@@ -10474,7 +10450,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DiMage 1611</td>
<td align=center>USB Network</td>
-@@ -13687,7 +13686,7 @@
+@@ -13687,7 +13686,7 @@ hp5590<br>(1.0.5)
<a href="http://wiki.kainhofer.com/hardware/magicolor_scan">magicolor</a>
<br>(1.0.0)
</td>
@@ -10483,7 +10459,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/minolta-dse-5400.html">DiMAGE Scan Elite 5400</a></td>
<td align=center>USB IEEE-1394</td>
-@@ -13753,7 +13752,7 @@
+@@ -13753,7 +13752,7 @@ hp5590<br>(1.0.5)
<a href="http://wiki.kainhofer.com/hardware/magicolor_scan">magicolor</a>
<br>(1.0.0)
</td>
@@ -10492,7 +10468,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>magicolor 2480MF</td>
<td align=center>USB Network</td>
-@@ -13789,7 +13788,7 @@
+@@ -13789,7 +13788,7 @@ hp5590<br>(1.0.5)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -10501,7 +10477,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-LEO">Manufacturer: LEO</a></h3>
-@@ -13814,7 +13813,7 @@
+@@ -13814,7 +13813,7 @@ hp5590<br>(1.0.5)
<a href="http://www.zago.net/sane/#leo">leo</a>
<br>(1.0-10)
</td>
@@ -10510,7 +10486,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-LEXMARK">Manufacturer: Lexmark</a></h3>
-@@ -13863,7 +13862,7 @@
+@@ -13863,7 +13862,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10519,7 +10495,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X70</td>
<td align=center>USB</td>
-@@ -13874,7 +13873,7 @@
+@@ -13874,7 +13873,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10528,7 +10504,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X73</td>
<td align=center>USB</td>
-@@ -13885,7 +13884,7 @@
+@@ -13885,7 +13884,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10537,7 +10513,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X74</td>
<td align=center>USB</td>
-@@ -13896,7 +13895,7 @@
+@@ -13896,7 +13895,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10546,7 +10522,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/lexmark-x75.html">X75</a></td>
<td align=center>USB</td>
-@@ -13940,7 +13939,7 @@
+@@ -13940,7 +13939,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10555,7 +10531,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1130</td>
<td align=center>USB</td>
-@@ -13951,7 +13950,7 @@
+@@ -13951,7 +13950,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10564,7 +10540,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1140</td>
<td align=center>USB</td>
-@@ -13962,7 +13961,7 @@
+@@ -13962,7 +13961,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10573,7 +10549,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1150</td>
<td align=center>USB</td>
-@@ -13973,7 +13972,7 @@
+@@ -13973,7 +13972,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10582,7 +10558,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1170</td>
<td align=center>USB</td>
-@@ -13984,7 +13983,7 @@
+@@ -13984,7 +13983,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10591,7 +10567,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1180</td>
<td align=center>USB</td>
-@@ -13995,7 +13994,7 @@
+@@ -13995,7 +13994,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10600,7 +10576,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1185</td>
<td align=center>USB</td>
-@@ -14006,7 +14005,7 @@
+@@ -14006,7 +14005,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10609,7 +10585,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>X1195</td>
<td align=center>USB</td>
-@@ -14017,7 +14016,7 @@
+@@ -14017,7 +14016,7 @@ hp5590<br>(1.0.5)
<a href="http://stef.dev.free.fr/sane/lexmark">lexmark</a>
<br>(1.0-0)
</td>
@@ -10618,7 +10594,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/lexmark-x2330.html">X2330</a></td>
<td align=center>USB</td>
-@@ -14143,7 +14142,7 @@
+@@ -14143,7 +14142,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10627,7 +10603,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Jade</td>
<td align=center>SCSI</td>
-@@ -14154,7 +14153,7 @@
+@@ -14154,7 +14153,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10636,7 +10612,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Jade2</td>
<td align=center>SCSI</td>
-@@ -14165,7 +14164,7 @@
+@@ -14165,7 +14164,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10645,7 +10621,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Linoscan 1400</td>
<td align=center>SCSI</td>
-@@ -14176,7 +14175,7 @@
+@@ -14176,7 +14175,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10654,7 +10630,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Opal</td>
<td align=center>SCSI</td>
-@@ -14187,7 +14186,7 @@
+@@ -14187,7 +14186,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10663,7 +10639,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Opal Ultra</td>
<td align=center>SCSI</td>
-@@ -14198,7 +14197,7 @@
+@@ -14198,7 +14197,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10672,7 +10648,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Opal2</td>
<td align=center>SCSI</td>
-@@ -14209,7 +14208,7 @@
+@@ -14209,7 +14208,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10681,7 +10657,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Saphir</td>
<td align=center>SCSI</td>
-@@ -14220,7 +14219,7 @@
+@@ -14220,7 +14219,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10690,7 +10666,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Saphir HiRes</td>
<td align=center>SCSI</td>
-@@ -14231,7 +14230,7 @@
+@@ -14231,7 +14230,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10699,7 +10675,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Saphir Ultra</td>
<td align=center>SCSI</td>
-@@ -14242,7 +14241,7 @@
+@@ -14242,7 +14241,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10708,7 +10684,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Saphir Ultra II</td>
<td align=center>SCSI</td>
-@@ -14253,7 +14252,7 @@
+@@ -14253,7 +14252,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10717,7 +10693,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Saphir2</td>
<td align=center>SCSI</td>
-@@ -14264,7 +14263,7 @@
+@@ -14264,7 +14263,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10726,7 +10702,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Saphir3</td>
<td align=center>SCSI</td>
-@@ -14275,7 +14274,7 @@
+@@ -14275,7 +14274,7 @@ hp5590<br>(1.0.5)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -10735,7 +10711,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-LOGITECH">Manufacturer: Logitech</a></h3>
-@@ -14339,7 +14338,7 @@
+@@ -14339,7 +14338,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10744,7 +10720,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD 4394</td>
<td align=center>USB</td>
-@@ -14350,7 +14349,7 @@
+@@ -14350,7 +14349,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10753,7 +10729,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/medion-md6190.html">MD 6190</a></td>
<td align=center>USB</td>
-@@ -14383,7 +14382,7 @@
+@@ -14383,7 +14382,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10762,7 +10738,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD 9806</td>
<td align=center>Parport (EPP)</td>
-@@ -14394,7 +14393,7 @@
+@@ -14394,7 +14393,7 @@ hp5590<br>(1.0.5)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -10771,7 +10747,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD 9848</td>
<td align=center>Parport (EPP)</td>
-@@ -14405,7 +14404,7 @@
+@@ -14405,7 +14404,7 @@ hp5590<br>(1.0.5)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -10780,7 +10756,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/tevion-md40420.html">MD 40420</a></td>
<td align=center>USB</td>
-@@ -14504,7 +14503,7 @@
+@@ -14504,7 +14503,7 @@ hp5590<br>(1.0.5)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -10789,7 +10765,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD/LT 985x</td>
<td align=center>Parport (EPP)</td>
-@@ -14515,7 +14514,7 @@
+@@ -14515,7 +14514,7 @@ hp5590<br>(1.0.5)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -10798,7 +10774,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD/LT 9375</td>
<td align=center>USB</td>
-@@ -14526,7 +14525,7 @@
+@@ -14526,7 +14525,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10807,7 +10783,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD/LT 9385</td>
<td align=center>USB</td>
-@@ -14537,7 +14536,7 @@
+@@ -14537,7 +14536,7 @@ hp5590<br>(1.0.5)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -10816,7 +10792,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD/LT 9890</td>
<td align=center>Parport (EPP)</td>
-@@ -14548,7 +14547,7 @@
+@@ -14548,7 +14547,7 @@ hp5590<br>(1.0.5)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -10825,7 +10801,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD4394</td>
<td align=center>USB</td>
-@@ -14558,7 +14557,7 @@
+@@ -14558,7 +14557,7 @@ hp5590<br>(1.0.5)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -10834,7 +10810,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD5345</td>
<td align=center>USB</td>
-@@ -14569,7 +14568,7 @@
+@@ -14569,7 +14568,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -10843,7 +10819,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD6228</td>
<td align=center>USB</td>
-@@ -14580,7 +14579,7 @@
+@@ -14580,7 +14579,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -10852,7 +10828,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD6471</td>
<td align=center>USB</td>
-@@ -14591,7 +14590,7 @@
+@@ -14591,7 +14590,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -10861,7 +10837,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD9693</td>
<td align=center>USB</td>
-@@ -14601,7 +14600,7 @@
+@@ -14601,7 +14600,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -10870,7 +10846,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MD9705</td>
<td align=center>USB</td>
-@@ -14611,7 +14610,7 @@
+@@ -14611,7 +14610,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -10879,7 +10855,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MEMOREX">Manufacturer: Memorex</a></h3>
-@@ -14670,7 +14669,7 @@
+@@ -14670,7 +14669,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -10888,7 +10864,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/memorex-scf-9612p.html">SCF 9612P</a></td>
<td align=center>Parport</td>
-@@ -14706,7 +14705,7 @@
+@@ -14706,7 +14705,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -10897,7 +10873,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MICROSTAR">Manufacturer: Microstar</a></h3>
-@@ -14732,7 +14731,7 @@
+@@ -14732,7 +14731,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -10906,7 +10882,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MICROTEK">Manufacturer: Microtek</a></h3>
-@@ -14804,7 +14803,7 @@
+@@ -14804,7 +14803,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -10915,7 +10891,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-filmscan-35.html">FilmScan 35</a></td>
<td align=center>USB</td>
-@@ -14826,7 +14825,7 @@
+@@ -14826,7 +14825,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -10924,7 +10900,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Phantom 636</td>
<td align=center>SCSI</td>
-@@ -14837,7 +14836,7 @@
+@@ -14837,7 +14836,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -10933,7 +10909,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Phantom 636CX</td>
<td align=center>Parport</td>
-@@ -14848,7 +14847,7 @@
+@@ -14848,7 +14847,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -10942,7 +10918,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-5600.html">ScanMaker 5</a></td>
<td align=center>SCSI</td>
-@@ -14870,7 +14869,7 @@
+@@ -14870,7 +14869,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -10951,7 +10927,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker 35t+</td>
<td align=center>SCSI</td>
-@@ -14881,7 +14880,7 @@
+@@ -14881,7 +14880,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -10960,7 +10936,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker 45t</td>
<td align=center>SCSI</td>
-@@ -14892,7 +14891,7 @@
+@@ -14892,7 +14891,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -10969,7 +10945,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 330</td>
<td align=center>SCSI</td>
-@@ -14903,7 +14902,7 @@
+@@ -14903,7 +14902,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -10978,7 +10954,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 336 CX</td>
<td align=center>SCSI</td>
-@@ -14925,7 +14924,7 @@
+@@ -14925,7 +14924,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -10987,7 +10963,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker 600Z(S)</td>
<td align=center>SCSI</td>
-@@ -14936,7 +14935,7 @@
+@@ -14936,7 +14935,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -10996,7 +10972,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 630</td>
<td align=center>SCSI</td>
-@@ -14947,7 +14946,7 @@
+@@ -14947,7 +14946,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11005,7 +10981,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 636</td>
<td align=center>SCSI</td>
-@@ -14958,7 +14957,7 @@
+@@ -14958,7 +14957,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11014,7 +10990,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-1850s.html">Scanmaker 1850S</a></td>
<td align=center>SCSI</td>
-@@ -14980,7 +14979,7 @@
+@@ -14980,7 +14979,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sm3600.sourceforge.net/">sm3600</a>
<br>(0.1)
</td>
@@ -11023,7 +10999,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 3600</td>
<td align=center>USB</td>
-@@ -14991,7 +14990,7 @@
+@@ -14991,7 +14990,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sm3600.sourceforge.net/">sm3600</a>
<br>(0.1)
</td>
@@ -11032,7 +11008,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 3600</td>
<td align=center>USB</td>
-@@ -15002,7 +15001,7 @@
+@@ -15002,7 +15001,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sm3600.sourceforge.net/">sm3600</a>
<br>(0.1)
</td>
@@ -11041,7 +11017,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-3630.html">ScanMaker 3630</a></td>
<td align=center>USB</td>
-@@ -15024,7 +15023,7 @@
+@@ -15024,7 +15023,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sm3600.sourceforge.net/">sm3600</a>
<br>(0.1)
</td>
@@ -11050,7 +11026,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 3700</td>
<td align=center>USB</td>
-@@ -15035,7 +15034,7 @@
+@@ -15035,7 +15034,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sm3600.sourceforge.net/">sm3600</a>
<br>(0.1)
</td>
@@ -11059,7 +11035,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker 3750</td>
<td align=center>USB</td>
-@@ -15046,7 +15045,7 @@
+@@ -15046,7 +15045,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sm3600.sourceforge.net/">sm3600</a>
<br>(0.1)
</td>
@@ -11068,7 +11044,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-3800.html">ScanMaker 3800</a></td>
<td align=center>USB</td>
-@@ -15079,7 +15078,7 @@
+@@ -15079,7 +15078,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.ziplabel.com/sm3840/">sm3840</a>
<br>(1.1)
</td>
@@ -11077,7 +11053,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-3880.html">ScanMaker 3860</a></td>
<td align=center>USB</td>
-@@ -15134,7 +15133,7 @@
+@@ -15134,7 +15133,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.ziplabel.com/sm3840/">sm3840</a>
<br>(1.1)
</td>
@@ -11086,7 +11062,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-4900.html">ScanMaker 4850</a></td>
<td align=center>USB</td>
-@@ -15266,7 +15265,7 @@
+@@ -15266,7 +15265,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11095,7 +11071,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-6700.html">ScanMaker 6700</a></td>
<td align=center>USB IEEE-1394</td>
-@@ -15310,7 +15309,7 @@
+@@ -15310,7 +15309,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11104,7 +11080,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-9800.html">ScanMaker 9800XL</a></td>
<td align=center>USB SCSI</td>
-@@ -15332,7 +15331,7 @@
+@@ -15332,7 +15331,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11113,7 +11089,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker E2</td>
<td align=center>SCSI</td>
-@@ -15343,7 +15342,7 @@
+@@ -15343,7 +15342,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11122,7 +11098,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker E3</td>
<td align=center>SCSI</td>
-@@ -15354,7 +15353,7 @@
+@@ -15354,7 +15353,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11131,7 +11107,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker E3plus</td>
<td align=center>SCSI</td>
-@@ -15365,7 +15364,7 @@
+@@ -15365,7 +15364,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11140,7 +11116,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker E3plus</td>
<td align=center>Parport</td>
-@@ -15376,7 +15375,7 @@
+@@ -15376,7 +15375,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11149,7 +11125,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker E6</td>
<td align=center>SCSI</td>
-@@ -15387,7 +15386,7 @@
+@@ -15387,7 +15386,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11158,7 +11134,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-i320.html">ScanMaker i320</a></td>
<td align=center>USB</td>
-@@ -15409,7 +15408,7 @@
+@@ -15409,7 +15408,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11167,7 +11143,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker IIG</td>
<td align=center>SCSI</td>
-@@ -15420,7 +15419,7 @@
+@@ -15420,7 +15419,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11176,7 +11152,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker IIHR</td>
<td align=center>SCSI</td>
-@@ -15431,7 +15430,7 @@
+@@ -15431,7 +15430,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11185,7 +11161,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker III</td>
<td align=center>SCSI</td>
-@@ -15442,7 +15441,7 @@
+@@ -15442,7 +15441,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11194,7 +11170,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanmaker IISP</td>
<td align=center>SCSI</td>
-@@ -15453,7 +15452,7 @@
+@@ -15453,7 +15452,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -11203,7 +11179,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanmaker-s400.html">ScanMaker S400</a></td>
<td align=center>USB</td>
-@@ -15486,7 +15485,7 @@
+@@ -15486,7 +15485,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11212,7 +11188,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V6USL</td>
<td align=center>USB</td>
-@@ -15497,7 +15496,7 @@
+@@ -15497,7 +15496,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11221,7 +11197,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V6USL</td>
<td align=center>USB</td>
-@@ -15508,7 +15507,7 @@
+@@ -15508,7 +15507,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11230,7 +11206,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V6USL</td>
<td align=center>SCSI</td>
-@@ -15519,7 +15518,7 @@
+@@ -15519,7 +15518,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11239,7 +11215,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V300</td>
<td align=center>Parport</td>
-@@ -15530,7 +15529,7 @@
+@@ -15530,7 +15529,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11248,7 +11224,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V300</td>
<td align=center>SCSI</td>
-@@ -15541,7 +15540,7 @@
+@@ -15541,7 +15540,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11257,7 +11233,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V310</td>
<td align=center>Parport</td>
-@@ -15552,7 +15551,7 @@
+@@ -15552,7 +15551,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11266,7 +11242,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V310</td>
<td align=center>SCSI</td>
-@@ -15563,7 +15562,7 @@
+@@ -15563,7 +15562,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11275,7 +11251,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V600</td>
<td align=center>Parport</td>
-@@ -15574,7 +15573,7 @@
+@@ -15574,7 +15573,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11284,7 +11260,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker V600</td>
<td align=center>SCSI</td>
-@@ -15585,7 +15584,7 @@
+@@ -15585,7 +15584,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11293,7 +11269,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker X6</td>
<td align=center>SCSI</td>
-@@ -15596,7 +15595,7 @@
+@@ -15596,7 +15595,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11302,7 +11278,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker X6EL</td>
<td align=center>SCSI</td>
-@@ -15607,7 +15606,7 @@
+@@ -15607,7 +15606,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11311,7 +11287,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker X6USB</td>
<td align=center>USB</td>
-@@ -15618,7 +15617,7 @@
+@@ -15618,7 +15617,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11320,7 +11296,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMaker X12USL</td>
<td align=center>SCSI</td>
-@@ -15629,7 +15628,7 @@
+@@ -15629,7 +15628,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11329,7 +11305,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/microtek-scanport-3000.html">ScanPort 3000</a></td>
<td align=center>USB</td>
-@@ -15651,7 +15650,7 @@
+@@ -15651,7 +15650,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11338,7 +11314,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SlimScan C6</td>
<td align=center>USB</td>
-@@ -15662,7 +15661,7 @@
+@@ -15662,7 +15661,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -11347,7 +11323,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MINOLTA">Manufacturer: Minolta</a></h3>
-@@ -15689,7 +15688,7 @@
+@@ -15689,7 +15688,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11356,7 +11332,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Dimage Scan Dual II</td>
<td align=center>USB</td>
-@@ -15700,7 +15699,7 @@
+@@ -15700,7 +15699,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11365,7 +11341,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Dimage Scan Dual III</td>
<td align=center>USB</td>
-@@ -15711,7 +15710,7 @@
+@@ -15711,7 +15710,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11374,7 +11350,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Dimage Scan Elite 5400</td>
<td align=center>USB</td>
-@@ -15722,7 +15721,7 @@
+@@ -15722,7 +15721,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11383,7 +11359,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Elite II</td>
<td align=center>USB</td>
-@@ -15733,7 +15732,7 @@
+@@ -15733,7 +15732,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11392,7 +11368,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scan Multi Pro</td>
<td align=center>SCSI</td>
-@@ -15744,7 +15743,7 @@
+@@ -15744,7 +15743,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11401,7 +11377,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MINOLTA-QMS">Manufacturer: Minolta-QMS</a></h3>
-@@ -15769,7 +15768,7 @@
+@@ -15769,7 +15768,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11410,7 +11386,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SC-215</td>
<td align=center>USB</td>
-@@ -15780,7 +15779,7 @@
+@@ -15780,7 +15779,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11419,7 +11395,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MITSUBISHI">Manufacturer: Mitsubishi</a></h3>
-@@ -15807,7 +15806,7 @@
+@@ -15807,7 +15806,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -11428,7 +11404,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Diamondview 650U</td>
<td align=center>USB</td>
-@@ -15818,7 +15817,7 @@
+@@ -15818,7 +15817,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://snapscan.sourceforge.net/">SnapScan</a>
<br>(1.4)
</td>
@@ -11437,7 +11413,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MCA-ADFC</td>
<td align=center>SCSI</td>
-@@ -15829,7 +15828,7 @@
+@@ -15829,7 +15828,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11446,7 +11422,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>S600C</td>
<td align=center>SCSI</td>
-@@ -15840,7 +15839,7 @@
+@@ -15840,7 +15839,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11455,7 +11431,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>S1200C</td>
<td align=center>SCSI</td>
-@@ -15851,7 +15850,7 @@
+@@ -15851,7 +15850,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11464,7 +11440,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SS600</td>
<td align=center>SCSI</td>
-@@ -15862,7 +15861,7 @@
+@@ -15862,7 +15861,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -11473,7 +11449,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-MUSTEK">Manufacturer: Mustek</a></h3>
-@@ -15889,7 +15888,7 @@
+@@ -15889,7 +15888,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11482,7 +11458,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>600 III EP Plus</td>
<td align=center>Parport (EPP)</td>
-@@ -15900,7 +15899,7 @@
+@@ -15900,7 +15899,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11491,7 +11467,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>1200 III EP</td>
<td align=center>Parport</td>
-@@ -15933,7 +15932,7 @@
+@@ -15933,7 +15932,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -11500,7 +11476,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200</td>
<td align=center>USB</td>
-@@ -15944,7 +15943,7 @@
+@@ -15944,7 +15943,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -11509,7 +11485,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200 CS</td>
<td align=center>USB</td>
-@@ -15955,7 +15954,7 @@
+@@ -15955,7 +15954,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11518,7 +11494,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200 CU</td>
<td align=center>USB</td>
-@@ -15966,7 +15965,7 @@
+@@ -15966,7 +15965,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11527,7 +11503,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200 CU Plus</td>
<td align=center>USB</td>
-@@ -15977,7 +15976,7 @@
+@@ -15977,7 +15976,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11536,7 +11512,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200 CU Plus</td>
<td align=center>USB</td>
-@@ -15988,7 +15987,7 @@
+@@ -15988,7 +15987,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11545,7 +11521,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200 F</td>
<td align=center>USB</td>
-@@ -15999,7 +15998,7 @@
+@@ -15999,7 +15998,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/ma1509-backend/">ma1509</a>
<br>(1.0-3)
</td>
@@ -11554,7 +11530,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1200 TA</td>
<td align=center>USB</td>
-@@ -16010,7 +16009,7 @@
+@@ -16010,7 +16009,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11563,7 +11539,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 1248 CU</td>
<td align=center>USB</td>
-@@ -16021,7 +16020,7 @@
+@@ -16021,7 +16020,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11572,7 +11548,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400</td>
<td align=center>USB</td>
-@@ -16032,7 +16031,7 @@
+@@ -16032,7 +16031,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -11581,7 +11557,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400 CS</td>
<td align=center>USB</td>
-@@ -16043,7 +16042,7 @@
+@@ -16043,7 +16042,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11590,7 +11566,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400 CS Plus</td>
<td align=center>USB</td>
-@@ -16054,7 +16053,7 @@
+@@ -16054,7 +16053,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11599,7 +11575,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400 CU</td>
<td align=center>USB</td>
-@@ -16065,7 +16064,7 @@
+@@ -16065,7 +16064,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11608,7 +11584,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400 CU Plus</td>
<td align=center>USB</td>
-@@ -16076,7 +16075,7 @@
+@@ -16076,7 +16075,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11617,7 +11593,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400 TA</td>
<td align=center>USB</td>
-@@ -16087,7 +16086,7 @@
+@@ -16087,7 +16086,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11626,7 +11602,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2400 TA Plus</td>
<td align=center>USB</td>
-@@ -16098,7 +16097,7 @@
+@@ -16098,7 +16097,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11635,7 +11611,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.meier-geinitz.de/sane/misc/mustek-scanners.html#UNSUPPORTED">BearPaw 2400 TA Pro</a></td>
<td align=center>USB</td>
-@@ -16120,7 +16119,7 @@
+@@ -16120,7 +16119,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11644,7 +11620,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/mustek-bearpaw-2448-cu-pro.html">BearPaw 2448 CU Pro</a></td>
<td align=center>USB</td>
-@@ -16142,7 +16141,7 @@
+@@ -16142,7 +16141,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11653,7 +11629,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>BearPaw 2448TA Pro</td>
<td align=center>USB</td>
-@@ -16153,7 +16152,7 @@
+@@ -16153,7 +16152,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek_usb2-backend/">mustek_usb2</a>
<br>(1.0-10)
</td>
@@ -11662,7 +11638,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/mustek-bearpaw-4800ta-pro.html">BearPaw 4800 TA Pro</a></td>
<td align=center>USB</td>
-@@ -16197,7 +16196,7 @@
+@@ -16197,7 +16196,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11671,7 +11647,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 600 II ED</td>
<td align=center>Parport</td>
-@@ -16208,7 +16207,7 @@
+@@ -16208,7 +16207,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11680,7 +11656,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 600 II EP</td>
<td align=center>Parport</td>
-@@ -16219,7 +16218,7 @@
+@@ -16219,7 +16218,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11689,7 +11665,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 600 II N</td>
<td align=center>Proprietary</td>
-@@ -16230,7 +16229,7 @@
+@@ -16230,7 +16229,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11698,7 +11674,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 800 II EP</td>
<td align=center>Parport</td>
-@@ -16252,7 +16251,7 @@
+@@ -16252,7 +16251,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11707,7 +11683,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 1200 A3 Pro</td>
<td align=center>SCSI</td>
-@@ -16263,7 +16262,7 @@
+@@ -16263,7 +16262,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11716,7 +11692,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 1200 III SP</td>
<td align=center>SCSI</td>
-@@ -16274,7 +16273,7 @@
+@@ -16274,7 +16273,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11725,7 +11701,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 1200 LS</td>
<td align=center>SCSI</td>
-@@ -16285,7 +16284,7 @@
+@@ -16285,7 +16284,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11734,7 +11710,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon 1200 SP Pro</td>
<td align=center>SCSI</td>
-@@ -16296,7 +16295,7 @@
+@@ -16296,7 +16295,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11743,7 +11719,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFC-600S</td>
<td align=center>SCSI</td>
-@@ -16307,7 +16306,7 @@
+@@ -16307,7 +16306,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11752,7 +11728,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFC-800S</td>
<td align=center>SCSI</td>
-@@ -16318,7 +16317,7 @@
+@@ -16318,7 +16317,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11761,7 +11737,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFS-1200SP</td>
<td align=center>SCSI</td>
-@@ -16329,7 +16328,7 @@
+@@ -16329,7 +16328,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11770,7 +11746,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFS-6000CX</td>
<td align=center>SCSI</td>
-@@ -16340,7 +16339,7 @@
+@@ -16340,7 +16339,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11779,7 +11755,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFS-6000SP</td>
<td align=center>SCSI</td>
-@@ -16351,7 +16350,7 @@
+@@ -16351,7 +16350,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11788,7 +11764,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFS-8000SP</td>
<td align=center>SCSI</td>
-@@ -16362,7 +16361,7 @@
+@@ -16362,7 +16361,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11797,7 +11773,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFS-12000CX</td>
<td align=center>SCSI</td>
-@@ -16373,7 +16372,7 @@
+@@ -16373,7 +16372,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11806,7 +11782,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Paragon MFS-12000SP</td>
<td align=center>SCSI</td>
-@@ -16384,7 +16383,7 @@
+@@ -16384,7 +16383,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11815,7 +11791,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Plug-n-Scan 2400 M</td>
<td align=center>USB</td>
-@@ -16395,7 +16394,7 @@
+@@ -16395,7 +16394,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11824,7 +11800,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Plug-n-Scan 2400 MT</td>
<td align=center>USB</td>
-@@ -16406,7 +16405,7 @@
+@@ -16406,7 +16405,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11833,7 +11809,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 600 CP</td>
<td align=center>Parport (EPP)</td>
-@@ -16417,7 +16416,7 @@
+@@ -16417,7 +16416,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11842,7 +11818,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 600 CU</td>
<td align=center>USB</td>
-@@ -16428,7 +16427,7 @@
+@@ -16428,7 +16427,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek_usb-backend/">mustek_usb</a>
<br>(1.0-18)
</td>
@@ -11851,7 +11827,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 600 SEP</td>
<td align=center>Parport (EPP)</td>
-@@ -16439,7 +16438,7 @@
+@@ -16439,7 +16438,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11860,7 +11836,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.meier-geinitz.de/sane/misc/mustek-scanners.html#UNSUPPORTED">ScanExpress 600 USB</a></td>
<td align=center>USB</td>
-@@ -16461,7 +16460,7 @@
+@@ -16461,7 +16460,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11869,7 +11845,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 1200 CP+</td>
<td align=center>Parport (EPP)</td>
-@@ -16472,7 +16471,7 @@
+@@ -16472,7 +16471,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11878,7 +11854,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 1200 CU</td>
<td align=center>USB</td>
-@@ -16483,7 +16482,7 @@
+@@ -16483,7 +16482,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek_usb-backend/">mustek_usb</a>
<br>(1.0-18)
</td>
@@ -11887,7 +11863,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 1200 CU Plus</td>
<td align=center>USB</td>
-@@ -16494,7 +16493,7 @@
+@@ -16494,7 +16493,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek_usb-backend/">mustek_usb</a>
<br>(1.0-18)
</td>
@@ -11896,7 +11872,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 1200 FS</td>
<td align=center>SCSI</td>
-@@ -16505,7 +16504,7 @@
+@@ -16505,7 +16504,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11905,7 +11881,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 1200 UB</td>
<td align=center>USB</td>
-@@ -16516,7 +16515,7 @@
+@@ -16516,7 +16515,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek_usb-backend/">mustek_usb</a>
<br>(1.0-18)
</td>
@@ -11914,7 +11890,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 1200 UB Plus</td>
<td align=center>USB</td>
-@@ -16527,7 +16526,7 @@
+@@ -16527,7 +16526,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11923,7 +11899,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.meier-geinitz.de/sane/misc/mustek-scanners.html#UNSUPPORTED">ScanExpress 1200 USB</a></td>
<td align=center>USB</td>
-@@ -16560,7 +16559,7 @@
+@@ -16560,7 +16559,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11932,7 +11908,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 2400 USB</td>
<td align=center>USB</td>
-@@ -16571,7 +16570,7 @@
+@@ -16571,7 +16570,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11941,7 +11917,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 6000 P</td>
<td align=center>Parport (EPP)</td>
-@@ -16582,7 +16581,7 @@
+@@ -16582,7 +16581,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -11950,7 +11926,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 6000SP</td>
<td align=center>SCSI</td>
-@@ -16593,7 +16592,7 @@
+@@ -16593,7 +16592,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11959,7 +11935,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://penguin-breeder.org/?page=mustek_pp">ScanExpress 12000 P</a></td>
<td align=center>Parport</td>
-@@ -16615,7 +16614,7 @@
+@@ -16615,7 +16614,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11968,7 +11944,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress 12000SP Plus</td>
<td align=center>SCSI</td>
-@@ -16626,7 +16625,7 @@
+@@ -16626,7 +16625,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11977,7 +11953,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress A3 EP</td>
<td align=center>Parport</td>
-@@ -16648,7 +16647,7 @@
+@@ -16648,7 +16647,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -11986,7 +11962,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanExpress A3 USB</td>
<td align=center>USB</td>
-@@ -16659,7 +16658,7 @@
+@@ -16659,7 +16658,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -11995,7 +11971,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.meier-geinitz.de/sane/misc/mustek-scanners.html#UNSUPPORTED">ScanExpress CardSmart</a></td>
<td align=center>USB</td>
-@@ -16681,7 +16680,7 @@
+@@ -16681,7 +16680,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -12004,7 +11980,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMagic 600 II SP</td>
<td align=center>SCSI</td>
-@@ -16692,7 +16691,7 @@
+@@ -16692,7 +16691,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -12013,7 +11989,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMagic 1200 UB Plus</td>
<td align=center>USB</td>
-@@ -16703,7 +16702,7 @@
+@@ -16703,7 +16702,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12022,7 +11998,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMagic 4800 P</td>
<td align=center>Parport (EPP)</td>
-@@ -16714,7 +16713,7 @@
+@@ -16714,7 +16713,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -12031,7 +12007,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMagic 4830S</td>
<td align=center>SCSI</td>
-@@ -16725,7 +16724,7 @@
+@@ -16725,7 +16724,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -12040,7 +12016,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://lists.alioth.debian.org/pipermail/sane-devel/2003-May/007682.html">ScanMagic 9636P</a></td>
<td align=center>Parport</td>
-@@ -16747,7 +16746,7 @@
+@@ -16747,7 +16746,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -12049,7 +12025,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanMagic 9636S Plus</td>
<td align=center>SCSI</td>
-@@ -16758,7 +16757,7 @@
+@@ -16758,7 +16757,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -12058,7 +12034,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>TwainScan II SP</td>
<td align=center>SCSI</td>
-@@ -16769,7 +16768,7 @@
+@@ -16769,7 +16768,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -12067,7 +12043,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-NEATRECEIPTS">Manufacturer: NeatReceipts</a></h3>
-@@ -16794,7 +16793,7 @@
+@@ -16794,7 +16793,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12076,7 +12052,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Scanalizer Professional 2.5</td>
<td align=center>USB</td>
-@@ -16805,7 +16804,7 @@
+@@ -16805,7 +16804,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12085,7 +12061,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-NEC">Manufacturer: NEC</a></h3>
-@@ -16832,7 +16831,7 @@
+@@ -16832,7 +16831,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www5a.biglobe.ne.jp/~saetaka/">nec</a>
<br>(0.12)
</td>
@@ -12094,7 +12070,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/nec-petiscan.html">Petiscan</a></td>
<td align=center>USB</td>
-@@ -16868,7 +16867,7 @@
+@@ -16868,7 +16867,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -12103,7 +12079,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-NIKON">Manufacturer: Nikon</a></h3>
-@@ -16895,7 +16894,7 @@
+@@ -16895,7 +16894,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -12112,7 +12088,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AX-210</td>
<td align=center>SCSI</td>
-@@ -16906,7 +16905,7 @@
+@@ -16906,7 +16905,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -12121,7 +12097,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Coolscan III</td>
<td align=center>SCSI</td>
-@@ -16916,7 +16915,7 @@
+@@ -16916,7 +16915,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12130,7 +12106,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/nikon-ls50-ed.html">Coolscan V ED</a></td>
<td align=center>USB</td>
-@@ -16926,7 +16925,7 @@
+@@ -16926,7 +16925,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12139,7 +12115,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/nikon-ls50-ed.html">Coolscan V ED</a></td>
<td align=center>USB</td>
-@@ -16937,7 +16936,7 @@
+@@ -16937,7 +16936,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12148,7 +12124,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Coolspan IV</td>
<td align=center>USB</td>
-@@ -16947,7 +16946,7 @@
+@@ -16947,7 +16946,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12157,7 +12133,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 30</td>
<td align=center>SCSI</td>
-@@ -16957,7 +16956,7 @@
+@@ -16957,7 +16956,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12166,7 +12142,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 30</td>
<td align=center>SCSI</td>
-@@ -16968,7 +16967,7 @@
+@@ -16968,7 +16967,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12175,7 +12151,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 40 ED</td>
<td align=center>USB</td>
-@@ -16978,7 +16977,7 @@
+@@ -16978,7 +16977,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12184,7 +12160,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 40 ED</td>
<td align=center>USB</td>
-@@ -16989,7 +16988,7 @@
+@@ -16989,7 +16988,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12193,7 +12169,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/nikon-ls50-ed.html">LS 50 ED</a></td>
<td align=center>USB</td>
-@@ -16999,7 +16998,7 @@
+@@ -16999,7 +16998,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12202,7 +12178,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 50 ED</td>
<td align=center>USB</td>
-@@ -17010,7 +17009,7 @@
+@@ -17010,7 +17009,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12211,7 +12187,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 2000</td>
<td align=center>SCSI</td>
-@@ -17020,7 +17019,7 @@
+@@ -17020,7 +17019,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12220,7 +12196,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 2000</td>
<td align=center>SCSI</td>
-@@ -17031,7 +17030,7 @@
+@@ -17031,7 +17030,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12229,7 +12205,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 4000 ED</td>
<td align=center>IEEE-1394</td>
-@@ -17041,7 +17040,7 @@
+@@ -17041,7 +17040,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12238,7 +12214,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 4000 ED</td>
<td align=center>IEEE-1394</td>
-@@ -17052,7 +17051,7 @@
+@@ -17052,7 +17051,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12247,7 +12223,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 8000 ED</td>
<td align=center>IEEE-1394</td>
-@@ -17062,7 +17061,7 @@
+@@ -17062,7 +17061,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12256,7 +12232,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS 8000 ED</td>
<td align=center>IEEE-1394</td>
-@@ -17073,7 +17072,7 @@
+@@ -17073,7 +17072,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12265,7 +12241,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS-20</td>
<td align=center>SCSI</td>
-@@ -17084,7 +17083,7 @@
+@@ -17084,7 +17083,7 @@ coolscan3<br>(1.0.0)
<a href="http://andreas.rick.free.fr/sane/">coolscan</a>
<br>(0.4.3)
</td>
@@ -12274,7 +12250,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS-30</td>
<td align=center>SCSI</td>
-@@ -17095,7 +17094,7 @@
+@@ -17095,7 +17094,7 @@ coolscan3<br>(1.0.0)
<a href="http://andreas.rick.free.fr/sane/">coolscan</a>
<br>(0.4.3)
</td>
@@ -12283,7 +12259,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS-1000</td>
<td align=center>SCSI</td>
-@@ -17106,7 +17105,7 @@
+@@ -17106,7 +17105,7 @@ coolscan3<br>(1.0.0)
<a href="http://andreas.rick.free.fr/sane/">coolscan</a>
<br>(0.4.3)
</td>
@@ -12292,7 +12268,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>LS-2000</td>
<td align=center>SCSI</td>
-@@ -17117,7 +17116,7 @@
+@@ -17117,7 +17116,7 @@ coolscan3<br>(1.0.0)
<a href="http://andreas.rick.free.fr/sane/">coolscan</a>
<br>(0.4.3)
</td>
@@ -12301,7 +12277,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/nikon-ls9000-ed.html">LS-9000 ED</a></td>
<td align=center>IEEE-1394</td>
-@@ -17138,7 +17137,7 @@
+@@ -17138,7 +17137,7 @@ coolscan3<br>(1.0.0)
<td align=center>
coolscan3<br>(1.0.0)
</td>
@@ -12310,7 +12286,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/nikon-ls5000-ed.html">Super Coolscan LS-5000 ED</a></td>
<td align=center>USB</td>
-@@ -17149,7 +17148,7 @@
+@@ -17149,7 +17148,7 @@ coolscan3<br>(1.0.0)
<a href="http://coolscan2.sourceforge.net/">coolscan2</a>
<br>(0.1.8)
</td>
@@ -12319,7 +12295,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-NORTEK">Manufacturer: Nortek</a></h3>
-@@ -17174,7 +17173,7 @@
+@@ -17174,7 +17173,7 @@ coolscan3<br>(1.0.0)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12328,7 +12304,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-OKI">Manufacturer: OKI</a></h3>
-@@ -17199,7 +17198,7 @@
+@@ -17199,7 +17198,7 @@ coolscan3<br>(1.0.0)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -12337,7 +12313,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-OLIVETTI">Manufacturer: Olivetti</a></h3>
-@@ -17394,7 +17393,7 @@
+@@ -17394,7 +17393,7 @@ coolscan3<br>(1.0.0)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12346,7 +12322,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Diamond 1200 Plus</td>
<td align=center>USB</td>
-@@ -17405,7 +17404,7 @@
+@@ -17405,7 +17404,7 @@ coolscan3<br>(1.0.0)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12355,7 +12331,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Diamond 1200 Plus</td>
<td align=center>USB</td>
-@@ -17416,7 +17415,7 @@
+@@ -17416,7 +17415,7 @@ coolscan3<br>(1.0.0)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12364,7 +12340,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Diamond 2450</td>
<td align=center>USB</td>
-@@ -17427,7 +17426,7 @@
+@@ -17427,7 +17426,7 @@ coolscan3<br>(1.0.0)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12373,7 +12349,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-PANASONIC">Manufacturer: Panasonic</a></h3>
-@@ -17453,7 +17452,7 @@
+@@ -17453,7 +17452,7 @@ coolscan3<br>(1.0.0)
<td align=center>
kvs1025<br>(unmaintained)
</td>
@@ -12382,7 +12358,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S1025C</td>
<td align=center>USB</td>
-@@ -17463,7 +17462,7 @@
+@@ -17463,7 +17462,7 @@ kvs1025<br>(unmaintained)
<td align=center>
kvs1025<br>(unmaintained)
</td>
@@ -12391,7 +12367,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S1045C</td>
<td align=center>USB</td>
-@@ -17473,7 +17472,7 @@
+@@ -17473,7 +17472,7 @@ kvs1025<br>(unmaintained)
<td align=center>
kvs1025<br>(unmaintained)
</td>
@@ -12400,7 +12376,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2025C</td>
<td align=center>SCSI</td>
-@@ -17484,7 +17483,7 @@
+@@ -17484,7 +17483,7 @@ kvs1025<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12409,7 +12385,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2026C</td>
<td align=center>USB SCSI</td>
-@@ -17494,7 +17493,7 @@
+@@ -17494,7 +17493,7 @@ kvs1025<br>(unmaintained)
<td align=center>
kvs20xx<br>(unmaintained)
</td>
@@ -12418,7 +12394,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2028C</td>
<td align=center>USB</td>
-@@ -17504,7 +17503,7 @@
+@@ -17504,7 +17503,7 @@ kvs20xx<br>(unmaintained)
<td align=center>
kvs20xx<br>(unmaintained)
</td>
@@ -12427,7 +12403,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2045C</td>
<td align=center>SCSI</td>
-@@ -17515,7 +17514,7 @@
+@@ -17515,7 +17514,7 @@ kvs20xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12436,7 +12412,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2046C</td>
<td align=center>USB SCSI</td>
-@@ -17525,7 +17524,7 @@
+@@ -17525,7 +17524,7 @@ kvs20xx<br>(unmaintained)
<td align=center>
kvs20xx<br>(unmaintained)
</td>
@@ -12445,7 +12421,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2048C</td>
<td align=center>USB</td>
-@@ -17535,7 +17534,7 @@
+@@ -17535,7 +17534,7 @@ kvs20xx<br>(unmaintained)
<td align=center>
kvs20xx<br>(unmaintained)
</td>
@@ -12454,7 +12430,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2055L</td>
<td align=center>SCSI</td>
-@@ -17568,7 +17567,7 @@
+@@ -17568,7 +17567,7 @@ kvs20xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12463,7 +12439,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S2065W</td>
<td align=center>SCSI</td>
-@@ -17633,7 +17632,7 @@
+@@ -17633,7 +17632,7 @@ kvs20xx<br>(unmaintained)
<td align=center>
kvs40xx<br>(unmaintained)
</td>
@@ -12472,7 +12448,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S4085C</td>
<td align=center>USB</td>
-@@ -17643,7 +17642,7 @@
+@@ -17643,7 +17642,7 @@ kvs40xx<br>(unmaintained)
<td align=center>
kvs40xx<br>(unmaintained)
</td>
@@ -12481,7 +12457,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-S6040W</td>
<td align=center>SCSI</td>
-@@ -17708,7 +17707,7 @@
+@@ -17708,7 +17707,7 @@ kvs40xx<br>(unmaintained)
<td align=center>
kvs40xx<br>(unmaintained)
</td>
@@ -12490,7 +12466,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS25</td>
<td align=center>SCSI</td>
-@@ -17719,7 +17718,7 @@
+@@ -17719,7 +17718,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12499,7 +12475,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS25D</td>
<td align=center>SCSI</td>
-@@ -17730,7 +17729,7 @@
+@@ -17730,7 +17729,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12508,7 +12484,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS50</td>
<td align=center>SCSI</td>
-@@ -17741,7 +17740,7 @@
+@@ -17741,7 +17740,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12517,7 +12493,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS50EX</td>
<td align=center>SCSI</td>
-@@ -17752,7 +17751,7 @@
+@@ -17752,7 +17751,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12526,7 +12502,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS55</td>
<td align=center>SCSI</td>
-@@ -17763,7 +17762,7 @@
+@@ -17763,7 +17762,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12535,7 +12511,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS55EX</td>
<td align=center>SCSI</td>
-@@ -17774,7 +17773,7 @@
+@@ -17774,7 +17773,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12544,7 +12520,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS080</td>
<td align=center>USB</td>
-@@ -17785,7 +17784,7 @@
+@@ -17785,7 +17784,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -12553,7 +12529,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS850</td>
<td align=center>SCSI</td>
-@@ -17796,7 +17795,7 @@
+@@ -17796,7 +17795,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12562,7 +12538,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS855</td>
<td align=center>SCSI</td>
-@@ -17807,7 +17806,7 @@
+@@ -17807,7 +17806,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane">matsushita</a>
<br>(1.0-7)
</td>
@@ -12571,7 +12547,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>KV-SS905C</td>
<td align=center>SCSI</td>
-@@ -17845,7 +17844,7 @@
+@@ -17845,7 +17844,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -12580,7 +12556,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DSmobile 600</td>
<td align=center>USB</td>
-@@ -17856,7 +17855,7 @@
+@@ -17856,7 +17855,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -12589,7 +12565,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/syscan-travelscan-pro.html">DSmobile USB</a></td>
<td align=center>USB</td>
-@@ -17950,7 +17949,7 @@
+@@ -17950,7 +17949,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12598,7 +12574,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce 636S</td>
<td align=center>SCSI</td>
-@@ -17961,7 +17960,7 @@
+@@ -17961,7 +17960,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12607,7 +12583,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce 1230S</td>
<td align=center>SCSI</td>
-@@ -17972,7 +17971,7 @@
+@@ -17972,7 +17971,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12616,7 +12592,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce 1236S</td>
<td align=center>SCSI</td>
-@@ -17983,7 +17982,7 @@
+@@ -17983,7 +17982,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12625,7 +12601,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce II</td>
<td align=center>SCSI</td>
-@@ -17994,7 +17993,7 @@
+@@ -17994,7 +17993,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12634,7 +12610,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce II Plus</td>
<td align=center>SCSI</td>
-@@ -18005,7 +18004,7 @@
+@@ -18005,7 +18004,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12643,7 +12619,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce III</td>
<td align=center>SCSI</td>
-@@ -18016,7 +18015,7 @@
+@@ -18016,7 +18015,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12652,7 +12628,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce III Plus</td>
<td align=center>SCSI</td>
-@@ -18027,7 +18026,7 @@
+@@ -18027,7 +18026,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12661,7 +12637,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce Plus</td>
<td align=center>SCSI</td>
-@@ -18038,7 +18037,7 @@
+@@ -18038,7 +18037,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12670,7 +12646,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce ScanMedia</td>
<td align=center>SCSI</td>
-@@ -18049,7 +18048,7 @@
+@@ -18049,7 +18048,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12679,7 +12655,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce ScanMedia II</td>
<td align=center>SCSI</td>
-@@ -18060,7 +18059,7 @@
+@@ -18060,7 +18059,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12688,7 +12664,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ScanAce V</td>
<td align=center>SCSI</td>
-@@ -18071,7 +18070,7 @@
+@@ -18071,7 +18070,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.munton.demon.co.uk/sane">pie</a>
<br>(1.0)
</td>
@@ -12697,7 +12673,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-PIOTECH">Manufacturer: PIOTECH</a></h3>
-@@ -18098,7 +18097,7 @@
+@@ -18098,7 +18097,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco3">teco3</a>
<br>(1.0-1)
</td>
@@ -12706,7 +12682,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-PLANON">Manufacturer: PLANon</a></h3>
-@@ -18174,7 +18173,7 @@
+@@ -18174,7 +18173,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12715,7 +12691,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OptiCard 600+</td>
<td align=center>USB</td>
-@@ -18196,7 +18195,7 @@
+@@ -18196,7 +18195,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -12724,7 +12700,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/plustek-opticfilm-7200.html">OpticFilm 7200</a></td>
<td align=center>USB</td>
-@@ -18229,7 +18228,7 @@
+@@ -18229,7 +18228,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12733,7 +12709,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 1212U</td>
<td align=center>USB</td>
-@@ -18240,7 +18239,7 @@
+@@ -18240,7 +18239,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/u12/">u12</a>
<br>(0.02)
</td>
@@ -12742,7 +12718,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 1236P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18251,7 +18250,7 @@
+@@ -18251,7 +18250,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12751,7 +12727,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 1248U</td>
<td align=center>USB</td>
-@@ -18262,7 +18261,7 @@
+@@ -18262,7 +18261,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12760,7 +12736,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 1248U</td>
<td align=center>USB</td>
-@@ -18273,7 +18272,7 @@
+@@ -18273,7 +18272,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12769,7 +12745,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 2400SP</td>
<td align=center>SCSI</td>
-@@ -18284,7 +18283,7 @@
+@@ -18284,7 +18283,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco3">teco3</a>
<br>(1.0-1)
</td>
@@ -12778,7 +12754,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 4800P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18295,7 +18294,7 @@
+@@ -18295,7 +18294,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12787,7 +12763,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 4830P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18306,7 +18305,7 @@
+@@ -18306,7 +18305,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12796,7 +12772,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 4831P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18317,7 +18316,7 @@
+@@ -18317,7 +18316,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12805,7 +12781,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 9600P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18328,7 +18327,7 @@
+@@ -18328,7 +18327,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12814,7 +12790,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 9630P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18339,7 +18338,7 @@
+@@ -18339,7 +18338,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12823,7 +12799,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 9630PL</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18350,7 +18349,7 @@
+@@ -18350,7 +18349,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12832,7 +12808,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 9636P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18361,7 +18360,7 @@
+@@ -18361,7 +18360,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12841,7 +12817,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 9636P+/Turbo</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18372,7 +18371,7 @@
+@@ -18372,7 +18371,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12850,7 +12826,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 9636T</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18383,7 +18382,7 @@
+@@ -18383,7 +18382,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12859,7 +12835,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 12000P/96000P</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18394,7 +18393,7 @@
+@@ -18394,7 +18393,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12868,7 +12844,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 12000T</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18405,7 +18404,7 @@
+@@ -18405,7 +18404,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12877,7 +12853,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro 19200S</td>
<td align=center>SCSI</td>
-@@ -18416,7 +18415,7 @@
+@@ -18416,7 +18415,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www4.infi.net/~cpinkham/sane/sane-artec-doc.html">artec</a>
<br>(unmaintained)
</td>
@@ -12886,7 +12862,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro A3U</td>
<td align=center>USB</td>
-@@ -18438,7 +18437,7 @@
+@@ -18438,7 +18437,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12895,7 +12871,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro P8</td>
<td align=center>Parport</td>
-@@ -18449,7 +18448,7 @@
+@@ -18449,7 +18448,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12904,7 +12880,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro P12</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18460,7 +18459,7 @@
+@@ -18460,7 +18459,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12913,7 +12889,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro PT12</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -18471,7 +18470,7 @@
+@@ -18471,7 +18470,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -12922,7 +12898,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro S6</td>
<td align=center>USB</td>
-@@ -18504,7 +18503,7 @@
+@@ -18504,7 +18503,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12931,7 +12907,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/plustek-opticpro-st24.html">OpticPro S24</a></td>
<td align=center>USB</td>
-@@ -18526,7 +18525,7 @@
+@@ -18526,7 +18525,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12940,7 +12916,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/plustek-opticpro-s28.html">OpticPro S28</a></td>
<td align=center>USB</td>
-@@ -18559,7 +18558,7 @@
+@@ -18559,7 +18558,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12949,7 +12925,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/plustek-opticpro-st16.html">OpticPro ST16</a></td>
<td align=center>USB</td>
-@@ -18647,7 +18646,7 @@
+@@ -18647,7 +18646,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/u12/">u12</a>
<br>(0.02)
</td>
@@ -12958,7 +12934,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro U12</td>
<td align=center>USB</td>
-@@ -18658,7 +18657,7 @@
+@@ -18658,7 +18657,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -12967,7 +12943,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro U16B</td>
<td align=center>USB</td>
-@@ -18669,7 +18668,7 @@
+@@ -18669,7 +18668,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12976,7 +12952,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro U16B+</td>
<td align=center>USB</td>
-@@ -18680,7 +18679,7 @@
+@@ -18680,7 +18679,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -12985,7 +12961,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro U24</td>
<td align=center>USB</td>
-@@ -18691,7 +18690,7 @@
+@@ -18691,7 +18690,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -12994,7 +12970,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro U24</td>
<td align=center>USB</td>
-@@ -18702,7 +18701,7 @@
+@@ -18702,7 +18701,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13003,7 +12979,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro UA18</td>
<td align=center>USB</td>
-@@ -18724,7 +18723,7 @@
+@@ -18724,7 +18723,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/u12/">u12</a>
<br>(0.02)
</td>
@@ -13012,7 +12988,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro UT12</td>
<td align=center>USB</td>
-@@ -18735,7 +18734,7 @@
+@@ -18735,7 +18734,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13021,7 +12997,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro UT12</td>
<td align=center>USB</td>
-@@ -18746,7 +18745,7 @@
+@@ -18746,7 +18745,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13030,7 +13006,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro UT16</td>
<td align=center>USB</td>
-@@ -18757,7 +18756,7 @@
+@@ -18757,7 +18756,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13039,7 +13015,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro UT16B</td>
<td align=center>USB</td>
-@@ -18768,7 +18767,7 @@
+@@ -18768,7 +18767,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -13048,7 +13024,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticPro UT24</td>
<td align=center>USB</td>
-@@ -18779,7 +18778,7 @@
+@@ -18779,7 +18778,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13057,7 +13033,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/plustek-opticslim-500.html">OpticSlim 500</a></td>
<td align=center>USB</td>
-@@ -18801,7 +18800,7 @@
+@@ -18801,7 +18800,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -13066,7 +13042,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticSlim 2400</td>
<td align=center>USB</td>
-@@ -18812,7 +18811,7 @@
+@@ -18812,7 +18811,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -13075,7 +13051,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticSlim 2400 plus</td>
<td align=center>USB</td>
-@@ -18823,7 +18822,7 @@
+@@ -18823,7 +18822,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -13084,7 +13060,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/plustek-opticslim-2420.html">OpticSlim 2420</a></td>
<td align=center>USB</td>
-@@ -18856,7 +18855,7 @@
+@@ -18856,7 +18855,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -13093,7 +13069,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OpticWorks 2000</td>
<td align=center>Parport</td>
-@@ -19015,7 +19014,7 @@
+@@ -19015,7 +19014,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13102,7 +13078,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Q-Scan USB201 (A6 portable scanner)</td>
<td align=center>USB</td>
-@@ -19026,7 +19025,7 @@
+@@ -19026,7 +19025,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -13111,7 +13087,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-PRIMAX">Manufacturer: Primax</a></h3>
-@@ -19086,7 +19085,7 @@
+@@ -19086,7 +19085,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -13120,7 +13096,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://home2.swipnet.se/~w-25069/pxscan.html">Colorado Direct 600</a></td>
<td align=center>Parport</td>
-@@ -19130,7 +19129,7 @@
+@@ -19130,7 +19129,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -13129,7 +13105,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Compact 4800 Direct-30</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -19141,7 +19140,7 @@
+@@ -19141,7 +19140,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -13138,7 +13114,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Compact 4800 SCSI</td>
<td align=center>SCSI</td>
-@@ -19152,7 +19151,7 @@
+@@ -19152,7 +19151,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -13147,7 +13123,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Compact 9600 Direct-30</td>
<td align=center>Parport (SPP, EPP)</td>
-@@ -19163,7 +19162,7 @@
+@@ -19163,7 +19162,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek_pp/">plustek_pp</a>
<br>(0.43)
</td>
@@ -13156,7 +13132,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>G2-300</td>
<td align=center>USB</td>
-@@ -19251,7 +19250,7 @@
+@@ -19251,7 +19250,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13165,7 +13141,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>OneTouch 5300</td>
<td align=center>Parport</td>
-@@ -19284,7 +19283,7 @@
+@@ -19284,7 +19283,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.sane-project.org/">p5</a>
<br>(1)
</td>
@@ -13174,7 +13150,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/visioneer-onetouch4400.html">Primascan Colorado 2600u</a></td>
<td align=center>USB</td>
-@@ -19306,7 +19305,7 @@
+@@ -19306,7 +19305,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13183,7 +13159,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Profi 19200</td>
<td align=center>SCSI</td>
-@@ -19317,7 +19316,7 @@
+@@ -19317,7 +19316,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13192,7 +13168,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ReadyScan 636i</td>
<td align=center>USB</td>
-@@ -19489,7 +19488,7 @@
+@@ -19489,7 +19488,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13201,7 +13177,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>APOLLO Express 6</td>
<td align=center>SCSI</td>
-@@ -19500,7 +19499,7 @@
+@@ -19500,7 +19499,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13210,7 +13186,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVEC 2400</td>
<td align=center>SCSI</td>
-@@ -19511,7 +19510,7 @@
+@@ -19511,7 +19510,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13219,7 +13195,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVEC 2412</td>
<td align=center>SCSI</td>
-@@ -19522,7 +19521,7 @@
+@@ -19522,7 +19521,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13228,7 +13204,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVEC 4800</td>
<td align=center>SCSI</td>
-@@ -19533,7 +19532,7 @@
+@@ -19533,7 +19532,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13237,7 +13213,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVEC 4816</td>
<td align=center>SCSI</td>
-@@ -19544,7 +19543,7 @@
+@@ -19544,7 +19543,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13246,7 +13222,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVEC II E3</td>
<td align=center>Parport</td>
-@@ -19566,7 +19565,7 @@
+@@ -19566,7 +19565,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13255,7 +13231,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>AVEC Super 3</td>
<td align=center>SCSI</td>
-@@ -19577,7 +19576,7 @@
+@@ -19577,7 +19576,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13264,7 +13240,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/relisys-eclipse-1200u.html">Eclipse 1200U</a></td>
<td align=center>USB</td>
-@@ -19610,7 +19609,7 @@
+@@ -19610,7 +19609,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco3">teco3</a>
<br>(1.0-1)
</td>
@@ -13273,7 +13249,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 2400</td>
<td align=center>SCSI</td>
-@@ -19621,7 +19620,7 @@
+@@ -19621,7 +19620,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13282,7 +13258,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 2412</td>
<td align=center>SCSI</td>
-@@ -19632,7 +19631,7 @@
+@@ -19632,7 +19631,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13291,7 +13267,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 4816</td>
<td align=center>SCSI</td>
-@@ -19643,7 +19642,7 @@
+@@ -19643,7 +19642,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13300,7 +13276,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 4830</td>
<td align=center>SCSI</td>
-@@ -19654,7 +19653,7 @@
+@@ -19654,7 +19653,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13309,7 +13285,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 9600</td>
<td align=center>SCSI</td>
-@@ -19665,7 +19664,7 @@
+@@ -19665,7 +19664,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13318,7 +13294,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 9612</td>
<td align=center>SCSI</td>
-@@ -19676,7 +19675,7 @@
+@@ -19676,7 +19675,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13327,7 +13303,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 9624</td>
<td align=center>SCSI</td>
-@@ -19687,7 +19686,7 @@
+@@ -19687,7 +19686,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13336,7 +13312,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI 9630</td>
<td align=center>SCSI</td>
-@@ -19698,7 +19697,7 @@
+@@ -19698,7 +19697,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13345,7 +13321,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI DS6</td>
<td align=center>SCSI</td>
-@@ -19709,7 +19708,7 @@
+@@ -19709,7 +19708,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13354,7 +13330,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RELI DS15</td>
<td align=center>SCSI</td>
-@@ -19720,7 +19719,7 @@
+@@ -19720,7 +19719,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco">teco1</a>
<br>(1.0-10)
</td>
@@ -13363,7 +13339,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCORPIO Pro</td>
<td align=center>SCSI</td>
-@@ -19731,7 +19730,7 @@
+@@ -19731,7 +19730,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13372,7 +13348,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCORPIO Pro-S</td>
<td align=center>SCSI</td>
-@@ -19742,7 +19741,7 @@
+@@ -19742,7 +19741,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13381,7 +13357,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCORPIO Super 3</td>
<td align=center>SCSI</td>
-@@ -19753,7 +19752,7 @@
+@@ -19753,7 +19752,7 @@ kvs40xx<br>(unmaintained)
<a href="http://gkall.hobby.nl/teco2.html">teco2</a>
<br>(1.0-9)
</td>
@@ -13390,7 +13366,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/relisys-scorpio-ultra3.html">Scorpio Ultra 3</a></td>
<td align=center>USB</td>
-@@ -19789,7 +19788,7 @@
+@@ -19789,7 +19788,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -13399,7 +13375,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>RevScan Orange R48Ti</td>
<td align=center>USB</td>
-@@ -19800,7 +19799,7 @@
+@@ -19800,7 +19799,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/u12/">u12</a>
<br>(0.02)
</td>
@@ -13408,7 +13384,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-RICOH">Manufacturer: Ricoh</a></h3>
-@@ -19827,7 +19826,7 @@
+@@ -19827,7 +19826,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/ibm-backend/">ibm</a>
<br>(1.0-4)
</td>
@@ -13417,7 +13393,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>IS-410</td>
<td align=center>SCSI</td>
-@@ -19838,7 +19837,7 @@
+@@ -19838,7 +19837,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.acjlaw.net:8080/~jeremy/Ricoh/">hs2p</a>
<br>(1.00)
</td>
@@ -13426,7 +13402,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>IS-420</td>
<td align=center>SCSI</td>
-@@ -19849,7 +19848,7 @@
+@@ -19849,7 +19848,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/ibm-backend/">ibm</a>
<br>(1.0-4)
</td>
@@ -13435,7 +13411,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>IS-430</td>
<td align=center>SCSI</td>
-@@ -19860,7 +19859,7 @@
+@@ -19860,7 +19859,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/ibm-backend/">ibm</a>
<br>(1.0-4)
</td>
@@ -13444,7 +13420,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>IS-430</td>
<td align=center>SCSI</td>
-@@ -19871,7 +19870,7 @@
+@@ -19871,7 +19870,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.acjlaw.net:8080/~jeremy/Ricoh/">hs2p</a>
<br>(1.00)
</td>
@@ -13453,7 +13429,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>IS450</td>
<td align=center>SCSI</td>
-@@ -19882,7 +19881,7 @@
+@@ -19882,7 +19881,7 @@ kvs40xx<br>(unmaintained)
<a href="http://www.acjlaw.net:8080/~jeremy/Ricoh/">hs2p</a>
<br>(1.00)
</td>
@@ -13462,7 +13438,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Ricoh IS50</td>
<td align=center>SCSI</td>
-@@ -19892,7 +19891,7 @@
+@@ -19892,7 +19891,7 @@ kvs40xx<br>(unmaintained)
<td align=center>
ricoh<br>(unmaintained)
</td>
@@ -13471,7 +13447,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Ricoh IS60</td>
<td align=center>SCSI</td>
-@@ -19902,7 +19901,7 @@
+@@ -19902,7 +19901,7 @@ ricoh<br>(unmaintained)
<td align=center>
ricoh<br>(unmaintained)
</td>
@@ -13480,7 +13456,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-SAMSUNG">Manufacturer: Samsung</a></h3>
-@@ -19928,7 +19927,7 @@
+@@ -19928,7 +19927,7 @@ ricoh<br>(unmaintained)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13489,7 +13465,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-2160</td>
<td align=center>USB</td>
-@@ -19938,7 +19937,7 @@
+@@ -19938,7 +19937,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13498,7 +13474,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-3160</td>
<td align=center>USB</td>
-@@ -19948,7 +19947,7 @@
+@@ -19948,7 +19947,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13507,7 +13483,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-3170fn (CLX-3170 Series)</td>
<td align=center>USB</td>
-@@ -19958,7 +19957,7 @@
+@@ -19958,7 +19957,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13516,7 +13492,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-3175FW</td>
<td align=center>USB</td>
-@@ -19968,7 +19967,7 @@
+@@ -19968,7 +19967,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13525,7 +13501,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-3185</td>
<td align=center>USB</td>
-@@ -19978,7 +19977,7 @@
+@@ -19978,7 +19977,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13534,7 +13510,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-3300 Series</td>
<td align=center>USB</td>
-@@ -19988,7 +19987,7 @@
+@@ -19988,7 +19987,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13543,7 +13519,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-4190</td>
<td align=center>USB</td>
-@@ -19998,7 +19997,7 @@
+@@ -19998,7 +19997,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13552,7 +13528,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-6200</td>
<td align=center>USB</td>
-@@ -20008,7 +20007,7 @@
+@@ -20008,7 +20007,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13561,7 +13537,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-6220</td>
<td align=center>USB</td>
-@@ -20018,7 +20017,7 @@
+@@ -20018,7 +20017,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13570,7 +13546,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-6240</td>
<td align=center>USB</td>
-@@ -20028,7 +20027,7 @@
+@@ -20028,7 +20027,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13579,7 +13555,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-6250</td>
<td align=center>USB</td>
-@@ -20038,7 +20037,7 @@
+@@ -20038,7 +20037,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13588,7 +13564,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-6260</td>
<td align=center>USB</td>
-@@ -20048,7 +20047,7 @@
+@@ -20048,7 +20047,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13597,7 +13573,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-8380</td>
<td align=center>USB</td>
-@@ -20058,7 +20057,7 @@
+@@ -20058,7 +20057,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13606,7 +13582,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-8385</td>
<td align=center>USB</td>
-@@ -20068,7 +20067,7 @@
+@@ -20068,7 +20067,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13615,7 +13591,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-8385X</td>
<td align=center>USB</td>
-@@ -20078,7 +20077,7 @@
+@@ -20078,7 +20077,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13624,7 +13600,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>CLX-8540</td>
<td align=center>USB</td>
-@@ -20088,7 +20087,7 @@
+@@ -20088,7 +20087,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13633,7 +13609,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M267x 287x Series</td>
<td align=center>USB</td>
-@@ -20098,7 +20097,7 @@
+@@ -20098,7 +20097,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13642,7 +13618,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>M337x 387x 407x Series</td>
<td align=center>USB</td>
-@@ -20108,7 +20107,7 @@
+@@ -20108,7 +20107,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13651,7 +13627,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MFP-65x</td>
<td align=center>USB</td>
-@@ -20118,7 +20117,7 @@
+@@ -20118,7 +20117,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13660,7 +13636,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MFP-560</td>
<td align=center>USB</td>
-@@ -20128,7 +20127,7 @@
+@@ -20128,7 +20127,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13669,7 +13645,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>MFP-750</td>
<td align=center>USB</td>
-@@ -20138,7 +20137,7 @@
+@@ -20138,7 +20137,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13678,7 +13654,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4x16</td>
<td align=center>USB</td>
-@@ -20148,7 +20147,7 @@
+@@ -20148,7 +20147,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13687,7 +13663,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4x20</td>
<td align=center>USB</td>
-@@ -20158,7 +20157,7 @@
+@@ -20158,7 +20157,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13696,7 +13672,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4x21</td>
<td align=center>USB</td>
-@@ -20168,7 +20167,7 @@
+@@ -20168,7 +20167,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13705,7 +13681,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4x26</td>
<td align=center>USB</td>
-@@ -20178,7 +20177,7 @@
+@@ -20178,7 +20177,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13714,7 +13690,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-5x30</td>
<td align=center>USB</td>
-@@ -20188,7 +20187,7 @@
+@@ -20188,7 +20187,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13723,7 +13699,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6x20</td>
<td align=center>USB</td>
-@@ -20198,7 +20197,7 @@
+@@ -20198,7 +20197,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13732,7 +13708,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6x22</td>
<td align=center>USB</td>
-@@ -20208,7 +20207,7 @@
+@@ -20208,7 +20207,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13741,7 +13717,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6x45</td>
<td align=center>USB</td>
-@@ -20218,7 +20217,7 @@
+@@ -20218,7 +20217,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13750,7 +13726,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6x55</td>
<td align=center>USB</td>
-@@ -20228,7 +20227,7 @@
+@@ -20228,7 +20227,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13759,7 +13735,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6x55X</td>
<td align=center>USB</td>
-@@ -20238,7 +20237,7 @@
+@@ -20238,7 +20237,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13768,7 +13744,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-470x</td>
<td align=center>USB</td>
-@@ -20248,7 +20247,7 @@
+@@ -20248,7 +20247,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13777,7 +13753,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-681x</td>
<td align=center>USB</td>
-@@ -20258,7 +20257,7 @@
+@@ -20258,7 +20257,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13786,7 +13762,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-3205W (SCX-3200 Series)</td>
<td align=center>USB Ethernet</td>
-@@ -20268,7 +20267,7 @@
+@@ -20268,7 +20267,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13795,7 +13771,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-3400</td>
<td align=center>USB</td>
-@@ -20278,7 +20277,7 @@
+@@ -20278,7 +20277,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13804,7 +13780,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-3405W</td>
<td align=center>Ethernet</td>
-@@ -20288,7 +20287,7 @@
+@@ -20288,7 +20287,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13813,7 +13789,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4100</td>
<td align=center>USB</td>
-@@ -20298,7 +20297,7 @@
+@@ -20298,7 +20297,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13822,7 +13798,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4200</td>
<td align=center>USB</td>
-@@ -20308,7 +20307,7 @@
+@@ -20308,7 +20307,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13831,7 +13807,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4300</td>
<td align=center>USB</td>
-@@ -20318,7 +20317,7 @@
+@@ -20318,7 +20317,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13840,7 +13816,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4500</td>
<td align=center>USB</td>
-@@ -20328,7 +20327,7 @@
+@@ -20328,7 +20327,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13849,7 +13825,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4500W</td>
<td align=center>USB Ethernet</td>
-@@ -20338,7 +20337,7 @@
+@@ -20338,7 +20337,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13858,7 +13834,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4600</td>
<td align=center>USB</td>
-@@ -20348,7 +20347,7 @@
+@@ -20348,7 +20347,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13867,7 +13843,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4623</td>
<td align=center>USB</td>
-@@ -20358,7 +20357,7 @@
+@@ -20358,7 +20357,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13876,7 +13852,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4623FW</td>
<td align=center>USB</td>
-@@ -20368,7 +20367,7 @@
+@@ -20368,7 +20367,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13885,7 +13861,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4650 4x21S Series</td>
<td align=center>USB</td>
-@@ -20378,7 +20377,7 @@
+@@ -20378,7 +20377,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13894,7 +13870,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/samsung-scx-4725.html">SCX-4725FN</a></td>
<td align=center>USB</td>
-@@ -20399,7 +20398,7 @@
+@@ -20399,7 +20398,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13903,7 +13879,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4824 (SCX-4x24 Series)</td>
<td align=center>USB</td>
-@@ -20409,7 +20408,7 @@
+@@ -20409,7 +20408,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13912,7 +13888,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4825FN (SCX-4x25 Series)</td>
<td align=center>USB</td>
-@@ -20419,7 +20418,7 @@
+@@ -20419,7 +20418,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13921,7 +13897,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4828FN (SCX-4x28 Series)</td>
<td align=center>USB</td>
-@@ -20429,7 +20428,7 @@
+@@ -20429,7 +20428,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13930,7 +13906,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4833FD</td>
<td align=center>USB</td>
-@@ -20439,7 +20438,7 @@
+@@ -20439,7 +20438,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13939,7 +13915,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-4835FD</td>
<td align=center>Ethernet</td>
-@@ -20449,7 +20448,7 @@
+@@ -20449,7 +20448,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13948,7 +13924,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-5635</td>
<td align=center>USB</td>
-@@ -20459,7 +20458,7 @@
+@@ -20459,7 +20458,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13957,7 +13933,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-5835_5935</td>
<td align=center>USB</td>
-@@ -20469,7 +20468,7 @@
+@@ -20469,7 +20468,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13966,7 +13942,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-5835_5935X</td>
<td align=center>USB</td>
-@@ -20479,7 +20478,7 @@
+@@ -20479,7 +20478,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13975,7 +13951,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6545</td>
<td align=center>USB</td>
-@@ -20489,7 +20488,7 @@
+@@ -20489,7 +20488,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13984,7 +13960,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX-6545X</td>
<td align=center>USB</td>
-@@ -20499,7 +20498,7 @@
+@@ -20499,7 +20498,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -13993,7 +13969,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX4725</td>
<td align=center>USB</td>
-@@ -20509,7 +20508,7 @@
+@@ -20509,7 +20508,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -14002,7 +13978,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCX4725-FN</td>
<td align=center>USB</td>
-@@ -20519,7 +20518,7 @@
+@@ -20519,7 +20518,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -14011,7 +13987,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SF-760</td>
<td align=center>USB</td>
-@@ -20529,7 +20528,7 @@
+@@ -20529,7 +20528,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -14020,7 +13996,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-SCANPORT">Manufacturer: Scanport</a></h3>
-@@ -20556,7 +20555,7 @@
+@@ -20556,7 +20555,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -14029,7 +14005,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SQ2030</td>
<td align=center>Parport</td>
-@@ -20567,7 +20566,7 @@
+@@ -20567,7 +20566,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -14038,7 +14014,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SQ4836</td>
<td align=center>SCSI</td>
-@@ -20578,7 +20577,7 @@
+@@ -20578,7 +20577,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -14047,7 +14023,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-SCANSHELL">Manufacturer: Scanshell</a></h3>
-@@ -20630,7 +20629,7 @@
+@@ -20630,7 +20629,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.zago.net/sane/">sceptre</a>
<br>(1.0-10)
</td>
@@ -14056,7 +14032,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-SHARP">Manufacturer: Sharp</a></h3>
-@@ -20657,7 +20656,7 @@
+@@ -20657,7 +20656,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">sharp</a>
<br>(0.32)
</td>
@@ -14065,7 +14041,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>JX-320</td>
<td align=center>SCSI</td>
-@@ -20668,7 +20667,7 @@
+@@ -20668,7 +20667,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">sharp</a>
<br>(0.32)
</td>
@@ -14074,7 +14050,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>JX-325</td>
<td align=center>SCSI</td>
-@@ -20679,7 +20678,7 @@
+@@ -20679,7 +20678,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">sharp</a>
<br>(0.32)
</td>
@@ -14083,7 +14059,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>JX-330</td>
<td align=center>SCSI</td>
-@@ -20690,7 +20689,7 @@
+@@ -20690,7 +20689,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">sharp</a>
<br>(0.32)
</td>
@@ -14092,7 +14068,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>JX-350</td>
<td align=center>SCSI</td>
-@@ -20701,7 +20700,7 @@
+@@ -20701,7 +20700,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">sharp</a>
<br>(0.32)
</td>
@@ -14101,7 +14077,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>JX-610</td>
<td align=center>SCSI</td>
-@@ -20712,7 +20711,7 @@
+@@ -20712,7 +20711,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.satzbau-gmbh.de/staff/abel/sane-sharp.html">sharp</a>
<br>(0.32)
</td>
@@ -14110,7 +14086,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-SICOS">Manufacturer: Sicos</a></h3>
-@@ -20763,7 +20762,7 @@
+@@ -20763,7 +20762,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
s9036<br>(unmaintained)
</td>
@@ -14119,7 +14095,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Cherry FingerTIP ID Board - Sensor</td>
<td align=center>USB</td>
-@@ -20795,7 +20794,7 @@
+@@ -20795,7 +20794,7 @@ s9036<br>(unmaintained)
<td align=center>
agfafocus<br>(unmaintained)
</td>
@@ -14128,7 +14104,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ST400</td>
<td align=center>SCSI</td>
-@@ -20806,7 +20805,7 @@
+@@ -20806,7 +20805,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.informatik.uni-oldenburg.de/~ingo/sane/">st400</a>
<br>(1.6)
</td>
@@ -14137,7 +14113,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>ST800</td>
<td align=center>SCSI</td>
-@@ -20817,7 +20816,7 @@
+@@ -20817,7 +20816,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.informatik.uni-oldenburg.de/~ingo/sane/">st400</a>
<br>(1.6)
</td>
@@ -14146,7 +14122,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-SMARTDISK">Manufacturer: SmartDisk</a></h3>
-@@ -20917,7 +20916,7 @@
+@@ -20917,7 +20916,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -14155,7 +14131,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocketPort 485</td>
<td align=center>USB</td>
-@@ -20928,7 +20927,7 @@
+@@ -20928,7 +20927,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -14164,7 +14140,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocketPort 665</td>
<td align=center>USB</td>
-@@ -20939,7 +20938,7 @@
+@@ -20939,7 +20938,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -14173,7 +14149,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocketPort 685/ Ambir DS685</td>
<td align=center>USB</td>
-@@ -20950,7 +20949,7 @@
+@@ -20950,7 +20949,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -14182,7 +14158,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>TravelScan 460/464</td>
<td align=center>USB</td>
-@@ -20961,7 +20960,7 @@
+@@ -20961,7 +20960,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14191,7 +14167,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>TravelScan 662</td>
<td align=center>USB</td>
-@@ -20972,7 +20971,7 @@
+@@ -20972,7 +20971,7 @@ agfafocus<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14200,7 +14176,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/syscan-travelscan-fs531.html">TravelScan FS-531</a></td>
<td align=center>USB</td>
-@@ -21029,7 +21028,7 @@
+@@ -21029,7 +21028,7 @@ agfafocus<br>(unmaintained)
<td align=center>
tamarack<br>(unmaintained)
</td>
@@ -14209,7 +14185,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Artiscan 8000C</td>
<td align=center>SCSI</td>
-@@ -21039,7 +21038,7 @@
+@@ -21039,7 +21038,7 @@ tamarack<br>(unmaintained)
<td align=center>
tamarack<br>(unmaintained)
</td>
@@ -14218,7 +14194,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.autistici.org/tamarhack/">Artiscan 9600</a></td>
<td align=center>Parport</td>
-@@ -21071,7 +21070,7 @@
+@@ -21071,7 +21070,7 @@ tamarack<br>(unmaintained)
<td align=center>
tamarack<br>(unmaintained)
</td>
@@ -14227,7 +14203,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-TARGA">Manufacturer: Targa</a></h3>
-@@ -21096,7 +21095,7 @@
+@@ -21096,7 +21095,7 @@ tamarack<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -14236,7 +14212,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Funline TS12 EP</td>
<td align=center>Parport (EPP)</td>
-@@ -21107,7 +21106,7 @@
+@@ -21107,7 +21106,7 @@ tamarack<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -14245,7 +14221,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-TCE">Manufacturer: TCE</a></h3>
-@@ -21225,7 +21224,7 @@
+@@ -21225,7 +21224,7 @@ tamarack<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14254,7 +14230,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-TRUST">Manufacturer: Trust</a></h3>
-@@ -21252,7 +21251,7 @@
+@@ -21252,7 +21251,7 @@ tamarack<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -14263,7 +14239,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>240TH Easy Webscan Gold</td>
<td align=center>USB</td>
-@@ -21263,7 +21262,7 @@
+@@ -21263,7 +21262,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -14272,7 +14248,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/trust-combiscan-19200.html">CombiScan 19200</a></td>
<td align=center>Parport USB</td>
-@@ -21285,7 +21284,7 @@
+@@ -21285,7 +21284,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek_usb-backend/">mustek_usb</a>
<br>(1.0-18)
</td>
@@ -14281,7 +14257,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Compact Scan USB 19200</td>
<td align=center>USB</td>
-@@ -21296,7 +21295,7 @@
+@@ -21296,7 +21295,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -14290,7 +14266,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Direct WebScan 19200</td>
<td align=center>USB</td>
-@@ -21307,7 +21306,7 @@
+@@ -21307,7 +21306,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -14299,7 +14275,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Easy Connect 9600+</td>
<td align=center>Parport (EPP)</td>
-@@ -21318,7 +21317,7 @@
+@@ -21318,7 +21317,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -14308,7 +14284,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Easy Connect 19200+</td>
<td align=center>Parport (EPP)</td>
-@@ -21329,7 +21328,7 @@
+@@ -21329,7 +21328,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -14317,7 +14293,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Easy Scan 9600 Plus</td>
<td align=center>Parport</td>
-@@ -21340,7 +21339,7 @@
+@@ -21340,7 +21339,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://as6edriver.sourceforge.net/">as6e</a>
<br>(0.5)
</td>
@@ -14326,7 +14302,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Easy Webscan 19200</td>
<td align=center>USB</td>
-@@ -21350,7 +21349,7 @@
+@@ -21350,7 +21349,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -14335,7 +14311,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://lists.alioth.debian.org/pipermail/sane-devel/2008-October/022955.html">EasyScan 19200</a></td>
<td align=center>Parport</td>
-@@ -21372,7 +21371,7 @@
+@@ -21372,7 +21371,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -14344,7 +14320,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Imagery 1200</td>
<td align=center>SCSI</td>
-@@ -21383,7 +21382,7 @@
+@@ -21383,7 +21382,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -14353,7 +14329,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Imagery 1200 SP</td>
<td align=center>SCSI</td>
-@@ -21394,7 +21393,7 @@
+@@ -21394,7 +21393,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -14362,7 +14338,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Imagery 2400 SP</td>
<td align=center>SCSI</td>
-@@ -21405,7 +21404,7 @@
+@@ -21405,7 +21404,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco3">teco3</a>
<br>(1.0-1)
</td>
@@ -14371,7 +14347,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Imagery 4800 SP</td>
<td align=center>SCSI</td>
-@@ -21416,7 +21415,7 @@
+@@ -21416,7 +21415,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -14380,7 +14356,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Imagery 4800 SP+</td>
<td align=center>SCSI</td>
-@@ -21427,7 +21426,7 @@
+@@ -21427,7 +21426,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco3">teco3</a>
<br>(1.0-1)
</td>
@@ -14389,7 +14365,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Imagery 9600 SP</td>
<td align=center>SCSI</td>
-@@ -21438,7 +21437,7 @@
+@@ -21438,7 +21437,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.zago.net/sane/#teco3">teco3</a>
<br>(1.0-1)
</td>
@@ -14398,7 +14374,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Office Scan USB 19200</td>
<td align=center>USB</td>
-@@ -21449,7 +21448,7 @@
+@@ -21449,7 +21448,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/hp3300backend">niash</a>
<br>(0.3)
</td>
@@ -14407,7 +14383,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCSI Connect 19200</td>
<td align=center>SCSI</td>
-@@ -21460,7 +21459,7 @@
+@@ -21460,7 +21459,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -14416,7 +14392,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>SCSI excellence series 19200</td>
<td align=center>SCSI</td>
-@@ -21471,7 +21470,7 @@
+@@ -21471,7 +21470,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/mustek-backend/">mustek</a>
<br>(1.0-138)
</td>
@@ -14425,7 +14401,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/trust-scsi-scan-19200.html">SCSI Scan 19200 -Excellence Series-</a></td>
<td align=center>SCSI</td>
-@@ -21509,7 +21508,7 @@
+@@ -21509,7 +21508,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -14434,7 +14410,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 600S</td>
<td align=center>SCSI</td>
-@@ -21520,7 +21519,7 @@
+@@ -21520,7 +21519,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14443,7 +14419,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 610P</td>
<td align=center>Parport (SPP/ECP)</td>
-@@ -21531,7 +21530,7 @@
+@@ -21531,7 +21530,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -14452,7 +14428,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 610S</td>
<td align=center>SCSI</td>
-@@ -21542,7 +21541,7 @@
+@@ -21542,7 +21541,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14461,7 +14437,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 1200S</td>
<td align=center>SCSI</td>
-@@ -21553,7 +21552,7 @@
+@@ -21553,7 +21552,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14470,7 +14446,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 1220P</td>
<td align=center>Parport (EPP/ECP)</td>
-@@ -21564,7 +21563,7 @@
+@@ -21564,7 +21563,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -14479,7 +14455,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 1220S</td>
<td align=center>SCSI</td>
-@@ -21575,7 +21574,7 @@
+@@ -21575,7 +21574,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14488,7 +14464,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 1220U</td>
<td align=center>USB</td>
-@@ -21586,7 +21585,7 @@
+@@ -21586,7 +21585,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/umax1220u-sane">umax1220u</a>
<br>(unmaintained)
</td>
@@ -14497,7 +14473,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 1600P</td>
<td align=center>Parport (EPP/ECP)</td>
-@@ -21597,7 +21596,7 @@
+@@ -21597,7 +21596,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -14506,7 +14482,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 1600U</td>
<td align=center>USB</td>
-@@ -21608,7 +21607,7 @@
+@@ -21608,7 +21607,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/umax1220u-sane">umax1220u</a>
<br>(unmaintained)
</td>
@@ -14515,7 +14491,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2000P</td>
<td align=center>Parport (EPP/ECP)</td>
-@@ -21619,7 +21618,7 @@
+@@ -21619,7 +21618,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://umax1220p.sourceforge.net/">umax_pp</a>
<br>(1)
</td>
@@ -14524,7 +14500,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2000U</td>
<td align=center>USB</td>
-@@ -21630,7 +21629,7 @@
+@@ -21630,7 +21629,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/umax1220u-sane">umax1220u</a>
<br>(unmaintained)
</td>
@@ -14533,7 +14509,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2100S</td>
<td align=center>SCSI</td>
-@@ -21641,7 +21640,7 @@
+@@ -21641,7 +21640,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14542,7 +14518,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2100U</td>
<td align=center>USB</td>
-@@ -21652,7 +21651,7 @@
+@@ -21652,7 +21651,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/umax1220u-sane">umax1220u</a>
<br>(unmaintained)
</td>
@@ -14551,7 +14527,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2200 (SU)</td>
<td align=center>USB</td>
-@@ -21663,7 +21662,7 @@
+@@ -21663,7 +21662,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14560,7 +14536,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2200 (SU)</td>
<td align=center>SCSI</td>
-@@ -21674,7 +21673,7 @@
+@@ -21674,7 +21673,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14569,7 +14545,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 2400S</td>
<td align=center>SCSI</td>
-@@ -21685,7 +21684,7 @@
+@@ -21685,7 +21684,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14578,7 +14554,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/umax-astra-2500.html">Astra 2500</a></td>
<td align=center>USB</td>
-@@ -21762,7 +21761,7 @@
+@@ -21762,7 +21761,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://stef.dev.free.fr/sane/rts8891/index.html">rts8891</a>
<br>(1.0-0)
</td>
@@ -14587,7 +14563,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 4450</td>
<td align=center>USB</td>
-@@ -21773,7 +21772,7 @@
+@@ -21773,7 +21772,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://stef.dev.free.fr/sane/rts8891/index.html">rts8891</a>
<br>(1.0-0)
</td>
@@ -14596,7 +14572,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/umax-astra-4500.html">Astra 4500</a></td>
<td align=center>USB</td>
-@@ -21817,7 +21816,7 @@
+@@ -21817,7 +21816,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://sourceforge.net/projects/hp3900-series/">hp3900</a>
<br>(0.12)
</td>
@@ -14605,7 +14581,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 6400</td>
<td align=center>IEEE-1394</td>
-@@ -21828,7 +21827,7 @@
+@@ -21828,7 +21827,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14614,7 +14590,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 6450</td>
<td align=center>IEEE-1394</td>
-@@ -21839,7 +21838,7 @@
+@@ -21839,7 +21838,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14623,7 +14599,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra 6700</td>
<td align=center>USB</td>
-@@ -21861,7 +21860,7 @@
+@@ -21861,7 +21860,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14632,7 +14608,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Astra MX3</td>
<td align=center>SCSI</td>
-@@ -21872,7 +21871,7 @@
+@@ -21872,7 +21871,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14641,7 +14617,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/umax-astraslim.html">AstraSlim</a></td>
<td align=center>USB</td>
-@@ -21904,7 +21903,7 @@
+@@ -21904,7 +21903,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -14650,7 +14626,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/umax-astraslim-6000.html">AstraSlim 6000</a></td>
<td align=center>USB</td>
-@@ -21925,7 +21924,7 @@
+@@ -21925,7 +21924,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -14659,7 +14635,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Gemini D-16</td>
<td align=center>SCSI</td>
-@@ -21936,7 +21935,7 @@
+@@ -21936,7 +21935,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14668,7 +14644,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Mirage D-16L</td>
<td align=center>SCSI</td>
-@@ -21947,7 +21946,7 @@
+@@ -21947,7 +21946,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14677,7 +14653,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Mirage II</td>
<td align=center>SCSI</td>
-@@ -21958,7 +21957,7 @@
+@@ -21958,7 +21957,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14686,7 +14662,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Mirage IIse</td>
<td align=center>SCSI</td>
-@@ -21969,7 +21968,7 @@
+@@ -21969,7 +21968,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14695,7 +14671,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Nete3470'</td>
<td align=center>Parport</td>
-@@ -21991,7 +21990,7 @@
+@@ -21991,7 +21990,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14704,7 +14680,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PowerLook</td>
<td align=center>SCSI</td>
-@@ -22002,7 +22001,7 @@
+@@ -22002,7 +22001,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14713,7 +14689,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/umax-powerlook-180.html">Powerlook 180</a></td>
<td align=center>USB</td>
-@@ -22024,7 +22023,7 @@
+@@ -22024,7 +22023,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14722,7 +14698,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PowerLook 270plus</td>
<td align=center>SCSI</td>
-@@ -22035,7 +22034,7 @@
+@@ -22035,7 +22034,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14731,7 +14707,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Powerlook 1000 USB</td>
<td align=center>USB</td>
-@@ -22057,7 +22056,7 @@
+@@ -22057,7 +22056,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14740,7 +14716,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PowerLook 2000</td>
<td align=center>SCSI</td>
-@@ -22068,7 +22067,7 @@
+@@ -22068,7 +22067,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14749,7 +14725,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PowerLook 2100XL</td>
<td align=center>SCSI</td>
-@@ -22079,7 +22078,7 @@
+@@ -22079,7 +22078,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14758,7 +14734,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PowerLook 3000</td>
<td align=center>SCSI</td>
-@@ -22090,7 +22089,7 @@
+@@ -22090,7 +22089,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14767,7 +14743,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PowerLook III</td>
<td align=center>SCSI</td>
-@@ -22101,7 +22100,7 @@
+@@ -22101,7 +22100,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14776,7 +14752,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>PSD</td>
<td align=center>SCSI</td>
-@@ -22112,7 +22111,7 @@
+@@ -22112,7 +22111,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14785,7 +14761,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Supervista S-12</td>
<td align=center>SCSI</td>
-@@ -22123,7 +22122,7 @@
+@@ -22123,7 +22122,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14794,7 +14770,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UC 630</td>
<td align=center>SCSI</td>
-@@ -22134,7 +22133,7 @@
+@@ -22134,7 +22133,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14803,7 +14779,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UC 840</td>
<td align=center>SCSI</td>
-@@ -22145,7 +22144,7 @@
+@@ -22145,7 +22144,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14812,7 +14788,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UC 1200S</td>
<td align=center>SCSI</td>
-@@ -22156,7 +22155,7 @@
+@@ -22156,7 +22155,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14821,7 +14797,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UC 1200SE</td>
<td align=center>SCSI</td>
-@@ -22167,7 +22166,7 @@
+@@ -22167,7 +22166,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14830,7 +14806,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UC 1260</td>
<td align=center>SCSI</td>
-@@ -22178,7 +22177,7 @@
+@@ -22178,7 +22177,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14839,7 +14815,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UG 80</td>
<td align=center>SCSI</td>
-@@ -22189,7 +22188,7 @@
+@@ -22189,7 +22188,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14848,7 +14824,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UG 630</td>
<td align=center>SCSI</td>
-@@ -22200,7 +22199,7 @@
+@@ -22200,7 +22199,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14857,7 +14833,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX 3400</td>
<td align=center>USB</td>
-@@ -22211,7 +22210,7 @@
+@@ -22211,7 +22210,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14866,7 +14842,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX 3400</td>
<td align=center>USB</td>
-@@ -22222,7 +22221,7 @@
+@@ -22222,7 +22221,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14875,7 +14851,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX 3450</td>
<td align=center>USB</td>
-@@ -22233,7 +22232,7 @@
+@@ -22233,7 +22232,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14884,7 +14860,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX 5400</td>
<td align=center>USB</td>
-@@ -22244,7 +22243,7 @@
+@@ -22244,7 +22243,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14893,7 +14869,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX Astranet ia101</td>
<td align=center>USB</td>
-@@ -22255,7 +22254,7 @@
+@@ -22255,7 +22254,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -14902,7 +14878,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX S-6E</td>
<td align=center>SCSI</td>
-@@ -22266,7 +22265,7 @@
+@@ -22266,7 +22265,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14911,7 +14887,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX S-6EG</td>
<td align=center>SCSI</td>
-@@ -22277,7 +22276,7 @@
+@@ -22277,7 +22276,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14920,7 +14896,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX S-12</td>
<td align=center>SCSI</td>
-@@ -22288,7 +22287,7 @@
+@@ -22288,7 +22287,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14929,7 +14905,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX S-12G</td>
<td align=center>SCSI</td>
-@@ -22299,7 +22298,7 @@
+@@ -22299,7 +22298,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14938,7 +14914,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>UMAX VT600</td>
<td align=center>SCSI</td>
-@@ -22310,7 +22309,7 @@
+@@ -22310,7 +22309,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14947,7 +14923,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Vista S6</td>
<td align=center>SCSI</td>
-@@ -22321,7 +22320,7 @@
+@@ -22321,7 +22320,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14956,7 +14932,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Vista S6E</td>
<td align=center>SCSI</td>
-@@ -22332,7 +22331,7 @@
+@@ -22332,7 +22331,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14965,7 +14941,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Vista-S8</td>
<td align=center>SCSI</td>
-@@ -22343,7 +22342,7 @@
+@@ -22343,7 +22342,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14974,7 +14950,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Vista-T630</td>
<td align=center>SCSI</td>
-@@ -22354,7 +22353,7 @@
+@@ -22354,7 +22353,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -14983,7 +14959,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-VANTAS">Manufacturer: Vantas</a></h3>
-@@ -22439,7 +22438,7 @@
+@@ -22439,7 +22438,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -14992,7 +14968,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/visioneer-9420.html">9420</a></td>
<td align=center>USB</td>
-@@ -22461,7 +22460,7 @@
+@@ -22461,7 +22460,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15001,7 +14977,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/visioneer-9450-usb.html">9450 USB</a></td>
<td align=center>USB</td>
-@@ -22483,7 +22482,7 @@
+@@ -22483,7 +22482,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15010,7 +14986,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9550</td>
<td align=center>USB</td>
-@@ -22494,7 +22493,7 @@
+@@ -22494,7 +22493,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15019,7 +14995,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9650</td>
<td align=center>USB</td>
-@@ -22505,7 +22504,7 @@
+@@ -22505,7 +22504,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15028,7 +15004,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9650-G</td>
<td align=center>USB</td>
-@@ -22516,7 +22515,7 @@
+@@ -22516,7 +22515,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15037,7 +15013,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9750</td>
<td align=center>USB</td>
-@@ -22527,7 +22526,7 @@
+@@ -22527,7 +22526,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15046,7 +15022,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>9750-G</td>
<td align=center>USB</td>
-@@ -22538,7 +22537,7 @@
+@@ -22538,7 +22537,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15055,7 +15031,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/xerox-docuimage-620s.html">DocuImage 620S</a></td>
<td align=center>SCSI</td>
-@@ -22670,7 +22669,7 @@
+@@ -22670,7 +22669,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/gt68xx-backend/">gt68xx</a>
<br>(1.0-84)
</td>
@@ -15064,7 +15040,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/visioneer-onetouch7700.html">Onetouch 7700</a></td>
<td align=center>USB</td>
-@@ -22824,7 +22823,7 @@
+@@ -22824,7 +22823,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15073,7 +15049,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Patriot 470</td>
<td align=center>USB</td>
-@@ -22835,7 +22834,7 @@
+@@ -22835,7 +22834,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15082,7 +15058,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Patriot 680</td>
<td align=center>USB</td>
-@@ -22846,7 +22845,7 @@
+@@ -22846,7 +22845,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15091,7 +15067,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Patriot 780</td>
<td align=center>USB</td>
-@@ -22857,7 +22856,7 @@
+@@ -22857,7 +22856,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15100,7 +15076,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Roadwarrior</td>
<td align=center>USB</td>
-@@ -22868,7 +22867,7 @@
+@@ -22868,7 +22867,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15109,7 +15085,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/visioneer-strobe-pro-usb.html">Strobe Pro USB</a></td>
<td align=center>USB</td>
-@@ -22890,7 +22889,7 @@
+@@ -22890,7 +22889,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.gjaeger.de/scanner/plustek/">plustek</a>
<br>(0.52)
</td>
@@ -15118,7 +15094,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 100,r3</td>
<td align=center>USB</td>
-@@ -22901,7 +22900,7 @@
+@@ -22901,7 +22900,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15127,7 +15103,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 200</td>
<td align=center>USB</td>
-@@ -22912,7 +22911,7 @@
+@@ -22912,7 +22911,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15136,7 +15112,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 300</td>
<td align=center>USB</td>
-@@ -22923,7 +22922,7 @@
+@@ -22923,7 +22922,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15145,7 +15121,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 450</td>
<td align=center>USB</td>
-@@ -22934,7 +22933,7 @@
+@@ -22934,7 +22933,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15154,7 +15130,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 450-G</td>
<td align=center>USB</td>
-@@ -22945,7 +22944,7 @@
+@@ -22945,7 +22944,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15163,7 +15139,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 470</td>
<td align=center>USB</td>
-@@ -22956,7 +22955,7 @@
+@@ -22956,7 +22955,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15172,7 +15148,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Strobe XP 470-G</td>
<td align=center>USB</td>
-@@ -22967,7 +22966,7 @@
+@@ -22967,7 +22966,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15181,7 +15157,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Visioneer OneTouch 7100</td>
<td align=center>USB</td>
-@@ -22978,7 +22977,7 @@
+@@ -22978,7 +22977,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15190,7 +15166,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="/unsupported/xerox-workcentre-470cx.html">WorkCentre 470cx</a></td>
<td align=center>Parport</td>
-@@ -23080,7 +23079,7 @@
+@@ -23080,7 +23079,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://penguin-breeder.org/sane/mustek_pp/">mustek_pp</a>
<br>(13)
</td>
@@ -15199,7 +15175,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-VOBIS">Manufacturer: Vobis</a></h3>
-@@ -23107,7 +23106,7 @@
+@@ -23107,7 +23106,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://karstenfestag.gmxhome.de/linux.html">microtek2</a>
<br>(unmaintained)
</td>
@@ -15208,7 +15184,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Highscreen Realscan</td>
<td align=center>SCSI</td>
-@@ -23118,7 +23117,7 @@
+@@ -23118,7 +23117,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.mir.com/mtek/">microtek</a>
<br>(0.13.1)
</td>
@@ -15217,7 +15193,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Highscreen Scanboostar Premium</td>
<td align=center>SCSI</td>
-@@ -23129,7 +23128,7 @@
+@@ -23129,7 +23128,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.rauch-domain.de/sane-umax/index.html">umax</a>
<br>(1.0-41)
</td>
@@ -15226,7 +15202,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-VUEGO">Manufacturer: Vuego</a></h3>
-@@ -23160,7 +23159,7 @@
+@@ -23160,7 +23159,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15235,7 +15211,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate150</td>
<td align=center>USB</td>
-@@ -23171,7 +23170,7 @@
+@@ -23171,7 +23170,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15244,7 +15220,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate152</td>
<td align=center>USB</td>
-@@ -23182,7 +23181,7 @@
+@@ -23182,7 +23181,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15253,7 +15229,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate162</td>
<td align=center>USB</td>
-@@ -23193,7 +23192,7 @@
+@@ -23193,7 +23192,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15262,7 +15238,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate232</td>
<td align=center>USB</td>
-@@ -23204,7 +23203,7 @@
+@@ -23204,7 +23203,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15271,7 +15247,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate250</td>
<td align=center>USB</td>
-@@ -23215,7 +23214,7 @@
+@@ -23215,7 +23214,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15280,7 +15256,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate250-G</td>
<td align=center>USB</td>
-@@ -23226,7 +23225,7 @@
+@@ -23226,7 +23225,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15289,7 +15265,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate252</td>
<td align=center>USB</td>
-@@ -23237,7 +23236,7 @@
+@@ -23237,7 +23236,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15298,7 +15274,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate252-G</td>
<td align=center>USB</td>
-@@ -23248,7 +23247,7 @@
+@@ -23248,7 +23247,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15307,7 +15283,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate262</td>
<td align=center>USB</td>
-@@ -23259,7 +23258,7 @@
+@@ -23259,7 +23258,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15316,7 +15292,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate262-G</td>
<td align=center>USB</td>
-@@ -23270,7 +23269,7 @@
+@@ -23270,7 +23269,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15325,7 +15301,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate262i</td>
<td align=center>USB</td>
-@@ -23281,7 +23280,7 @@
+@@ -23281,7 +23280,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15334,7 +15310,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate272</td>
<td align=center>USB</td>
-@@ -23292,7 +23291,7 @@
+@@ -23292,7 +23291,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15343,7 +15319,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate272-G</td>
<td align=center>USB</td>
-@@ -23303,7 +23302,7 @@
+@@ -23303,7 +23302,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15352,7 +15328,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate510</td>
<td align=center>USB</td>
-@@ -23314,7 +23313,7 @@
+@@ -23314,7 +23313,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15361,7 +15337,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate510-G</td>
<td align=center>USB</td>
-@@ -23325,7 +23324,7 @@
+@@ -23325,7 +23324,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15370,7 +15346,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate512</td>
<td align=center>USB</td>
-@@ -23336,7 +23335,7 @@
+@@ -23336,7 +23335,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15379,7 +15355,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate520</td>
<td align=center>USB</td>
-@@ -23347,7 +23346,7 @@
+@@ -23347,7 +23346,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15388,7 +15364,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate520-G</td>
<td align=center>USB</td>
-@@ -23358,7 +23357,7 @@
+@@ -23358,7 +23357,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15397,7 +15373,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate632</td>
<td align=center>USB</td>
-@@ -23369,7 +23368,7 @@
+@@ -23369,7 +23368,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15406,7 +15382,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate752</td>
<td align=center>USB</td>
-@@ -23380,7 +23379,7 @@
+@@ -23380,7 +23379,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15415,7 +15391,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DocuMate752</td>
<td align=center>USB</td>
-@@ -23391,7 +23390,7 @@
+@@ -23391,7 +23390,7 @@ artec_eplus48u<br>(unmaintained)
<a href="http://skull.piratehaven.org/~mike/sane/avision.html">avision</a>
<br>(Build: 296)
</td>
@@ -15424,7 +15400,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center><a href="http://www.office.xerox.com/multifunction-printer/multifunction-under-30ppm/phaser-3200mfp/spec-enus.html">Phaser 3200MFP</a></td>
<td align=center>USB</td>
-@@ -23401,7 +23400,7 @@
+@@ -23401,7 +23400,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -15433,7 +15409,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Phaser 6110MFP</td>
<td align=center>USB</td>
-@@ -23411,7 +23410,7 @@
+@@ -23411,7 +23410,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -15442,7 +15418,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Travel Scanner 100</td>
<td align=center>USB</td>
-@@ -23422,7 +23421,7 @@
+@@ -23422,7 +23421,7 @@ xerox_mfp<br>(1.0-13)
<a href="http://www.meier-geinitz.de/sane/genesys-backend/">genesys</a>
<br>(1.0-63)
</td>
@@ -15451,7 +15427,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkCentre 3119 Series</td>
<td align=center>USB</td>
-@@ -23432,7 +23431,7 @@
+@@ -23432,7 +23431,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -15460,7 +15436,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkCentre 3210</td>
<td align=center>USB</td>
-@@ -23442,7 +23441,7 @@
+@@ -23442,7 +23441,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -15469,7 +15445,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkCentre 3220</td>
<td align=center>USB</td>
-@@ -23452,7 +23451,7 @@
+@@ -23452,7 +23451,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -15478,7 +15454,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>WorkCentre 4118 Series</td>
<td align=center>USB</td>
-@@ -23462,7 +23461,7 @@
+@@ -23462,7 +23461,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
xerox_mfp<br>(1.0-13)
</td>
@@ -15487,7 +15463,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-YAKUMO">Manufacturer: Yakumo</a></h3>
-@@ -23488,7 +23487,7 @@
+@@ -23488,7 +23487,7 @@ xerox_mfp<br>(1.0-13)
<td align=center>
artec_eplus48u<br>(unmaintained)
</td>
@@ -15496,7 +15472,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h2><a name="STILL">Still Cameras</a></h2>
-@@ -23519,7 +23518,7 @@
+@@ -23519,7 +23518,7 @@ artec_eplus48u<br>(unmaintained)
<a href="mailto:peter@fales-lorenz.net">dc25</a>
<br>(1.2)
</td>
@@ -15505,7 +15481,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DC25</td>
<td align=center>Serial port</td>
-@@ -23530,7 +23529,7 @@
+@@ -23530,7 +23529,7 @@ artec_eplus48u<br>(unmaintained)
<a href="mailto:peter@fales-lorenz.net">dc25</a>
<br>(1.2)
</td>
@@ -15514,7 +15490,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DC210</td>
<td align=center>Serial port</td>
-@@ -23541,7 +23540,7 @@
+@@ -23541,7 +23540,7 @@ artec_eplus48u<br>(unmaintained)
<a href="mailto:peter@fales-lorenz.net">dc210</a>
<br>(0.0)
</td>
@@ -15523,7 +15499,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>DC240</td>
<td align=center>Serial port</td>
-@@ -23552,7 +23551,7 @@
+@@ -23552,7 +23551,7 @@ artec_eplus48u<br>(unmaintained)
<a href="mailto:peter@fales-lorenz.net">dc240</a>
<br>(0.0)
</td>
@@ -15532,7 +15508,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-POLAROID">Manufacturer: Polaroid</a></h3>
-@@ -23578,7 +23577,7 @@
+@@ -23578,7 +23577,7 @@ artec_eplus48u<br>(unmaintained)
<td align=center>
dmc<br>(unmaintained)
</td>
@@ -15541,7 +15517,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h2><a name="VIDEO">Video Cameras</a></h2>
-@@ -23614,7 +23613,7 @@
+@@ -23614,7 +23613,7 @@ dmc<br>(unmaintained)
<a href="http://gkall.hobby.nl/stv680-aiptek.html">stv680</a>
<br>(1.0-1)
</td>
@@ -15550,7 +15526,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-BIOLUX">Manufacturer: Biolux</a></h3>
-@@ -23663,7 +23662,7 @@
+@@ -23663,7 +23662,7 @@ dmc<br>(unmaintained)
<td align=center>
qcam<br>(unmaintained)
</td>
@@ -15559,7 +15535,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
<tr><td align=center>Greyscale QuickCam</td>
<td align=center>Parport</td>
-@@ -23673,7 +23672,7 @@
+@@ -23673,7 +23672,7 @@ qcam<br>(unmaintained)
<td align=center>
qcam<br>(unmaintained)
</td>
@@ -15568,7 +15544,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-CREATIVE">Manufacturer: Creative</a></h3>
-@@ -23700,7 +23699,7 @@
+@@ -23700,7 +23699,7 @@ qcam<br>(unmaintained)
<a href="http://gkall.hobby.nl/stv680-aiptek.html">stv680</a>
<br>(1.0-1)
</td>
@@ -15577,7 +15553,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-DIGITAL-DREAM">Manufacturer: Digital Dream</a></h3>
-@@ -23727,7 +23726,7 @@
+@@ -23727,7 +23726,7 @@ qcam<br>(unmaintained)
<a href="http://gkall.hobby.nl/stv680-aiptek.html">stv680</a>
<br>(1.0-1)
</td>
@@ -15586,7 +15562,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h3><a name="Z-GRANDTEK-SCOPECAM">Manufacturer: Grandtek Scopecam</a></h3>
-@@ -23779,7 +23778,7 @@
+@@ -23779,7 +23778,7 @@ qcam<br>(unmaintained)
<a href="http://gkall.hobby.nl/stv680-aiptek.html">stv680</a>
<br>(1.0-1)
</td>
@@ -15595,7 +15571,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
</tr>
</table>
<h2><a name="API">APIs</a></h2>
-@@ -23795,7 +23794,7 @@
+@@ -23795,7 +23794,7 @@ qcam<br>(unmaintained)
<p>
<b>Link(s):</b>
<a href="mailto:peter@fales-lorenz.net">mailto:peter@fales-lorenz.net</a><br>
@@ -15604,7 +15580,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<b>Description:</b> <a href="http://www.gphoto.org">Multiple cameras supported by the gphoto2 libraries</a><br>
<b>Comment:</b> The long-term plan is to support all the cameras supported by the gphoto2 libraries (currently over 140 models). However, at this stage, only a handful of cameras are definitely known to work with SANE. Other cameras will probably work if the native file format is EXIF or JPEG. Testers welcome!<br>
</p>
-@@ -23803,7 +23802,7 @@
+@@ -23803,7 +23802,7 @@ qcam<br>(unmaintained)
(unmaintained)
</a></h3>
<p>
@@ -15613,7 +15589,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<b>Description:</b> Scanners with the machine-independent PINT interface<br>
<b>Comment:</b> Haven't been tested for a long time. Handle with care.<br>
</p>
-@@ -23813,7 +23812,7 @@
+@@ -23813,7 +23812,7 @@ qcam<br>(unmaintained)
<p>
<b>Link(s):</b>
<a href="mailto:henning@meier-geinitz.de">mailto:henning@meier-geinitz.de</a><br>
@@ -15622,7 +15598,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<b>Description:</b> Reads PNM files<br>
<b>Comment:</b> Used for debugging frontends. Obsolete, use test backend instead.<br>
</p>
-@@ -23823,7 +23822,7 @@
+@@ -23823,7 +23822,7 @@ qcam<br>(unmaintained)
<p>
<b>Link(s):</b>
<a href="http://www.meier-geinitz.de/sane/test-backend/">http://www.meier-geinitz.de/sane/test-backend/</a><br>
@@ -15631,7 +15607,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<b>Description:</b> Frontend-tester<br>
<b>Comment:</b> Backend for testing frontends. Also serves as example for SANE backend options.<br>
</p>
-@@ -23833,7 +23832,7 @@
+@@ -23833,7 +23832,7 @@ qcam<br>(unmaintained)
<p>
<b>Link(s):</b>
<a href="mailto:henning@meier-geinitz.de">mailto:henning@meier-geinitz.de</a><br>
@@ -15640,7 +15616,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<b>Description:</b> Interface to Video For Linux API<br>
<b>Comment:</b> Supports video cameras and other devices accessed by the v4l kernel API, e.g. bttv devices. Quite a lot of known bugs.<br>
</p>
-@@ -23847,7 +23846,7 @@
+@@ -23847,7 +23846,7 @@ qcam<br>(unmaintained)
<p>
<b>Link(s):</b>
<a href="mailto:henning@meier-geinitz.de">mailto:henning@meier-geinitz.de</a><br>
@@ -15649,7 +15625,7 @@ Index: sane-backends-1.0.24/testsuite/tools/data/html-mfgs.ref
<b>Description:</b> Dynamic loading of shared-library backends.<br>
</p>
<h3><a name="M-NET">Backend: net
-@@ -23856,7 +23855,7 @@
+@@ -23856,7 +23855,7 @@ qcam<br>(unmaintained)
<p>
<b>Link(s):</b>
<a href="http://www.penguin-breeder.org/?page=sane-net">http://www.penguin-breeder.org/?page=sane-net</a><br>
diff --git a/debian/patches/series b/debian/patches/series
index 53b3757..d347517 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+0005-mk_reproducible_results.patch
hp3900.patch
typo.patch
license_typo.patch
@@ -22,3 +23,5 @@ ppc64el.patch
#out_of_bounds.patch
0500-systemd_configure.patch
#0100-usb3-corrections.patch
+001-scanimage_manpage.patch
+0510-disable-html-tests.patch
diff --git a/debian/rules b/debian/rules
index 846dcad..735f248 100755
--- a/debian/rules
+++ b/debian/rules
@@ -49,7 +49,9 @@ override_dh_auto_configure:
--with-gphoto2 \
--enable-translations \
--enable-avahi \
- --enable-libusb_1_0
+ --enable-libusb_1_0 \
+ --enable-pnm-backend \
+ --without-v4l
override_dh_auto_build:
# generate POT file for translators
@@ -136,9 +138,5 @@ override_dh_systemd_enable:
override_dh_strip:
dh_strip --dbg-package=libsane-dbg
-override_dh_builddeb:
- dh_builddeb -- -Zxz
-
override_dh_makeshlibs:
- dpkg-gensymbols -v$(VERSION) -plibsane
- dh_makeshlibs
+ dh_makeshlibs -- -c0 -v$(VERSION) -Pdebian/libsane -plibsane
diff --git a/debian/sane-utils.lintian-overrides b/debian/sane-utils.lintian-overrides
index 41e796f..6511491 100644
--- a/debian/sane-utils.lintian-overrides
+++ b/debian/sane-utils.lintian-overrides
@@ -7,3 +7,8 @@ postrm-contains-additional-updaterc.d-calls
# False positives. See Debian bug #
#
systemd-no-service-for-init-script
+
+#
+# disabled during piuparts error
+#
+maintainer-script-ignores-errors \ No newline at end of file
diff --git a/debian/sane-utils.postrm b/debian/sane-utils.postrm
index a11d248..e7af639 100644
--- a/debian/sane-utils.postrm
+++ b/debian/sane-utils.postrm
@@ -1,12 +1,37 @@
#!/bin/sh
-set -e
+# set -e
+#
+# set -e are disabled because pathfind update-inetd
+# gives an piuparts error.
+#
+
+#
+# POSIX-compliant shell function
+# to check for the existence of a command
+# Return 0 if found
+#
+pathfind() {
+ OLDIFS="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if [ -x "$p/$*" ]; then
+ IFS="$OLDIFS"
+ return 0
+ fi
+ done
+ IFS="$OLDIFS"
+ return 1
+}
+
-if [ "$1" = purge ]; then
- if [ -x /usr/sbin/update-inetd ]; then
+if [ "$1" = purge ] ; then
+ pathfind update-inetd
+ if [ $? = 0 ] ; then
update-inetd --remove sane-port
update-inetd --remove "#<off># sane-port"
fi
+
#
# purge systemd files
#
@@ -23,3 +48,5 @@ if [ "$1" = purge ]; then
fi
#DEBHELPER#
+
+exit 0 \ No newline at end of file
diff --git a/debian/saned@.service b/debian/saned@.service
index c477210..425ee7a 100644
--- a/debian/saned@.service
+++ b/debian/saned@.service
@@ -6,7 +6,7 @@ Requires=saned.socket
ExecStart=/usr/sbin/saned
User=saned
Group=saned
-StandardInput=socket
+StandardInput=null
StandardOutput=syslog
StandardError=syslog
Environment=SANE_CONFIG_DIR=/etc/sane.d
@@ -14,4 +14,3 @@ Environment=SANE_CONFIG_DIR=/etc/sane.d
[Install]
Also=saned.socket
-Alias=saned
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..0d875a9
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,9 @@
+#
+# control file for autopkgtests
+# writen from Jörg Frings-Fürst <debian@jff-webhosting.net>
+#
+# 1. start-net
+#
+Tests: start-net
+Depends: sane-utils
+Restrictions: needs-root allow-stderr breaks-testbed
diff --git a/debian/tests/start-net b/debian/tests/start-net
new file mode 100644
index 0000000..65679c3
--- /dev/null
+++ b/debian/tests/start-net
@@ -0,0 +1,29 @@
+#!/bin/sh
+set -ex
+
+# Simple test for sane-backends.
+# Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+# dep8 restrictions: breaks-bestbed needs-root allow-stderr
+
+
+# Enable localhost
+sed -i '/localhost/d' /etc/sane.d/saned.conf
+echo localhost >>/etc/sane.d/saned.conf
+
+# Enable pnm
+sed -i 's/^#\(pnm\)$/\1/' /etc/sane.d/dll.conf
+
+# Enable saned.socket
+systemctl enable saned.socket
+
+#
+# test
+#
+CNT=`scanimage -d net -L | grep net: | wc -l`
+
+if [ ${CNT} -eq 2 ] ; then
+ exit 0
+else
+ exit 100
+fi
+
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 12ec658..5b450e0 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -18,7 +18,7 @@ EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \
# custom install/uninstall if we required man pages for every backend.
BACKEND_MANS_ENABLED = @BACKEND_MANS_ENABLED@
BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \
- sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 \
+ sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \
sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \
sane-matsushita.5 sane-microtek.5 sane-microtek2.5 sane-mustek.5 \
sane-nec.5 sane-net.5 sane-pie.5 sane-pint.5 sane-pnm.5 \
@@ -41,7 +41,7 @@ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \
EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \
sane-dll.man sane-dc25.man sane-dmc.man sane-epson.man \
- sane-epson2.man sane-hp.man sane-gphoto2.man sane-leo.man \
+ sane-epson2.man sane-epsonds.man sane-hp.man sane-gphoto2.man sane-leo.man \
sane-lexmark.man sane-matsushita.man sane-microtek.man \
sane-microtek2.man sane-mustek.man sane-nec.man sane-net.man \
sane-pie.man sane-pint.man sane-pnm.man sane-umax.man \
@@ -169,6 +169,7 @@ DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \
descriptions/dc210.desc descriptions/dc240.desc descriptions/dc25.desc \
descriptions/dell1600n_net.desc descriptions/dll.desc descriptions/dmc.desc \
descriptions/epjitsu.desc descriptions/epson2.desc descriptions/epson.desc \
+ descriptions/epsonds.desc \
descriptions/fujitsu.desc descriptions/genesys.desc \
descriptions/gphoto2.desc descriptions/gt68xx.desc descriptions/hp3500.desc \
descriptions/hp3900.desc descriptions/hp4200.desc descriptions/hp5400.desc \
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 20b8ffb..cb8757d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -336,8 +336,8 @@ man1_MANS = scanimage.1 sane-config.1 sane-find-scanner.1 gamma4scanimage.1
EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \
gamma4scanimage.man sane-abaton.man sane-agfafocus.man \
sane-apple.man sane-as6e.man sane-dll.man sane-dc25.man \
- sane-dmc.man sane-epson.man sane-epson2.man sane-hp.man \
- sane-gphoto2.man sane-leo.man sane-lexmark.man \
+ sane-dmc.man sane-epson.man sane-epson2.man sane-epsonds.man \
+ sane-hp.man sane-gphoto2.man sane-leo.man sane-lexmark.man \
sane-matsushita.man sane-microtek.man sane-microtek2.man \
sane-mustek.man sane-nec.man sane-net.man sane-pie.man \
sane-pint.man sane-pnm.man sane-umax.man sane-qcam.man \
@@ -373,7 +373,7 @@ EXTRA_DIST = scanimage.man sane-config.man sane-find-scanner.man \
icons/references.gif icons/references_gr.gif icons/up.gif \
icons/up_gr.gif
BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \
- sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 \
+ sane-dll.5 sane-dc25.5 sane-dmc.5 sane-epson.5 sane-epson2.5 sane-epsonds.5 \
sane-hp.5 sane-gphoto2.5 sane-leo.5 sane-lexmark.5 \
sane-matsushita.5 sane-microtek.5 sane-microtek2.5 sane-mustek.5 \
sane-nec.5 sane-net.5 sane-pie.5 sane-pint.5 sane-pnm.5 \
@@ -452,6 +452,7 @@ DESC_FILES = descriptions/abaton.desc descriptions/agfafocus.desc \
descriptions/dc210.desc descriptions/dc240.desc descriptions/dc25.desc \
descriptions/dell1600n_net.desc descriptions/dll.desc descriptions/dmc.desc \
descriptions/epjitsu.desc descriptions/epson2.desc descriptions/epson.desc \
+ descriptions/epsonds.desc \
descriptions/fujitsu.desc descriptions/genesys.desc \
descriptions/gphoto2.desc descriptions/gt68xx.desc descriptions/hp3500.desc \
descriptions/hp3900.desc descriptions/hp4200.desc descriptions/hp5400.desc \
diff --git a/doc/descriptions/avision.desc b/doc/descriptions/avision.desc
index 708f5ea..bff25f5 100644
--- a/doc/descriptions/avision.desc
+++ b/doc/descriptions/avision.desc
@@ -19,7 +19,7 @@
;:status :stable
; backend's web page
-:url "http://skull.piratehaven.org/~mike/sane/avision.html"
+:url "http://exactcode.com/site/open_source/saneavision/"
; name of manpage (if it exists)
:manpage "sane-avision"
@@ -111,7 +111,13 @@
:interface "USB"
:usbid "0x0638" "0x0a2b"
:comment "duplex! sheetfed scanner"
-:status :complete
+:status :basic
+
+:model "AV220D2"
+:interface "USB"
+:usbid "0x0638" "0x1a31"
+:comment "duplex! sheetfed scanner"
+:status :untested
:model "AV220+"
:interface "USB"
diff --git a/doc/descriptions/canon_dr.desc b/doc/descriptions/canon_dr.desc
index 406bbfb..149ca4c 100644
--- a/doc/descriptions/canon_dr.desc
+++ b/doc/descriptions/canon_dr.desc
@@ -11,7 +11,7 @@
:backend "canon_dr" ; name of backend
:url "http://www.thebility.com/canon/"
-:version "47" ; version of backend
+:version "49" ; version of backend
:manpage "sane-canon_dr" ; name of manpage (if it exists)
:comment "Backend updated for SANE release 1.0.25, see sane-canon_dr manpage"
:devicetype :scanner ; start of a list of devices....
@@ -273,8 +273,7 @@
:model "DR-C125"
:interface "USB"
:usbid "0x1083" "0x1640"
-:status :untested
-:comment "Similar protocol to other canon_dr machines, but unsupported image format."
+:status :good
:model "DR-C130"
:interface "USB"
@@ -285,6 +284,7 @@
:interface "USB"
:usbid "0x1083" "0x1658"
:status :untested
+:comment "Perhaps similar to DR-C125?"
:model "DR-F120"
:interface "USB"
diff --git a/doc/descriptions/epjitsu.desc b/doc/descriptions/epjitsu.desc
index 630a1f7..b11ee96 100644
--- a/doc/descriptions/epjitsu.desc
+++ b/doc/descriptions/epjitsu.desc
@@ -11,9 +11,9 @@
:backend "epjitsu" ; name of backend
:url "http://www.thebility.com/epjitsu/"
-:version "25" ; version of backend
+:version "27" ; version of backend
:manpage "sane-epjitsu" ; name of manpage (if it exists)
-:comment "Backend updated for SANE release 1.0.25, see sane-epjitsu manpage"
+:comment "Backend updated for SANE release 1.0.26, see sane-epjitsu manpage"
:devicetype :scanner ; start of a list of devices....
; other types: :stillcam, :vidcam,
; :meta, :api
diff --git a/doc/descriptions/epsonds.desc b/doc/descriptions/epsonds.desc
new file mode 100644
index 0000000..0b7c6c6
--- /dev/null
+++ b/doc/descriptions/epsonds.desc
@@ -0,0 +1,97 @@
+;
+; SANE Backend specification file for the epsonds backend
+;
+; Copyright (C) 2015 Alessandro Zummo
+; Released under GPLv2
+;
+
+:backend "epsonds"
+:version "1.0.18"
+:new :yes
+:manpage "sane-epsonds"
+
+:devicetype :scanner
+
+:mfg "Epson"
+:url "http://www.epson.com/"
+
+:model "DS-5500"
+:interface "USB"
+:usbid "0x04b8" "0x0145"
+:status :untested
+
+:model "DS-6500"
+:interface "USB"
+:usbid "0x04b8" "0x0145"
+:status :untested
+
+:model "DS-7500"
+:interface "USB"
+:usbid "0x04b8" "0x0145"
+:status :untested
+
+:model "DS-50000"
+:interface "USB"
+:usbid "0x04b8" "0x0146"
+:status :untested
+
+:model "DS-60000"
+:interface "USB"
+:usbid "0x04b8" "0x0146"
+:status :good
+
+:model "DS-70000"
+:interface "USB"
+:usbid "0x04b8" "0x0146"
+:status :untested
+
+:model "DS-510"
+:interface "USB"
+:usbid "0x04b8" "0x014c"
+:status :good
+
+:model "DS-560"
+:interface "USB"
+:usbid "0x04b8" "0x014d"
+:status :untested
+
+:model "DS-40"
+:interface "USB"
+:usbid "0x04b8" "0x0150"
+:status :untested
+
+:model "DS-760"
+:interface "USB"
+:usbid "0x04b8" "0x0152"
+:status :untested
+
+:model "DS-860"
+:interface "USB"
+:usbid "0x04b8" "0x0152"
+:status :untested
+
+:model "DS-520"
+:interface "USB"
+:usbid "0x04b8" "0x0154"
+:status :untested
+
+:model "PX-M7050 Series"
+:interface "USB"
+:usbid "0x04b8" "0x08bc"
+:status :untested
+
+:model "WF-8510/8590 Series"
+:interface "USB"
+:usbid "0x04b8" "0x08bc"
+:status :untested
+
+:model "PX-M7050FX Series"
+:interface "USB"
+:usbid "0x04b8" "0x08cc"
+:status :untested
+
+:model "WF-R8590 Series"
+:interface "USB"
+:usbid "0x04b8" "0x08cc"
+:status :untested
+
diff --git a/doc/descriptions/genesys.desc b/doc/descriptions/genesys.desc
index eb060f6..cb91476 100644
--- a/doc/descriptions/genesys.desc
+++ b/doc/descriptions/genesys.desc
@@ -145,6 +145,12 @@
:status :complete
:comment "GL124 based, resolution from 75 to 2400 dpi"
+:model "CanoScan LiDE 120"
+:interface "USB"
+:usbid "0x04a9" "0x190e"
+:status :untested
+:comment "GL124+ based, resolution from 75 to 2400 dpi"
+
:model "CanoScan LiDE 200"
:interface "USB"
:usbid "0x04a9" "0x1905"
@@ -155,7 +161,13 @@
:interface "USB"
:usbid "0x04a9" "0x190a"
:status :complete
-:comment "GL124 based, resolution from 75 to 2400 dpi"
+:comment "GL124 based, resolution from 75 to 4800 dpi"
+
+:model "CanoScan LiDE 220"
+:interface "USB"
+:usbid "0x04a9" "0x190f"
+:status :complete
+:comment "GL124+ based, resolution from 75 to 4800 dpi"
:model "CanoScan 4400f"
:interface "USB"
diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc
index 5fb18ed..a5fc126 100644
--- a/doc/descriptions/kodakaio.desc
+++ b/doc/descriptions/kodakaio.desc
@@ -1,6 +1,6 @@
:backend "kodakaio"
:url "http://sourceforge.net/projects/cupsdriverkodak/"
-:version "2.4.7"
+:version "2.7.2"
:manpage "sane-kodakaio"
:comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10"
:devicetype :scanner
@@ -57,7 +57,7 @@
:model "ESP 5200"
:interface "USB Ethernet"
:usbid "0x040a" "0x4041"
-:status :basic
+:status :complete
:comment "USB good, Network good"
:model "ESP 5300"
@@ -156,8 +156,8 @@
:model "Hero Office 6.1"
:interface "USB"
:usbid "0x040a" "0x4062"
-:status :untested
-:comment "Please test!"
+:status :basic
+:comment "Does the adf work?"
:model "Hero 7.1"
:interface "USB"
@@ -168,7 +168,7 @@
:model "Hero 9.1"
:interface "USB Ethernet"
:usbid "0x040a" "0x4067"
-:status :basic
+:status :complete
:comment "USB good, Network good"
;===================================
diff --git a/doc/descriptions/pixma.desc b/doc/descriptions/pixma.desc
index f354ada..51c3bec 100644
--- a/doc/descriptions/pixma.desc
+++ b/doc/descriptions/pixma.desc
@@ -11,10 +11,8 @@
; See doc/descriptions.txt for details.
:backend "pixma" ; name of backend
-:version "0.17.14" ; version of backend (or "unmaintained")
+:version "0.17.17" ; version of backend (or "unmaintained")
:manpage "sane-pixma" ; name of manpage (if it exists)
-:url "http://home.arcor.de/wittawat/pixma/" ; 0.13.2 backend's web page
-:url "http://mp610.blogspot.com/" ; the pixma backend blog
;:comment "Devices marked as experimantal are disabled by default. See the manual page for how to enable them."
:devicetype :scanner ; start of a list of devices....
@@ -36,6 +34,12 @@
:status :untested
:comment "Testers needed!"
+:model "PIXMA E480 Series"
+:interface "USB WiFi"
+:usbid "0x04a9" "0x1789"
+:status :untested
+:comment "Testers needed!"
+
:model "PIXMA E500"
:interface "USB"
:usbid "0x04a9" "0x1758"
@@ -75,8 +79,8 @@
:model "PIXMA MG2200 Series"
:interface "USB"
:usbid "0x04a9" "0x1760"
-:status :untested
-:comment "Testers needed!"
+:status :complete
+:comment "All resolutions supported (up to 1200DPI)."
:model "PIXMA MG2400 Series"
:interface "USB"
@@ -87,8 +91,8 @@
:model "PIXMA MG2500 Series"
:interface "USB"
:usbid "0x04a9" "0x176d"
-:status :untested
-:comment "Testers needed!"
+:status :complete
+:comment "All resolutions supported (up to 600DPI)."
:model "PIXMA MG2900 Series"
:interface "USB WiFi"
@@ -181,10 +185,10 @@
:comment "All resolutions supported (up to 2400DPI)."
:model "PIXMA MG6400 Series"
-:interface "USB"
+:interface "USB WiFi"
:usbid "0x04a9" "0x1770"
-:status :untested
-:comment "Testers needed!"
+:status :complete
+:comment "All resolutions supported (up to 1200DPI)."
:model "PIXMA MG6500 Series"
:interface "USB"
@@ -631,6 +635,12 @@
:status :untested
:comment "Testers needed!"
+:model "PIXMA MX490 Series"
+:interface "USB WiFi"
+:usbid "0x04a9" "0x1787"
+:status :untested
+:comment "Testers needed!"
+
:model "PIXMA MX510 Series"
:interface "USB Ethernet"
:usbid "0x04a9" "0x175c"
@@ -710,7 +720,7 @@
:comment "All resolutions supported (up to 2400DPI). Flatbed, ADF simplex and Duplex supported."
:model "PIXMA MX920 Series"
-:interface "USB"
+:interface "USB Ethernet WiFi"
:usbid "0x04a9" "0x176b"
:status :good
:comment "All resolutions supported (up to 2400DPI). Flatbed, ADF simplex and Duplex supported."
@@ -739,6 +749,24 @@
:status :complete
:comment "All resolutions supported (up to 600DPI)"
+:model "i-SENSYS MF210 Series"
+:interface "USB Ethernet WiFi"
+:usbid "0x04a9" "0x27a9"
+:status :untested
+:comment "Testers needed!"
+
+:model "i-SENSYS MF220 Series"
+:interface "USB Ethernet WiFi"
+:usbid "0x04a9" "0x27a8"
+:status :untested
+:comment "Testers needed!"
+
+:model "i-SENSYS MF810/820"
+:interface "USB Ethernet"
+:usbid "0x04a9" "0x27a6"
+:status :untested
+:comment "Testers needed!"
+
:model "i-SENSYS MF3010"
:interface "USB Ethernet"
:usbid "0x04a9" "0x2759"
@@ -913,6 +941,18 @@
:status :untested
:comment "Testers needed!"
+:model "i-SENSYS MF5900 Series"
+:interface "USB Ethernet"
+:usbid "0x04a9" "0x2743"
+:status :untested
+:comment "Testers needed!"
+
+:model "i-SENSYS MF6100 Series"
+:interface "USB Ethernet"
+:usbid "0x04a9" "0x278e"
+:status :untested
+:comment "Testers needed!"
+
:model "imageCLASS MF6500 series"
:interface "USB"
:usbid "0x04a9" "0x2686"
diff --git a/doc/sane-avision.man b/doc/sane-avision.man
index 805d342..299bb72 100644
--- a/doc/sane-avision.man
+++ b/doc/sane-avision.man
@@ -157,9 +157,9 @@ export SANE_DEBUG_AVISION=7
.SH "SEE ALSO"
sane(7), sane\-scsi(5), sane\-usb(5)
.br
-http://skull.piratehaven.org/~mike/sane/avision.html
+http://exactcode.com/site/open_source/saneavision/
.SH MAINTAINER
-Mike Kelly
+Ren\['e] Rebe
.SH AUTHOR
Ren\['e] Rebe and Meino Christian Cramer
diff --git a/doc/sane-epjitsu.man b/doc/sane-epjitsu.man
index ebb87e1..5d2a8ca 100644
--- a/doc/sane-epjitsu.man
+++ b/doc/sane-epjitsu.man
@@ -10,7 +10,7 @@ The
library implements a SANE (Scanner Access Now Easy) backend which provides basic access the Fujitsu fi\-60F/fi\-65F and ScanSnap S300/S1300/S1100 scanners.
.SH HARDWARE SUPPORT
-These scanners are fairly limited, only supporting a couple of modes and resolutions, and always scanning full width. The backend supports missing modes (binary, grayscale) in software, but makes no effort to offer intermediate resolutions and only minimal scan area controls. See
+These scanners are fairly limited, only supporting a couple of modes and resolutions, and always scanning full width. The backend supports missing modes (binary, grayscale) and intermediate resolutions in software, but provides only minimal scan area controls. See
.B KNOWN ISSUES.
This backend may support other scanners. If physical inspection reveals an Epson chipset, please contact the author for instructions on collecting a USB trace under Windows to verify.
diff --git a/doc/sane-epsonds.man b/doc/sane-epsonds.man
new file mode 100644
index 0000000..ea9bcbb
--- /dev/null
+++ b/doc/sane-epsonds.man
@@ -0,0 +1,101 @@
+.TH sane\-epsonds 5 "29 Mar 2015" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
+.IX sane\-epsonds
+.SH NAME
+sane\-epsonds \- SANE backend for EPSON ESC/I-2 scanners
+.SH DESCRIPTION
+The
+.B sane\-epsonds
+library implements a SANE (Scanner Access Now Easy) backend that
+provides access to Epson ESC/I-2 scanners.
+.PP
+Valid command line options and their syntax can be listed by using
+.RS
+scanimage \-\-help \-d epsonds
+.RE
+Not all devices support all options.
+.TP
+.I Scan Mode
+The
+.I \-\-mode
+switch selects the basic mode of operation of the scanner. Valid choices
+are Lineart, Gray and Color. The Lineart mode is black and white only,
+Gray will produce 256 levels of gray or more depending on the scanner
+and Color means 24 bit color mode or more depending on the scanner.
+Some scanners will internally use 36 bit color, their external interface
+however may only support 24 bits.
+
+The
+.I \-\-depth
+option selects the bit depth the scanner is using. This option is only
+available for scanners that support more than one bit depth. Older
+scanners will always transfer the image in 8bit mode. Newer scanners
+allow to select either 8 bits, 12 or 14 bits per color channel. For a
+color scan this means an effective color depth of 36 or 42 bits over
+all three channels. The valid choices depend on the scanner model.
+
+The
+.I \-\-resolution
+switch selects the resolution for a scan. Some EPSON scanners will scan in
+any resolution between the lowest and highest possible value. The list
+reported by the scanner can be displayed using the "\-\-help \-d epson"
+parameters to scanimage.
+
+The geometry options
+.I \-l \-t \-x \-y
+control the scan area: \-l sets the top left x coordinate, \-t the top
+left y coordinate, \-x selects the width and \-y the height of the scan
+area. All parameters are specified in millimeters.
+
+The
+.I \-\-source
+option selects the scan source. Valid options depend on the installed
+options. The default is "Flatbed".
+
+The
+.I \-\-eject
+option ejects the sheet in the ADF.
+
+The
+.I \-\-adf-mode
+option select the ADF mode (simplex/duplex).
+
+.SH CONFIGURATION FILE
+The configuration file @CONFIGDIR@/epsonds.conf specifies the device(s) that the
+backend will use. Possible connection types are:
+.TP
+.I USB
+For not automatically detected USB scanners, their VENDOR and PRODUCT ID can
+be specified manually in the config file.
+More information about valid syntax for USB devices can be found in sane\-usb(5).
+.TP
+.I Network (not yet supported)
+Network scanners can be auto-discovered if
+.I autodiscovery
+is specified after
+.I
+net
+keyword. An IP address to connect to can also be used.
+.SH FILES
+.TP
+.I @LIBDIR@/libsane\-epsonds.a
+The static library implementing this backend.
+.TP
+.I @LIBDIR@/libsane\-epsonds.so
+The shared library implementing this backend (present on systems that
+support dynamic loading).
+.SH ENVIRONMENT
+.TP
+.B SANE_DEBUG_EPSONDS
+If the library was compiled with debug support enabled, this
+environment variable controls the debug level for this backend. E.g.,
+a value of 128 requests all debug output to be printed. Smaller
+levels reduce verbosity. Values around 11-16 will usuallybe enough for
+a bug report.
+
+.SH "SEE ALSO"
+
+sane\-usb(5), scanimage(1), xscanimage(1), xsane(1)
+
+.SH AUTHOR
+
+The package is written by Alessandro Zummo
diff --git a/doc/sane-genesys.man b/doc/sane-genesys.man
index 2b96483..2acd717 100644
--- a/doc/sane-genesys.man
+++ b/doc/sane-genesys.man
@@ -10,7 +10,7 @@ access to USB flatbed scanners based on the Genesys GL646, GL841, GL843, GL847 a
At present, the following scanners are known to work with this backend:
.PP
.RS
-Canon LiDE 35/40/50/60/100/110/200/210/700
+Canon LiDE 35/40/50/60/100/110/120/200/210/220/700
.br
Hewlett-Packard HP2300C/HP2400/HP3670/HP3690/G4010/G4050
.br
@@ -55,10 +55,11 @@ If you plug the scanner in another machine or use it with another account, calib
will have to be redone, unles you use the \-\-calibration\-file option.
If no home directory is defined,
USERAPPPROFILE will be used, then TMPDIR or TMP. If none of these directories exist, the backend will try
-to write in the current working directory. Flatbed scanners alos make use of the calibration file as a cache
+to write in the current working directory. Flatbed scanners also make use of the calibration file as a cache
to avoid calibration before each scan. Calibration file name is the name of the scanner model if only
one scanner is detected. In the case of several identical model, the file name will be the name
-of the logical USB device name.
+of the logical USB device name. The expiration time manages the time a calibration is valid in cache.
+A value of -1 means forever, 0 means no cache.
.SH EXTRAS SCAN OPTIONS
@@ -123,6 +124,13 @@ as root. It maybe used in case of sheet-fed scanners to share a calibration file
users.
.RE
+.B \-\-expiration\-time
+.RS
+ Specify the time (in minutes) a cached calibration is considered valid. If older than the given value, a new
+calibration is done. A value of -1 means no expiration and cached value are kept forever unless cleared by
+userwith the calibration clear option. A value of 0 means cache is disabled.
+.RE
+
.PP
Additionally, several 'software' options are exposed by the backend. These
are reimplementations of features provided natively by larger scanners, but
@@ -274,6 +282,9 @@ cncsolutions (http://www.cncsolutions.com.br) sponsored and supported the work o
.TP
Brian Paavo from Benthic Science Limited for donating a Canoscan LiDE 700F.
.br
+.TP
+Dany Qumsiyeh for donating a Canoscan LiDE 210 and a LiDE 220.
+.br
.SH "SEE ALSO"
.BR sane (7),
diff --git a/doc/sane-pixma.man b/doc/sane-pixma.man
index c780ba8..c72cbda 100644
--- a/doc/sane-pixma.man
+++ b/doc/sane-pixma.man
@@ -1,4 +1,4 @@
-.TH "sane\-pixma" "5" "29 Oct 2014" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
+.TH "sane\-pixma" "5" "03 Apr 2015" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.IX sane\-pixma
.SH NAME
sane\-pixma \- SANE backend for Canon Multi-Function Printers and CanoScan Scanners
@@ -15,11 +15,11 @@ over IPv4 as well as IPv6 (MFNP over IPv6 is untested).
Currently, the following models work with this backend:
.PP
.RS
-PIXMA MG2100, MG2400, MG2900, MG3100, MG3200, MG3500, MG4200
+PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3100, MG3200
.br
-PIXMA MG5100, MG5200, MG5300, MG5500, MG6100, MG6200, MG6300
+PIXMA MG3500, MG4200, MG5100, MG5200, MG5300, MG5500, MG6100
.br
-PIXMA MG7100, MG8200
+PIXMA MG6200, MG6300, MG6400, MG7100, MG8200
.br
PIXMA MP140, MP150, MP160, MP170, MP180, MP190
.br
@@ -77,21 +77,21 @@ in the backend so that they get recognized and activated.
Feedback in the sane\-devel mailing list welcome.
.PP
.RS
-PIXMA E400, E460, E500, E510, E560, E600, E610
+PIXMA E400, E460, E480, E500, E510, E560, E600, E610
.br
-PIXMA MG2200, MG2500, MG4100, MG5400, MG5600
-.br
-PIXMA MG6400, MG6500, MG6600, MG7500, MG8100
+PIXMA MG4100, MG5400, MG5600, MG6500, MG6600, MG7500, MG8100
.br
PIXMA MP375R, MP493, MP495, MP740
.br
-PIXMA MX320, MX390, MX430, MX450, MX470, MX710
+PIXMA MX320, MX390, MX430, MX450, MX470, MX490, MX710
.br
-imageCLASS MF5630, MF5650, MF5750, MF8030, MF8170c
+imageCLASS MF810/820, MF5630, MF5650, MF5750, MF8030, MF8170c
.br
imageRUNNER 1133
.br
-i-SENSYS MF5880dn, MF6680dn, MF8500C Series
+i-SENSYS MF210 Series, MF220 Series, MF5880dn, MF5900 Series
+.br
+i-SENSYS MF6100 Series, MF6680dn, MF8500C Series
.br
MAXIFY MB2000, MB2300, MB5000, MB5300
.RE