[sane-devel] perfection v10

valerio bardo1950 at fastwebnet.it
Tue Jan 7 12:30:10 GMT 2020


hi Olaf,

Il 07/01/20 13:07, Olaf Meeuwissen ha scritto:
> Hi Valerio,
> 
> valerio writes:
> 
>> hi Olaf,
>> thanks a lot
>>

> 
> Oops!  My mistake.  You need to add a --pkg-vers option with the value
> of the iscan-data version you have installed.  Blindly assuming that is
> 1.39.1-2 (adjust as necessary!), the command becomes
> 
>     sh -x make-policy-file --force --mode udev \
> 	    --registry /var/lib/iscan-data/clean-files \
>              --pkg-vers 1.39.1-2 \
>              --out-file policy.out > log.out 2>&1
> 

well, i'll try to attach this two files, i don't know if it is possible.

i have found that the problem clould be the xhci and suggest to change 
the USB configuration, xhci pre-boot mode fron enabled to disabled, i 
tried, but doesn't work

and the scanner is connected to a usb 2.0 port


> Hope this helps,
> --
> Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
>   GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
>   Support Free Software                        https://my.fsf.org/donate
>   Join the Free Software Foundation              https://my.fsf.org/join
> 

valerio
-------------- next part --------------
+ LC_COLLATE=POSIX
+ export LC_COLLATE
+ DO_HELP=no
+ DO_VERS=no
+ FORCE=no
+ QUIET=no
+ TEST=no
+ MODE=
+ DESC_FILE=
+ USB_FILE=
+ MATCHING_FILE=
+ OUT_FILE=
+ TEMPLATE=
+ REGISTRY=
+ PKG_VERS=
+ getopt --options hvfqm:d:o:t:r:p: --longopt help,version,force,quiet,test --longopt mode:,desc-file:,usb-file:,out-file:,template: --longopt registry:,pkg-vers: -- --force --mode udev make-policy-file --registry /var/lib/iscan-data/clean-files --pkg-vers 1.39.1-2 --out-file policy.out
+ parsed_opts= --force --mode 'udev' --registry '/var/lib/iscan-data/clean-files' --pkg-vers '1.39.1-2' --out-file 'policy.out' -- 'make-policy-file'
+ test 0 != 0
+ eval set --  --force --mode 'udev' --registry '/var/lib/iscan-data/clean-files' --pkg-vers '1.39.1-2' --out-file 'policy.out' -- 'make-policy-file'
+ set -- --force --mode udev --registry /var/lib/iscan-data/clean-files --pkg-vers 1.39.1-2 --out-file policy.out -- make-policy-file
+ test x-- != x--force
+ FORCE=yes
+ shift
+ test x-- != x--mode
+ MODE=udev
+ shift 2
+ test x-- != x--registry
+ REGISTRY=/var/lib/iscan-data/clean-files
+ shift 2
+ test x-- != x--pkg-vers
+ PKG_VERS=1.39.1-2
+ shift 2
+ test x-- != x--out-file
+ OUT_FILE=policy.out
+ shift 2
+ test x-- != x--
+ shift
+ test 0 -ne 1
+ mesg warning: ignoring remaining command line arguments
+ basename make-policy-file
+ echo make-policy-file: warning: ignoring remaining command line arguments
make-policy-file: warning: ignoring remaining command line arguments
+ test xno != xno
+ test xno != xno
+ test x = xudev
+ test xfdi != xudev
+ test xudev != xudev
+ test xyes = xno
+ test x = x/var/lib/iscan-data/clean-files
+ test x != x/var/lib/iscan-data/clean-files
+ test x = x1.39.1-2
+ test x = x
+ find_file epkowa.desc /usr/lib/iscan-data/.. /usr/lib/iscan-data
+ target_file=epkowa.desc
+ shift
+ test_dirs=
+ test xyes = xno
+ test -f /usr/share/local/iscan-data/epkowa.desc
+ test -f /opt/share/iscan-data/epkowa.desc
+ test -f /usr/share/iscan-data/epkowa.desc
+ echo /usr/share/iscan-data/epkowa.desc
+ break
+ DESC_FILE=/usr/share/iscan-data/epkowa.desc
+ test x = x
+ find_file usb /usr/lib/iscan-data/.. /usr/lib/iscan-data
+ target_file=usb
+ shift
+ test_dirs=
+ test xyes = xno
+ test -f /usr/share/local/iscan-data/usb
+ test -f /opt/share/iscan-data/usb
+ test -f /usr/share/iscan-data/usb
+ echo /usr/share/iscan-data/usb
+ break
+ USB_FILE=/usr/share/iscan-data/usb
+ find_file matching /usr/lib/iscan-data/.. /usr/lib/iscan-data
+ target_file=matching
+ shift
+ test_dirs=
+ test xyes = xno
+ test -f /usr/share/local/iscan-data/matching
+ test -f /opt/share/iscan-data/matching
+ test -f /usr/share/iscan-data/matching
+ test -f /var/lib/iscan-data/matching
+ MATCHING_FILE=
+ find_file fdi.xsl /usr/lib/iscan-data /usr/lib/iscan-data/policy
+ target_file=fdi.xsl
+ shift
+ test_dirs=
+ test xyes = xno
+ test -f /usr/share/local/iscan-data/fdi.xsl
+ test -f /opt/share/iscan-data/fdi.xsl
+ test -f /usr/share/iscan-data/fdi.xsl
+ echo /usr/share/iscan-data/fdi.xsl
+ break
+ XSL_FILE=/usr/share/iscan-data/fdi.xsl
+ test x = x/usr/share/iscan-data/epkowa.desc
+ test -f /usr/share/iscan-data/epkowa.desc
+ test x = x
+ test xyes = xno
+ :
+ sed -n 1p
+ ls /lib/udev/rules.d/60-libsane.rules
+ rules=/lib/udev/rules.d/60-libsane.rules
+ test -f /lib/udev/rules.d/60-libsane.rules
+ TEMPLATE=/lib/udev/rules.d/60-libsane.rules
+ break 2
+ test x = xpolicy.out
+ fdi_template_override
+ test xfdi != xudev
+ exit 1
+ id=
+ test x = x/lib/udev/rules.d/60-libsane.rules
+ test -f /lib/udev/rules.d/60-libsane.rules
+ test x/lib/udev/rules.d/60-libsane.rules = xpolicy.out
+ test -f policy.out
+ dirname policy.out
+ OUT_PATH=.
+ test ! -d .
+ 
+ get_header /lib/udev/rules.d/60-libsane.rules
+ sed -e s|%|%%|g -e s|\(GOTO.*\)libsane_\(.*\)|\1iscan_\2|g -e s|\(LABEL.*\)libsane_\(.*\)|\1iscan_\2|g
+ sed -n /^#/!{ :t; /^SYSFS{id/q; /^ATTR{id/q; /^ATTRS{id/q; p; n; b t} /lib/udev/rules.d/60-libsane.rules
+ tac
+ sed -n -e /^#/!{ :t; p; n; b t}
+ tac
+ sed -e 1i\
#    This file is generated as part of the installation of "Image\
#    Scan! for Linux".  Any changes will be overwritten with each\
#    upgrade of the package.
+ header=#    This file is generated as part of the installation of "Image
#    Scan! for Linux".  Any changes will be overwritten with each
#    upgrade of the package.
ACTION!="add", GOTO="iscan_rules_end"

