diff options
80 files changed, 8924 insertions, 2274 deletions
@@ -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 (*) @@ -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, ¶_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, ¶_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 (¤t_time)), SANE_DESC_VERSION, PACKAGE_STRING); ++/* printf ("This page was last updated on %s by sane-desc %s from %s\n", ++ asctime (localtime (¤t_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 |