# The following rule will disable USB autosuspend for the device
ENV{DEVTYPE}=="usb_device", ENV{libsane_matched}=="yes", TEST=="power/control", ATTR{power/control}="on"

SUBSYSTEMS=="scsi", GOTO="iscan_scsi_rules_begin"
GOTO="iscan_rules_end"

LABEL="iscan_scsi_rules_begin"
KERNEL!="sg[0-9]*", GOTO="iscan_rules_end"

# Generic: SCSI device type 6 indicates a scanner
ATTRS{type}=="6", ENV{libsane_matched}="yes"

# Some scanners advertise themselves as SCSI device type 3

# Wildcard: for some Epson SCSI scanners
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="SCANNER*", ENV{libsane_matched}="yes"

# Epson Expression 800 | Epson Expression 800
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Expression800", ENV{libsane_matched}="yes"

# Epson Perfection 2450 | Epson GT-9700F | Epson Perfection 2450 PHOTO
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-9700", ENV{libsane_matched}="yes"

# Epson Perfection 3200 | Epson GT-9800F | Epson Perfection 3200 PHOTO
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-9800", ENV{libsane_matched}="yes"

# Epson GT-X900 | Epson Perfection V700 Photo | Epson Perfection V750 Photo
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-X900", ENV{libsane_matched}="yes"

# Epson Perfection 636S | Epson Perfection 1200S | Epson Perfection 1200S
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Perfection1200", ENV{libsane_matched}="yes"

# Epson Perfection 636 | Epson Perfection 636S
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Perfection636", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 4p
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1130A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIc
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1750A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIp
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1790A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIcx
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C2500A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 4c
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C2520A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 5p
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C5110A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 6200C
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C6270A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 6300C
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C7670A", ENV{libsane_matched}="yes"


LABEL="iscan_rules_end"
+ get_footer /lib/udev/rules.d/60-libsane.rules
+ sed -e s|%|%%|g -e s|\(GOTO.*\)libsane_\(.*\)|\1iscan_\2|g -e s|\(LABEL.*\)libsane_\(.*\)|\1iscan_\2|g
+ cat /lib/udev/rules.d/60-libsane.rules
+ wc -l
+ line_count=85
+ sed -n /{idProduct}/ = /lib/udev/rules.d/60-libsane.rules
+ tail -n 1
+ last=
+ expr 85 -
expr: syntax error: missing argument after "-"
+ num_lines=
+ tail -n /lib/udev/rules.d/60-libsane.rules
tail: numero di righe non valido: "/lib/udev/rules.d/60-libsane.rules"
+ footer=
+ get_stanza /lib/udev/rules.d/60-libsane.rules
+ sed -n -e /[[:upper:]][[:upper:]]*{idVendor}=\{1,2\}"04[bB]8"/{ p; q } /lib/udev/rules.d/60-libsane.rules
+ sed -e s|%|%%|g -e s|\(GOTO.*\)libsane_\(.*\)|\1iscan_\2|g -e s|\(LABEL.*\)libsane_\(.*\)|\1iscan_\2|g
+ sed s|\([[:upper:]][[:upper:]]*{idProduct}=\{1,2\}\)"[[:xdigit:]]\{4\}"|\1"####"|
+ stanza=
+ printf #    This file is generated as part of the installation of "Image
#    Scan! for Linux".  Any changes will be overwritten with each
#    upgrade of the package.
ACTION!="add", GOTO="iscan_rules_end"

# The following rule will disable USB autosuspend for the device
ENV{DEVTYPE}=="usb_device", ENV{libsane_matched}=="yes", TEST=="power/control", ATTR{power/control}="on"

SUBSYSTEMS=="scsi", GOTO="iscan_scsi_rules_begin"
GOTO="iscan_rules_end"

LABEL="iscan_scsi_rules_begin"
KERNEL!="sg[0-9]*", GOTO="iscan_rules_end"

# Generic: SCSI device type 6 indicates a scanner
ATTRS{type}=="6", ENV{libsane_matched}="yes"

# Some scanners advertise themselves as SCSI device type 3

# Wildcard: for some Epson SCSI scanners
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="SCANNER*", ENV{libsane_matched}="yes"

# Epson Expression 800 | Epson Expression 800
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Expression800", ENV{libsane_matched}="yes"

# Epson Perfection 2450 | Epson GT-9700F | Epson Perfection 2450 PHOTO
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-9700", ENV{libsane_matched}="yes"

# Epson Perfection 3200 | Epson GT-9800F | Epson Perfection 3200 PHOTO
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-9800", ENV{libsane_matched}="yes"

# Epson GT-X900 | Epson Perfection V700 Photo | Epson Perfection V750 Photo
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-X900", ENV{libsane_matched}="yes"

# Epson Perfection 636S | Epson Perfection 1200S | Epson Perfection 1200S
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Perfection1200", ENV{libsane_matched}="yes"

# Epson Perfection 636 | Epson Perfection 636S
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Perfection636", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 4p
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1130A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIc
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1750A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIp
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1790A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIcx
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C2500A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 4c
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C2520A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 5p
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C5110A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 6200C
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C6270A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 6300C
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C7670A", ENV{libsane_matched}="yes"


LABEL="iscan_rules_end"\n
+ echo
+ get_usb_id /usr/share/iscan-data/epkowa.desc /usr/share/iscan-data/usb 
+ awk /^:usbid/{ print $3 } /^usb/{ print $3 } /usr/share/iscan-data/epkowa.desc /usr/share/iscan-data/usb
+ sed s|"||g; s|^0x||
+ sort -u
+ printf \n
+ sed s|"\([^#]*\)####"|"\10101"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10102"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10103"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10104"|
+ + printf \n
sed s|"\([^#]*\)####"|"\10105"|
+ + sed s|"\([^#]*\)####"|"\10106"|
printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\10107"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10108"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10109"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1010a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1010b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1010c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1010d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1010e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1010f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10110"|
+ sed s|"\([^#]*\)####"|"\10112"|
+ printf \n
+ + printfsed \n s|"\([^#]*\)####"|"\10114"|

+ printf \n
+ sed s|"\([^#]*\)####"|"\10116"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10118"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10119"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1011a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1011b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1011c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1011d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1011e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1011f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10120"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10121"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10122"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10126"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10128"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10129"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1012a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1012b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1012c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1012d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1012e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1012f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10130"|
+ + sed s|"\([^#]*\)####"|"\10131"|printf
 \n
+ printf \n+ 
sed s|"\([^#]*\)####"|"\10133"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10135"|
+ + sed s|"\([^#]*\)####"|"\10136"|
printf \n
+ + sed s|"\([^#]*\)####"|"\10137"|
printf \n
+ + sedprintf s|"\([^#]*\)####"|"\10138"| \n

+ printf \n
+ sed s|"\([^#]*\)####"|"\1013a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1013b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1013c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1013d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10142"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10143"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10144"|
+ + printf \n
sed s|"\([^#]*\)####"|"\10147"|
+ + printf \n
sed s|"\([^#]*\)####"|"\1014a"|
+ + printf \nsed
 s|"\([^#]*\)####"|"\1014b"|
+ + sedprintf s|"\([^#]*\)####"|"\10151"| \n

+ printf \n
+ sed s|"\([^#]*\)####"|"\10153"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1015b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10801"|
+ + sed s|"\([^#]*\)####"|"\10802"|printf
 \n
+ + printf \n
sed s|"\([^#]*\)####"|"\10805"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10806"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10807"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10808"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1080a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1080c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1080d"|
+ + sed s|"\([^#]*\)####"|"\1080e"|
printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\1080f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10810"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10811"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10813"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10814"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10815"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10817"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10818"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10819"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1081a"|
+ + sed s|"\([^#]*\)####"|"\1081c"|
printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\1081d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1081f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10820"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10821"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10827"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10828"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10829"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1082a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1082b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1082e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1082f"|
+ + sedprintf s|"\([^#]*\)####"|"\10830"| \n

+ printf \n
+ sed s|"\([^#]*\)####"|"\10831"|
+ sed s|"\([^#]*\)####"|"\10833"|
+ printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\10834"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10835"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10836"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10837"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10838"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10839"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1083a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1083c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1083f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10841"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10843"|
+ + printf \n
sed s|"\([^#]*\)####"|"\10844"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10846"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10847"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10848"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10849"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1084a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1084c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1084d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1084f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10850"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10851"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10852"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10853"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10854"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10855"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10856"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1085c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1085d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1085e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1085f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10860"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10861"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10862"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10863"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10864"|
+ + sed s|"\([^#]*\)####"|"\10865"|
printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\10866"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10869"|
+ sed s|"\([^#]*\)####"|"\1086a"|
+ printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\10870"|
+ sed s|"\([^#]*\)####"|"\10871"|
+ printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\10872"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10873"|
+ + sed s|"\([^#]*\)####"|"\10878"|
printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\10879"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1087b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1087c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1087d"|
+ + printf \n
sed s|"\([^#]*\)####"|"\1087e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1087f"|
+ + printf \n
sed s|"\([^#]*\)####"|"\10880"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10881"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10883"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10884"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10885"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1088f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10890"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10891"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10892"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10893"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10894"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10895"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10896"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10897"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10898"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\10899"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1089a"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1089b"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1089c"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1089d"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1089e"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\1089f"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108a0"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108a1"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108a5"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108a6"|
+ + printf \n
sed s|"\([^#]*\)####"|"\108a8"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108a9"|
+ + printf \n
sed s|"\([^#]*\)####"|"\108aa"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108ab"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108ac"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108ad"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108ae"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108af"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b0"|
+ sed s|"\([^#]*\)####"|"\108b3"|
+ printf \n
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b4"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b5"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b6"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b7"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b8"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108b9"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108bd"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108be"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108bf"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c0"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c1"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c3"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c4"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c5"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c6"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c7"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c8"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108c9"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108ca"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108cd"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\108d0"|
+ printf \n
+ sed s|"\([^#]*\)####"|"\11111"|
+ echo
+ printf \n
+ test x != x/var/lib/iscan-data/clean-files
+ test -f /var/lib/iscan-data/clean-files
+ sed -i s|.*\tpolicy.out$|1.39.1-2\tpolicy.out| /var/lib/iscan-data/clean-files
+ grep -E 	policy.out$ /var/lib/iscan-data/clean-files
+ printf 1.39.1-2\tpolicy.out\n
+ exit 0
-------------- next part --------------
#    This file is generated as part of the installation of "Image
#    Scan! for Linux".  Any changes will be overwritten with each
#    upgrade of the package.
ACTION!="add", GOTO="iscan_rules_end"

# The following rule will disable USB autosuspend for the device
ENV{DEVTYPE}=="usb_device", ENV{libsane_matched}=="yes", TEST=="power/control", ATTR{power/control}="on"

SUBSYSTEMS=="scsi", GOTO="iscan_scsi_rules_begin"
GOTO="iscan_rules_end"

LABEL="iscan_scsi_rules_begin"
KERNEL!="sg[0-9]*", GOTO="iscan_rules_end"

# Generic: SCSI device type 6 indicates a scanner
ATTRS{type}=="6", ENV{libsane_matched}="yes"

# Some scanners advertise themselves as SCSI device type 3

# Wildcard: for some Epson SCSI scanners
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="SCANNER*", ENV{libsane_matched}="yes"

# Epson Expression 800 | Epson Expression 800
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Expression800", ENV{libsane_matched}="yes"

# Epson Perfection 2450 | Epson GT-9700F | Epson Perfection 2450 PHOTO
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-9700", ENV{libsane_matched}="yes"

# Epson Perfection 3200 | Epson GT-9800F | Epson Perfection 3200 PHOTO
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-9800", ENV{libsane_matched}="yes"

# Epson GT-X900 | Epson Perfection V700 Photo | Epson Perfection V750 Photo
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="GT-X900", ENV{libsane_matched}="yes"

# Epson Perfection 636S | Epson Perfection 1200S | Epson Perfection 1200S
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Perfection1200", ENV{libsane_matched}="yes"

# Epson Perfection 636 | Epson Perfection 636S
ATTRS{type}=="3", ATTRS{vendor}=="EPSON", ATTRS{model}=="Perfection636", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 4p
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1130A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIc
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1750A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIp
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C1790A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet IIcx
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C2500A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 4c
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C2520A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 5p
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C5110A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 6200C
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C6270A", ENV{libsane_matched}="yes"

# Hewlett-Packard ScanJet 6300C
ATTRS{type}=="3", ATTRS{vendor}=="HP", ATTRS{model}=="C7670A", ENV{libsane_matched}="yes"


LABEL="iscan_rules_end"
















































































































































































































More information about the sane-devel mailing list