rpms/sane-backends/devel sane-backends-1.0.18-udev-symlink.patch, NONE, 1.1 sane-backends-1.0.18-udev-098.patch, 1.1, 1.2 sane-backends-1.0.18-udev-new-kernels.patch, 1.1, 1.2 sane-backends.spec, 1.82, 1.83

Nils Philippsen (nphilipp) fedora-extras-commits at redhat.com
Sun Jul 22 21:04:18 UTC 2007


Author: nphilipp

Update of /cvs/pkgs/rpms/sane-backends/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29282

Modified Files:
	sane-backends-1.0.18-udev-098.patch 
	sane-backends-1.0.18-udev-new-kernels.patch sane-backends.spec 
Added Files:
	sane-backends-1.0.18-udev-symlink.patch 
Log Message:
reorder udev rules tweaking (#244444)


sane-backends-1.0.18-udev-symlink.patch:

--- NEW FILE sane-backends-1.0.18-udev-symlink.patch ---
--- sane-backends-1.0.18/tools/udev/libsane.rules.udev	2006-07-03 00:29:29.000000000 +0200
+++ sane-backends-1.0.18/tools/udev/libsane.rules	2007-07-22 22:46:52.000000000 +0200
@@ -18,1048 +18,1048 @@ ACTION!="add", GOTO="libsane_rules_end"
 SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"
 
 # Hewlett-Packard ScanJet 4100C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", SYMLINK+="scanner-%k"
 # Hewlett-Packard Photosmart S20 (C5101A) | Hewlett-Packard Photosmart S20xi (C7150A)
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4200C | Hewlett-Packard ScanJet 4200Cxi | Hewlett-Packard ScanJet 4200Cse
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0105", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0105", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 6200C | Hewlett-Packard ScanJet 6250C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0201", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0201", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3300c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0205", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0205", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4300c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0305", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0305", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 5200C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0401", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0401", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3400c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0405", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0405", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 2100C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0505", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0505", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 6300C | Hewlett-Packard ScanJet 6350C | Hewlett-Packard ScanJet 6390C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0601", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0601", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 2200C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0605", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0605", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 5300C | Hewlett-Packard ScanJet 5370C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0701", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0701", SYMLINK+="scanner-%k"
 # Hewlett-Packard HP4400C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0705", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0705", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 7400c | Hewlett-Packard ScanJet 7450c | Hewlett-Packard ScanJet 7490c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0801", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0801", SYMLINK+="scanner-%k"
 # Hewlett-Packard HP4470C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0805", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0805", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 2300C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0901", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0901", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 2400c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0a01", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0a01", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 8200 | Hewlett-Packard ScanJet 8250 | Hewlett-Packard ScanJet 8290 | Hewlett Packard ScanJet 8200
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0b01", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0b01", SYMLINK+="scanner-%k"
 # Hewlett-Packard Photo Scanner 1000
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1001", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 5400c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1005", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 5470c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1105", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1105", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4500C | Hewlett-Packard ScanJet 5550C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1205", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1205", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1305", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1305", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3670c | Hewlett-Packard ScanJet 3690c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1405", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1405", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 5530C Photosmart
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1605", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1605", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 5590
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1705", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1705", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 7650
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1805", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1805", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4850C | Hewlett-Packard ScanJet 4890C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1b05", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1b05", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3530C | Hewlett-Packard ScanJet 3570C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2005", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3500C
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2205", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2205", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3970c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2305", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2305", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4070 Photosmart
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2405", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2405", SYMLINK+="scanner-%k"
 # Hewlett Packard ScanJet 3770 | Hewlett-Packard ScanJet 3770
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2505", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2505", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 3800c
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2605", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2605", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4600 | Hewlett-Packard ScanJet 4670
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3005", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4370
-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4105", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4105", SYMLINK+="scanner-%k"
 # Mustek BearPaw 1200
-SYSFS{idVendor}=="0400", SYSFS{idProduct}=="1000", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0400", SYSFS{idProduct}=="1000", SYMLINK+="scanner-%k"
 # Mustek BearPaw 1200 | Mustek BearPaw 2400
-SYSFS{idVendor}=="0400", SYSFS{idProduct}=="1001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0400", SYSFS{idProduct}=="1001", SYMLINK+="scanner-%k"
 # Kodak i30 | Kodak i30
-SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6001", SYMLINK+="scanner-%k"
 # Kodak i40
-SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6002", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6002", SYMLINK+="scanner-%k"
 # Kodak i50
-SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6003", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6003", SYMLINK+="scanner-%k"
 # Kodak i60
-SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6004", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6004", SYMLINK+="scanner-%k"
 # Kodak i80
-SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="040a", SYSFS{idProduct}=="6005", SYMLINK+="scanner-%k"
 # Creative WebCam Go Mini | Creative WebCam Go Mini
-SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4007", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4007", SYMLINK+="scanner-%k"
 # Xerox WorkCentre XK35c
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0020", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0020", SYMLINK+="scanner-%k"
 # Lexmark X70 | Lexmark X73
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="002d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="002d", SYMLINK+="scanner-%k"
 # Lexmark X83
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="003d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="003d", SYMLINK+="scanner-%k"
 # Lexmark X74 | Lexmark X75 | Lexmark X75 PrinTrio
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0060", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0060", SYMLINK+="scanner-%k"
 # Lexmark X5130
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0065", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0065", SYMLINK+="scanner-%k"
 # Lexmark X6170
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0072", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0072", SYMLINK+="scanner-%k"
 # Lexmark X1110 | Lexmark X1130 | Lexmark X1140 | Lexmark X1150 | Lexmark X1170 | Lexmark X1180 | Lexmark X1185
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="007c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="007c", SYMLINK+="scanner-%k"
 # Lexmark Photo 3150
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="007d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="007d", SYMLINK+="scanner-%k"
 # Lexmark X5250
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0093", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0093", SYMLINK+="scanner-%k"
 # Lexmark P6250
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0097", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="0097", SYMLINK+="scanner-%k"
 # Lexmark X2330
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="00bb", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="00bb", SYMLINK+="scanner-%k"
 # Xerox WorkCentre Pro 412
-SYSFS{idVendor}=="043d", SYSFS{idProduct}=="4303", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="043d", SYSFS{idProduct}=="4303", SYMLINK+="scanner-%k"
 # Genius Vivid Pro USB
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2001", SYMLINK+="scanner-%k"
 # Genius ColorPage HR6 V1
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2004", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2004", SYMLINK+="scanner-%k"
 # Genius Colorpage HR6 V2
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2007", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2007", SYMLINK+="scanner-%k"
 # Genius Colorpage HR6 V2
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2008", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2008", SYMLINK+="scanner-%k"
 # Genius Colorpage HR6A
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2009", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2009", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid3x | Genius Colorpage Vivid3 V2
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2011", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2011", SYMLINK+="scanner-%k"
 # Genius Colorpage HR7
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2013", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2013", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid4
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2014", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2014", SYMLINK+="scanner-%k"
 # Genius Colorpage HR7LE
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2015", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2015", SYMLINK+="scanner-%k"
 # Genius Colorpage HR6X
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2016", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2016", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid3xe
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2017", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2017", SYMLINK+="scanner-%k"
 # Genius ColorPage HR7X
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2018", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2018", SYMLINK+="scanner-%k"
 # Genius ColorPage HR6X Slim
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2019", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2019", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid4xe
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201a", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid4x
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201b", SYMLINK+="scanner-%k"
 # Genius ColorPage HR8
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201c", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid 1200 X
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201d", SYMLINK+="scanner-%k"
 # Genius ColorPage Slim 1200
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201e", SYMLINK+="scanner-%k"
 # Genius Colorpage Vivid 1200 XE
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="201f", SYMLINK+="scanner-%k"
 # Genius ColorPage-Slim 1200 USB2
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2020", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2020", SYMLINK+="scanner-%k"
 # Genius ColorPage-SF600
-SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2021", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0458", SYSFS{idProduct}=="2021", SYMLINK+="scanner-%k"
 # Primax G2-300
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0300", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0300", SYMLINK+="scanner-%k"
 # Primax G2E-300
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0301", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0301", SYMLINK+="scanner-%k"
 # Primax G2-300 #2
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0302", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0302", SYMLINK+="scanner-%k"
 # Primax G2E-300 #2
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0303", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0303", SYMLINK+="scanner-%k"
 # Primax Colorado USB 9600
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0340", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0340", SYMLINK+="scanner-%k"
 # Primax Colorado 600U
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0341", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0341", SYMLINK+="scanner-%k"
 # Visioneer 6200
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0345", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0345", SYMLINK+="scanner-%k"
 # Primax Colorado 2400U | Memorex 6136u | TCE MK600U
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0346", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0346", SYMLINK+="scanner-%k"
 # Memorex 6142u | Microtek ScanMaker 3630 | Primax Primascan Colorado 2600u | Tiny FU661E | Visioneer Onetouch 4400 | Visioneer Primascan Colorado 2600u
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0347", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0347", SYMLINK+="scanner-%k"
 # Primax Colorado USB 19200
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0360", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0360", SYMLINK+="scanner-%k"
 # Primax Colorado 1200u
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0361", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0361", SYMLINK+="scanner-%k"
 # Primax Colorado 2200 USB | LG Electronics Scanworks 600U
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0364", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0364", SYMLINK+="scanner-%k"
 # UMAX Astra 2500
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0374", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0374", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD5345 | Medion/Lifetec/Tevion/Cytron MD6228 | Medion/Lifetec/Tevion/Cytron MD6471
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0377", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0377", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD 6190 | Medion/Lifetec/Tevion/Cytron MD 41260 | Medion/Lifetec/Tevion/Cytron MD 41985
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="037b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="037b", SYMLINK+="scanner-%k"
 # Primax G2-600
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0380", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0380", SYMLINK+="scanner-%k"
 # Primax ReadyScan 636i
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0381", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0381", SYMLINK+="scanner-%k"
 # Primax G2-600 #2
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0382", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0382", SYMLINK+="scanner-%k"
 # Primax G2E-600
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0383", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0383", SYMLINK+="scanner-%k"
 # UMAX Astra 3000 | UMAX Astra 3600
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="038a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="038a", SYMLINK+="scanner-%k"
 # Xerox 2400 Onetouch
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="038b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="038b", SYMLINK+="scanner-%k"
 # UMAX Astra 4100
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="038c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="038c", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD 6190
-SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0392", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0461", SYSFS{idProduct}=="0392", SYMLINK+="scanner-%k"
 # Logitech PageScan USB
-SYSFS{idVendor}=="046d", SYSFS{idProduct}=="040f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="046d", SYSFS{idProduct}=="040f", SYMLINK+="scanner-%k"
 # NEC Petiscan
-SYSFS{idVendor}=="0475", SYSFS{idProduct}=="0100", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0475", SYSFS{idProduct}=="0100", SYMLINK+="scanner-%k"
 # Relisys Eclipse 1200U | Relisys Episode
-SYSFS{idVendor}=="0475", SYSFS{idProduct}=="0103", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0475", SYSFS{idProduct}=="0103", SYMLINK+="scanner-%k"
 # Relisys Scorpio Ultra 3
-SYSFS{idVendor}=="0475", SYSFS{idProduct}=="0210", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0475", SYSFS{idProduct}=="0210", SYMLINK+="scanner-%k"
 # Trust Office Scan USB 19200
-SYSFS{idVendor}=="047b", SYSFS{idProduct}=="1000", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="047b", SYSFS{idProduct}=="1000", SYMLINK+="scanner-%k"
 # Hewlett-Packard ScanJet 4300c/Silitek
-SYSFS{idVendor}=="047b", SYSFS{idProduct}=="1002", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="047b", SYSFS{idProduct}=="1002", SYMLINK+="scanner-%k"
 # Compaq S4-100
-SYSFS{idVendor}=="049f", SYSFS{idProduct}=="001a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="049f", SYSFS{idProduct}=="001a", SYMLINK+="scanner-%k"
 # Compaq S200
-SYSFS{idVendor}=="049f", SYSFS{idProduct}=="0021", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="049f", SYSFS{idProduct}=="0021", SYMLINK+="scanner-%k"
 # Benq (Acer) 310U
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="1a20", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="1a20", SYMLINK+="scanner-%k"
 # Benq (Acer) 620U
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="1a2a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="1a2a", SYMLINK+="scanner-%k"
 # Benq (Acer) 320U | Benq (Acer) 340U | Mitsubishi Diamondview 648UT
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2022", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2022", SYMLINK+="scanner-%k"
 # Benq (Acer) 620UT
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2040", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2040", SYMLINK+="scanner-%k"
 # Benq (Acer) 640U | Guillemot / Hercules Maxi Scan A4 USB 640U | Guillemot / Hercules Maxi A4 36 bit
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2060", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2060", SYMLINK+="scanner-%k"
 # Benq (Acer) 640bu
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="207e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="207e", SYMLINK+="scanner-%k"
 # Benq (Acer) 3300 | Benq (Acer) 4300 | Mitsubishi Diamondview 650U
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20b0", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20b0", SYMLINK+="scanner-%k"
 # Benq (Acer) 640BT
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20be", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20be", SYMLINK+="scanner-%k"
 # Benq (Acer) 1240
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20c0", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20c0", SYMLINK+="scanner-%k"
 # Benq (Acer) 3300 | Benq (Acer) 4300 | Guillemot / Hercules Scan at home Touch 1248 (USB)
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20de", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20de", SYMLINK+="scanner-%k"
 # Benq (Acer) 5000
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20f8", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20f8", SYMLINK+="scanner-%k"
 # Benq (Acer) 5000E | Benq (Acer) 5000U
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20fc", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20fc", SYMLINK+="scanner-%k"
 # Benq (Acer) 5300
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20fe", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="20fe", SYMLINK+="scanner-%k"
 # Benq (Acer) 5150 | Benq (Acer) 5250
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2137", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2137", SYMLINK+="scanner-%k"
 # Benq (Acer) 7400UT
-SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2202", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a5", SYSFS{idProduct}=="2202", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 7600
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0211", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0211", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 5300
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0221", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0221", SYMLINK+="scanner-%k"
 # Microtek ScanPort 3000 | Vantas 3000 | Visioneer OneTouch 4800 USB | Xerox One Touch 4800
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0224", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0224", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 5300 USB | Visioneer OneTouch 5800 USB
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0226", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0226", SYMLINK+="scanner-%k"
 # Visioneer Onetouch 7100
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0229", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0229", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 6600
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="022a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="022a", SYMLINK+="scanner-%k"
 # Visioneer Onetouch 9000 | Visioneer Onetouch 9020
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="022c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="022c", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 6100
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0231", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0231", SYMLINK+="scanner-%k"
 # Visioneer 6200 EPP/USB
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0311", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0311", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 8100
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0321", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0321", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 8600
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0331", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0331", SYMLINK+="scanner-%k"
 # Visioneer Onetouch 9320
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0362", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0362", SYMLINK+="scanner-%k"
 # Visioneer Onetouch 8700 | Visioneer Onetouch 8920
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0371", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0371", SYMLINK+="scanner-%k"
 # Xerox 4800 One Touch
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="03a0", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="03a0", SYMLINK+="scanner-%k"
 # Visioneer Onetouch Pro 8800 | Visioneer Onetouch Pro 8820
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0410", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0410", SYMLINK+="scanner-%k"
 # Visioneer 9450 USB
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0421", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0421", SYMLINK+="scanner-%k"
 # Visioneer Strobe XP 100
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0427", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0427", SYMLINK+="scanner-%k"
 # Visioneer OneTouch 7300
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0444", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0444", SYMLINK+="scanner-%k"
 # Xerox DocuMate 510
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0446", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0446", SYMLINK+="scanner-%k"
 # Xerox DocuMate252
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0449", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0449", SYMLINK+="scanner-%k"
 # Xerox DocuMate262
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="044c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="044c", SYMLINK+="scanner-%k"
 # Xerox DocuMate272
-SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0475", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a7", SYSFS{idProduct}=="0475", SYMLINK+="scanner-%k"
 # Canon IS 32
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="105d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="105d", SYMLINK+="scanner-%k"
 # Canon DR-2080C
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1601", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1601", SYMLINK+="scanner-%k"
 # Canon DR-6080
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1607", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1607", SYMLINK+="scanner-%k"
 # Canon PIXMA MP110
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1700", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1700", SYMLINK+="scanner-%k"
 # Canon PIXMA MP130
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1701", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1701", SYMLINK+="scanner-%k"
 # Canon PIXMA MP750
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1706", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1706", SYMLINK+="scanner-%k"
 # Canon PIXMA MP780
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1707", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1707", SYMLINK+="scanner-%k"
 # Canon PIXMA MP760
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1708", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1708", SYMLINK+="scanner-%k"
 # Canon PIXMA MP150
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1709", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1709", SYMLINK+="scanner-%k"
 # Canon PIXMA MP170
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170a", SYMLINK+="scanner-%k"
 # Canon PIXMA MP450
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170b", SYMLINK+="scanner-%k"
 # Canon PIXMA MP500
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170c", SYMLINK+="scanner-%k"
 # Canon PIXMA MP800
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="170d", SYMLINK+="scanner-%k"
 # Canon PIXMA MP830
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1713", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1713", SYMLINK+="scanner-%k"
 # Canon CanoScan FB320U
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2201", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2201", SYMLINK+="scanner-%k"
 # Canon CanoScan FB620U
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2202", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2202", SYMLINK+="scanner-%k"
 # Canon CanoScan fb630u | Canon CanoScan fb636u
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2204", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2204", SYMLINK+="scanner-%k"
 # Canon CanoScan FB1210U
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2205", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2205", SYMLINK+="scanner-%k"
 # Canon CanoScan N650U/N656U
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2206", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2206", SYMLINK+="scanner-%k"
 # Canon CanoScan N1220U
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2207", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2207", SYMLINK+="scanner-%k"
 # Canon CanoScan D660U
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2208", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2208", SYMLINK+="scanner-%k"
 # Canon CanoScan D2400UF
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220a", SYMLINK+="scanner-%k"
 # Canon CanoScan D646U | Canon CanoScan D646U ex
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220b", SYMLINK+="scanner-%k"
 # Canon CanoScan D1250U2
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220c", SYMLINK+="scanner-%k"
 # Canon CanoScan N670U/N676U/LiDE20
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220d", SYMLINK+="scanner-%k"
 # Canon CanoScan N1240U/LiDE30
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220e", SYMLINK+="scanner-%k"
 # Canon CanoScan 8000F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="220f", SYMLINK+="scanner-%k"
 # Canon CanoScan 9900F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2210", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2210", SYMLINK+="scanner-%k"
 # Canon CanoScan 5000F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2212", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2212", SYMLINK+="scanner-%k"
 # Canon CanoScan LiDE 35 | Canon CanoScan LiDE 40 | Canon CanoScan LiDE 50
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2213", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2213", SYMLINK+="scanner-%k"
 # Canon CanoScan LiDE 80
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2214", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2214", SYMLINK+="scanner-%k"
 # Canon CanoScan 3000 | Canon CanoScan 3000ex | Canon CanoScan 3000F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2215", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2215", SYMLINK+="scanner-%k"
 # Canon CanoScan 3200F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2216", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2216", SYMLINK+="scanner-%k"
 # Canon CanoScan 5200F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2217", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2217", SYMLINK+="scanner-%k"
 # Canon CanoScan 9950F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2219", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2219", SYMLINK+="scanner-%k"
 # Canon CanoScan 4200F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221b", SYMLINK+="scanner-%k"
 # Canon CanoScan LiDE 60
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221c", SYMLINK+="scanner-%k"
 # Canon CanoScan 8400F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221e", SYMLINK+="scanner-%k"
 # Canon CanoScan LiDE 500F
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="221f", SYMLINK+="scanner-%k"
 # Canon CanoScan LiDE25
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2220", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2220", SYMLINK+="scanner-%k"
 # Canon MultiPASS MP730
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="262f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="262f", SYMLINK+="scanner-%k"
 # Canon MultiPASS MP700
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2630", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2630", SYMLINK+="scanner-%k"
 # Canon Smartbase MP360
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="263c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="263c", SYMLINK+="scanner-%k"
 # Canon FS4000
-SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="3042", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="3042", SYMLINK+="scanner-%k"
 # Nikon LS 40 ED
-SYSFS{idVendor}=="04b0", SYSFS{idProduct}=="4000", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b0", SYSFS{idProduct}=="4000", SYMLINK+="scanner-%k"
 # Nikon LS 50 ED | Nikon Coolscan V ED
-SYSFS{idVendor}=="04b0", SYSFS{idProduct}=="4001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b0", SYSFS{idProduct}=="4001", SYMLINK+="scanner-%k"
 # Nikon Super Coolscan LS-5000 ED
-SYSFS{idVendor}=="04b0", SYSFS{idProduct}=="4002", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b0", SYSFS{idProduct}=="4002", SYMLINK+="scanner-%k"
 # EPSON GT-7000U | EPSON Perfection 636U | Epson Perfection 636U
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0101", SYMLINK+="scanner-%k"
 # EPSON GT-2200 | Epson GT-2200
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0102", SYMLINK+="scanner-%k"
 # EPSON GT-6600U | EPSON Perfection 610 | Epson Perfection 610
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0103", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0103", SYMLINK+="scanner-%k"
 # EPSON GT-7600U | EPSON GT-7600UF | EPSON Perfection 1200U | EPSON Perfection 1200U PHOTO | Epson Perfection 1200U | Epson Perfection 1200Photo
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0104", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0104", SYMLINK+="scanner-%k"
 # EPSON Stylus Scan 2000 | Epson StylusScan 2000
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0105", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0105", SYMLINK+="scanner-%k"
 # EPSON Stylus Scan 2500
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0106", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0106", SYMLINK+="scanner-%k"
 # EPSON ES-2000 | EPSON Expression 1600 | Epson Expression 1600
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0107", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0107", SYMLINK+="scanner-%k"
 # EPSON ES-8500 | EPSON Expression 1640XL
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0109", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0109", SYMLINK+="scanner-%k"
 # EPSON GT-8700 | EPSON GT-8700F | EPSON Perfection 1640SU | EPSON Perfection 1640SU PHOTO | Epson Perfection 1640
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010a", SYMLINK+="scanner-%k"
 # EPSON GT-7700U | EPSON Perfection 1240U | Epson Perfection 1240
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010b", SYMLINK+="scanner-%k"
 # EPSON GT-6700U | EPSON Perfection 640U | Epson Perfection 640
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010c", SYMLINK+="scanner-%k"
 # EPSON ES-2200 | EPSON Expression 1680 | Epson Expression 1680
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010e", SYMLINK+="scanner-%k"
 # EPSON GT-7200U | EPSON Perfection 1250 | EPSON Perfection 1250 PHOTO | Epson Perfection 1250 | Epson Perfection 1250Photo
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="010f", SYMLINK+="scanner-%k"
 # EPSON GT-8200U | EPSON GT-8200UF | EPSON Perfection 1650 | EPSON Perfection 1650 PHOTO | Epson Perfection 1650
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0110", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0110", SYMLINK+="scanner-%k"
 # EPSON GT-9700F | EPSON Perfection 2450 PHOTO | Epson Perfection 2450
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0112", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0112", SYMLINK+="scanner-%k"
 # EPSON Perfection 660 | Epson Perfection 660
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0114", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0114", SYMLINK+="scanner-%k"
 # EPSON GT-9400UF | EPSON Perfection 3170 PHOTO
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0116", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0116", SYMLINK+="scanner-%k"
 # EPSON GT-F600 | EPSON Perfection 4180 PHOTO
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0118", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0118", SYMLINK+="scanner-%k"
 # EPSON GT-X750 | EPSON Perfection 4490 PHOTO
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0119", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0119", SYMLINK+="scanner-%k"
 # EPSON GT-9300UF | EPSON Perfection 2400 PHOTO | Epson Perfection 2400
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011b", SYMLINK+="scanner-%k"
 # EPSON GT-9800F | EPSON Perfection 3200 PHOTO | Epson Perfection 3200
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011c", SYMLINK+="scanner-%k"
 # EPSON GT-7300U | EPSON Perfection 1260 | EPSON Perfection 1260 PHOTO | Epson Perfection 1260 | Epson Perfection 1260Photo
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011d", SYMLINK+="scanner-%k"
 # EPSON GT-8300UF | EPSON Perfection 1660 PHOTO | Epson Perfection 1660
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011e", SYMLINK+="scanner-%k"
 # EPSON Perfection 1670 | EPSON Perfection 1670 PHOTO | Epson Perfection 1670
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="011f", SYMLINK+="scanner-%k"
 # Epson Perfection 1270
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0120", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0120", SYMLINK+="scanner-%k"
 # EPSON GT-F500 | EPSON GT-F550 | EPSON Perfection 2480 PHOTO | EPSON Perfection 2580 PHOTO | Epson Perfection 2480 | Epson Perfection 2580
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0121", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0121", SYMLINK+="scanner-%k"
 # EPSON GT-F520 | EPSON GT-F570 | EPSON Perfection 3490 PHOTO | EPSON Perfection 3590 PHOTO | Epson Perfection 3490 | Epson Perfection 3590
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", SYMLINK+="scanner-%k"
 # EPSON ES-7000H | EPSON GT-15000
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0126", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0126", SYMLINK+="scanner-%k"
 # EPSON GT-X700 | EPSON Perfection 4870 PHOTO | Epson Perfection 4870
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0128", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0128", SYMLINK+="scanner-%k"
 # EPSON ES-10000G | EPSON Expression 10000XL
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0129", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0129", SYMLINK+="scanner-%k"
 # EPSON GT-X800 | EPSON Perfection 4990 PHOTO | Epson Perfection 4990
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="012a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="012a", SYMLINK+="scanner-%k"
 # EPSON GT-X900 | EPSON Perfection V700 | EPSON Perfection V750
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="012c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="012c", SYMLINK+="scanner-%k"
 # EPSON CC-600PX | EPSON Stylus CX5100 | EPSON Stylus CX5200 | EPSON Stylus CX5300 | EPSON Stylus CX5400 | Epson CX-5200 | Epson CX-5400
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0801", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0801", SYMLINK+="scanner-%k"
 # EPSON CC-570L | EPSON Stylus CX3100 | EPSON Stylus CX3200 | Epson CX-3200
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0802", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0802", SYMLINK+="scanner-%k"
 # EPSON Stylus CX6300 | EPSON Stylus CX6400 | EPSON Stylus CX6500 | EPSON Stylus CX6600 | Epson CX-6400 | Epson CX-6600
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0805", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0805", SYMLINK+="scanner-%k"
 # EPSON PM-A850 | EPSON Stylus Photo RX600 | EPSON Stylus Photo RX610 | Epson RX-600
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0806", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0806", SYMLINK+="scanner-%k"
 # EPSON Stylus Photo RX500 | EPSON Stylus Photo RX510 | Epson RX-500
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0807", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0807", SYMLINK+="scanner-%k"
 # Epson CX-5400
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0808", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0808", SYMLINK+="scanner-%k"
 # Epson Stylus CX-1500
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080c", SYMLINK+="scanner-%k"
 # EPSON Stylus CX4500 | EPSON Stylus CX4600 | Epson CX-4600
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080d", SYMLINK+="scanner-%k"
 # EPSON PX-A550 | EPSON Stylus CX3500 | EPSON Stylus CX3600 | EPSON Stylus CX3650 | Epson CX-3600 | Epson CX-3650
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080e", SYMLINK+="scanner-%k"
 # EPSON Stylus Photo RX420 | EPSON Stylus Photo RX425 | EPSON Stylus Photo RX430 | Epson RX-425
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="080f", SYMLINK+="scanner-%k"
 # EPSON PM-A900 | EPSON Stylus Photo RX700
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0810", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0810", SYMLINK+="scanner-%k"
 # EPSON PM-A870 | EPSON Stylus Photo RX620 | EPSON Stylus Photo RX630
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0811", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0811", SYMLINK+="scanner-%k"
 # EPSON Stylus CX6600
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0813", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0813", SYMLINK+="scanner-%k"
 # EPSON PM-A700
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0814", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0814", SYMLINK+="scanner-%k"
 # EPSON AcuLaser CX11 | EPSON AcuLaser CX11NF | EPSON LP-A500 | Epson AcuLaser CX11 | Epson AcuLaser CX11NF
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0815", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0815", SYMLINK+="scanner-%k"
 # EPSON LP-M5500 | EPSON LP-M5500F
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0817", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0817", SYMLINK+="scanner-%k"
 # EPSON Stylus CX3700 | EPSON Stylus CX3800 | EPSON Stylus DX3800 | Epson CX-3700 | Epson CX-3800 | Epson DX-3800
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0818", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0818", SYMLINK+="scanner-%k"
 # EPSON PX-A650 | EPSON Stylus CX4700 | EPSON Stylus CX4800 | EPSON Stylus DX4800 | EPSON Stylus DX4850 | Epson CX-4800
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0819", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0819", SYMLINK+="scanner-%k"
 # EPSON PM-A750 | EPSON Stylus Photo RX520 | EPSON Stylus Photo RX530
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081a", SYMLINK+="scanner-%k"
 # EPSON PM-A890 | EPSON Stylus Photo RX640 | EPSON Stylus Photo RX650
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081c", SYMLINK+="scanner-%k"
 # EPSON PM-A950
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081d", SYMLINK+="scanner-%k"
 # EPSON Stylus CX7700 | EPSON Stylus CX7800
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="081f", SYMLINK+="scanner-%k"
 # EPSON Stylus CX4100 | EPSON Stylus CX4200 | EPSON Stylus DX4200 | Epson CX-4200
-SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0820", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0820", SYMLINK+="scanner-%k"
 # Fujitsu fi-4010CU | Fujitsu fi-4010CU | Fujitsu fi-4010C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1029", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1029", SYMLINK+="scanner-%k"
 # Fujitsu fi-4110CU | Fujitsu fi-4110CU
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1033", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1033", SYMLINK+="scanner-%k"
 # Fujitsu fi-4120C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1041", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1041", SYMLINK+="scanner-%k"
 # Fujitsu fi-4220C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1042", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1042", SYMLINK+="scanner-%k"
 # Fujitsu fi-5110EOX
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1096", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1096", SYMLINK+="scanner-%k"
 # Fujitsu fi-5110C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1097", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1097", SYMLINK+="scanner-%k"
 # Fujitsu fi-4120C2
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10ae", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10ae", SYMLINK+="scanner-%k"
 # Fujitsu fi-4220C2
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10af", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10af", SYMLINK+="scanner-%k"
 # Fujitsu fi-5120C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e0", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e0", SYMLINK+="scanner-%k"
 # Fujitsu fi-5220C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e1", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e1", SYMLINK+="scanner-%k"
 # Fujitsu fi-5900C
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e7", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e7", SYMLINK+="scanner-%k"
 # Fujitsu S500
-SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10fe", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10fe", SYMLINK+="scanner-%k"
 # Konica e-mini | Konica e-mini
-SYSFS{idVendor}=="04c8", SYSFS{idProduct}=="0722", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04c8", SYSFS{idProduct}=="0722", SYMLINK+="scanner-%k"
 # Samsung SCX-4216F
-SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="3409", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="3409", SYMLINK+="scanner-%k"
 # Samsung SCX-4100
-SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="3413", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="3413", SYMLINK+="scanner-%k"
 # Xerox WorkCentre XK50cx
-SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="3903", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="3903", SYMLINK+="scanner-%k"
 # Brother MFC 9600
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0101", SYMLINK+="scanner-%k"
 # Brother MFC 7300c
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0106", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0106", SYMLINK+="scanner-%k"
 # Brother MFC-3100C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="010e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="010e", SYMLINK+="scanner-%k"
 # Brother MFC-5100C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="010f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="010f", SYMLINK+="scanner-%k"
 # Brother MFC-4800
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0110", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0110", SYMLINK+="scanner-%k"
 # Brother MFC-6800 | Brother MFC 4600
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0111", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0111", SYMLINK+="scanner-%k"
 # Brother DCP-1000
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0112", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0112", SYMLINK+="scanner-%k"
 # Brother MFC-8500
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0113", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0113", SYMLINK+="scanner-%k"
 # Brother MFC-9700
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0114", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0114", SYMLINK+="scanner-%k"
 # Brother MFC-9800
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0115", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0115", SYMLINK+="scanner-%k"
 # Brother DCP-1400
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0116", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0116", SYMLINK+="scanner-%k"
 # Brother FAX-2900
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0117", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0117", SYMLINK+="scanner-%k"
 # Brother FAX-3800
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0118", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0118", SYMLINK+="scanner-%k"
 # Brother MFC-9660
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0119", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0119", SYMLINK+="scanner-%k"
 # Brother MFC-9860
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011a", SYMLINK+="scanner-%k"
 # Brother MFC-9880
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011b", SYMLINK+="scanner-%k"
 # Brother MFC-9760
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011c", SYMLINK+="scanner-%k"
 # Brother MFC-9070
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011d", SYMLINK+="scanner-%k"
 # Brother MFC-9180
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011e", SYMLINK+="scanner-%k"
 # Brother MFC-9160
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="011f", SYMLINK+="scanner-%k"
 # Brother MFC-580
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0120", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0120", SYMLINK+="scanner-%k"
 # Brother MFC-590
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0121", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0121", SYMLINK+="scanner-%k"
 # Brother MFC-5100J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0122", SYMLINK+="scanner-%k"
 # Brother FAX-2850
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0123", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0123", SYMLINK+="scanner-%k"
 # Brother MFC-4800J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0124", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0124", SYMLINK+="scanner-%k"
 # Brother MFC-6800J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0125", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0125", SYMLINK+="scanner-%k"
 # Brother FAX1800C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0126", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0126", SYMLINK+="scanner-%k"
 # Brother MFC-9800J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0127", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0127", SYMLINK+="scanner-%k"
 # Brother MFC-8500J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0128", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0128", SYMLINK+="scanner-%k"
 # Brother MFC-9030
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="012b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="012b", SYMLINK+="scanner-%k"
 # Brother FAX-4100
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="012e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="012e", SYMLINK+="scanner-%k"
 # Brother FAX-4750e
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="012f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="012f", SYMLINK+="scanner-%k"
 # Brother FAX-5750e
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0130", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0130", SYMLINK+="scanner-%k"
 # Brother MFC-5200C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0132", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0132", SYMLINK+="scanner-%k"
 # Brother MFC-100
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0135", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0135", SYMLINK+="scanner-%k"
 # Brother MFC-150CL
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0136", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0136", SYMLINK+="scanner-%k"
 # Brother MFC-3200C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013a", SYMLINK+="scanner-%k"
 # Brother MFC-890
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013c", SYMLINK+="scanner-%k"
 # Brother MFC-5200J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013d", SYMLINK+="scanner-%k"
 # Brother MFC-4420C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013e", SYMLINK+="scanner-%k"
 # Brother MFC-4820C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="013f", SYMLINK+="scanner-%k"
 # Brother DCP-8020
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0140", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0140", SYMLINK+="scanner-%k"
 # Brother DCP-8025D
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0141", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0141", SYMLINK+="scanner-%k"
 # Brother MFC-8420
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0142", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0142", SYMLINK+="scanner-%k"
 # Brother MFC-8820D
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0143", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0143", SYMLINK+="scanner-%k"
 # Brother DCP-4020C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0144", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0144", SYMLINK+="scanner-%k"
 # Brother MFC-3220C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0146", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0146", SYMLINK+="scanner-%k"
 # Brother FAX1820C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0147", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0147", SYMLINK+="scanner-%k"
 # Brother MFC-3320CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0148", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0148", SYMLINK+="scanner-%k"
 # Brother FAX1920CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0149", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0149", SYMLINK+="scanner-%k"
 # Brother MFC-3420C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014a", SYMLINK+="scanner-%k"
 # Brother MFC-3820CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014b", SYMLINK+="scanner-%k"
 # Brother DCP-3020C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014c", SYMLINK+="scanner-%k"
 # Brother FAX1815C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014d", SYMLINK+="scanner-%k"
 # Brother MFC-8820J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014e", SYMLINK+="scanner-%k"
 # Brother DCP-8025J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="014f", SYMLINK+="scanner-%k"
 # Brother MFC-8220
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0150", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0150", SYMLINK+="scanner-%k"
 # Brother MFC-8210
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0151", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0151", SYMLINK+="scanner-%k"
 # Brother DCP-1000J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0153", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0153", SYMLINK+="scanner-%k"
 # Brother MFC-3420J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0157", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0157", SYMLINK+="scanner-%k"
 # Brother MFC-3820J
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0158", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0158", SYMLINK+="scanner-%k"
 # Brother DCP-8040
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="015d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="015d", SYMLINK+="scanner-%k"
 # Brother DCP-8045D
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="015e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="015e", SYMLINK+="scanner-%k"
 # Brother MFC-8440
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="015f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="015f", SYMLINK+="scanner-%k"
 # Brother MFC-8840D
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0160", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0160", SYMLINK+="scanner-%k"
 # Brother MFC-210C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0161", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0161", SYMLINK+="scanner-%k"
 # Brother MFC-420CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0162", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0162", SYMLINK+="scanner-%k"
 # Brother MFC-410CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0163", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0163", SYMLINK+="scanner-%k"
 # Brother MFC-620CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0165", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0165", SYMLINK+="scanner-%k"
 # Brother MFC-610CLN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0166", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0166", SYMLINK+="scanner-%k"
 # Brother MFC-610CLN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0168", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0168", SYMLINK+="scanner-%k"
 # Brother DCP-110C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0169", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0169", SYMLINK+="scanner-%k"
 # Brother DCP-310CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="016b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="016b", SYMLINK+="scanner-%k"
 # Brother MFC-5440CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="016d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="016d", SYMLINK+="scanner-%k"
 # Brother MFC-5840CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="016e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="016e", SYMLINK+="scanner-%k"
 # Brother MFC-3240C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0173", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0173", SYMLINK+="scanner-%k"
 # Brother MFC-3340CN
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0174", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0174", SYMLINK+="scanner-%k"
 # Brother MFC-7420
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0180", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0180", SYMLINK+="scanner-%k"
 # Brother MFC-7820N
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0181", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0181", SYMLINK+="scanner-%k"
 # Brother DCP-7010
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0182", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0182", SYMLINK+="scanner-%k"
 # Brother DCP-7020
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0183", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0183", SYMLINK+="scanner-%k"
 # Brother DCP-7025
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0184", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0184", SYMLINK+="scanner-%k"
 # Brother MFC-7220
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0185", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0185", SYMLINK+="scanner-%k"
 # Brother MFC-7225N
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0186", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0186", SYMLINK+="scanner-%k"
 # Brother DCP-115C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="018c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="018c", SYMLINK+="scanner-%k"
 # Brother MFC-215C
-SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0193", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="0193", SYMLINK+="scanner-%k"
 # Aiptek Aiptek Pencam | Aiptek Aiptek Pencam
-SYSFS{idVendor}=="0553", SYSFS{idProduct}=="0202", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0553", SYSFS{idProduct}=="0202", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 1200 CU
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 600 CU
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0002", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0002", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 1200 USB
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0003", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0003", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 1200 UB | Trust Compact Scan USB 19200
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0006", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0006", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 1200 USB Plus
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0007", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0007", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 1200 CU Plus
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0008", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0008", SYMLINK+="scanner-%k"
 # Mustek BearPaw 1200 F
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0010", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0010", SYMLINK+="scanner-%k"
 # Mustek ScanExpress A3 USB
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0210", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0210", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2400 CS | Mustek BearPaw 2400 TA | Trust 240TH Easy Webscan Gold
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0218", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0218", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2400 CS Plus | Mustek BearPaw 2400 TA Plus | Mustek Plug-n-Scan 2400 MT | Mustek Plug-n-Scan 2400 M | Packard Bell Diamond 2450
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0219", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0219", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2448 CS Plus | Mustek BearPaw 2448 TA Plus
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021a", SYMLINK+="scanner-%k"
 # Mustek BearPaw 1200 CU Plus | Packard Bell Diamond 1200 Plus
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021b", SYMLINK+="scanner-%k"
 # Mustek BearPaw 1200 CU Plus | Mustek BearPaw 1248 CU | Packard Bell Diamond 1200 Plus | Trust Direct WebScan 19200
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021c", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2400 CU Plus
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021d", SYMLINK+="scanner-%k"
 # Mustek BearPaw 1200 CS | Mustek BearPaw 1200 TA
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021e", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 1248 UB
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="021f", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2400 TA Pro
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0400", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0400", SYMLINK+="scanner-%k"
 # Mustek P 3600 A3 Pro
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0401", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0401", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2448 CU Pro
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0408", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0408", SYMLINK+="scanner-%k"
 # Mustek BearPaw 2448TA Pro
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0409", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0409", SYMLINK+="scanner-%k"
 # Mustek BearPaw 4800 TA Pro II
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="040a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="040a", SYMLINK+="scanner-%k"
 # Mustek BearPaw 6400 TA Pro
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="040b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="040b", SYMLINK+="scanner-%k"
 # Mustek ScanExpress 600 USB
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0873", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="0873", SYMLINK+="scanner-%k"
 # Mustek BearPaw 4800 TA Pro
-SYSFS{idVendor}=="055f", SYSFS{idProduct}=="1000", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="055f", SYSFS{idProduct}=="1000", SYMLINK+="scanner-%k"
 # Avigramm Minidoc | Boeder Sm at rtScan Office | Compeye Simplex 1236C | IOMagic MobileScan USB | Memorex MaxxScan 6122 | Trust CombiScan 19200
-SYSFS{idVendor}=="05cb", SYSFS{idProduct}=="1483", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05cb", SYSFS{idProduct}=="1483", SYMLINK+="scanner-%k"
 # Artec/Ultima 1236 USB | Artec/Ultima Ultima 2000 (0x4001)
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4001", SYMLINK+="scanner-%k"
 # Artec/Ultima Ultima 2000 | Artec/Ultima Ultima 2000 e+ | Boeder Sm at rtScan Slim Edition | Fujitsu 1200CUS | Googlegear 2000 | Medion/Lifetec/Tevion/Cytron MD 4394 | Medion/Lifetec/Tevion/Cytron MD/LT 9375 | Medion/Lifetec/Tevion/Cytron MD/LT 9385 | Medion/Lifetec/Tevion/Cytron LT 9452 | Medion/Lifetec/Tevion/Cytron MD 9458 | Mustek BearPaw 1200 CU | Mustek BearPaw 2400 CU | Mustek ScanExpress 1200 UB Plus | Mustek ScanExpress 2400 USB | Mustek ScanMagic 1200 UB Plus | Packard Bell Diamond 1200 | Trust Compact Scan USB 19200 | Trust Flat Scan USB 19200
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", SYMLINK+="scanner-%k"
 # Artec/Ultima E+ 48U | Medion/Lifetec/Tevion/Cytron MD9693 | Medion/Lifetec/Tevion/Cytron MD9705 | Medion/Lifetec/Tevion/Cytron MD4394 | Microstar MR 9791
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4003", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4003", SYMLINK+="scanner-%k"
 # Artec/Ultima E+ Pro
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4004", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4004", SYMLINK+="scanner-%k"
 # Memorex MEM 48U
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4005", SYMLINK+="scanner-%k"
 # Trust Easy Webscan 19200
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4006", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4006", SYMLINK+="scanner-%k"
 # Trust 240H Easy Webscan Gold
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4007", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4007", SYMLINK+="scanner-%k"
 # UMAX AstraSlim SE
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4009", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4009", SYMLINK+="scanner-%k"
 # UMAX AstraSlim 1200 SE
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4010", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4010", SYMLINK+="scanner-%k"
 # Yakumo Scan50
-SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4011", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4011", SYMLINK+="scanner-%k"
 # Microtek ScanMaker X6USB
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="0099", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="0099", SYMLINK+="scanner-%k"
 # Microtek SlimScan C6
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="009a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="009a", SYMLINK+="scanner-%k"
 # Microtek ScanMaker V6USL
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="00a3", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="00a3", SYMLINK+="scanner-%k"
 # Microtek ScanMaker V6UPL
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="00b6", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="00b6", SYMLINK+="scanner-%k"
 # Microtek ScanMaker s400
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="201c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="201c", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 5600
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20a7", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20a7", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 8700
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20b1", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20b1", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 4700
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20b4", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20b4", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 5700
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20bd", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20bd", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 6700
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20c9", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20c9", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 9600XL | Microtek ScanMaker 9800XL
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20de", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="20de", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD 40420 | Medion/Lifetec/Tevion/Cytron MD 42666 | Microtek ScanMaker 4850 II
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="3008", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="3008", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3880
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="3021", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="3021", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD 90070 | Medion/Lifetec/Tevion/Cytron MD 90090
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="3022", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="3022", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 4850 | Microtek ScanMaker 4900
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30b9", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30b9", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3800 | Microtek ScanMaker 3830
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30ce", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30ce", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 4800
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30cf", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30cf", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3840
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30d4", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30d4", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 5800 | Microtek ScanMaker 5900
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30d8", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30d8", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD 90009 | Microtek ScanMaker 6000 | Microtek ScanMaker 6100
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30e5", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30e5", SYMLINK+="scanner-%k"
 # Microtek ScanMaker i320
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30e6", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="30e6", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3600
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40b3", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40b3", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3700
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40b8", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40b8", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 4600
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40c7", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40c7", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3600
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40ca", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40ca", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3700
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40cb", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40cb", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3750
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40dd", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40dd", SYMLINK+="scanner-%k"
 # Microtek ScanMaker 3600
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40ff", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40ff", SYMLINK+="scanner-%k"
 # Microtek ScanMaker V6USL
-SYSFS{idVendor}=="05da", SYSFS{idProduct}=="80a3", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05da", SYSFS{idProduct}=="80a3", SYMLINK+="scanner-%k"
 # Microtek FilmScan 35 | PIE Primefilm 1800u | Reflecta iScan 1800
-SYSFS{idVendor}=="05e3", SYSFS{idProduct}=="0120", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05e3", SYSFS{idProduct}=="0120", SYMLINK+="scanner-%k"
 # PIE Powerslide 3600 | Reflecta DigitDia 3600
-SYSFS{idVendor}=="05e3", SYSFS{idProduct}=="0142", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05e3", SYSFS{idProduct}=="0142", SYMLINK+="scanner-%k"
 # Reflecta ProScan 4000
-SYSFS{idVendor}=="05e3", SYSFS{idProduct}=="0143", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="05e3", SYSFS{idProduct}=="0143", SYMLINK+="scanner-%k"
 # iVina 1200U
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0268", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0268", SYMLINK+="scanner-%k"
 # Minolta Dimage Scan Dual II
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="026a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="026a", SYMLINK+="scanner-%k"
 # Avision iVina 1600 | UMAX Astra 4500
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a10", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a10", SYMLINK+="scanner-%k"
 # Avision AV600U
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a13", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a13", SYMLINK+="scanner-%k"
 # Minolta-QMS SC-110
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a15", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a15", SYMLINK+="scanner-%k"
 # Avision DS610CU Scancopier | Minolta-QMS SC-215
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a16", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a16", SYMLINK+="scanner-%k"
 # Avision AV600U Plus
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a18", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a18", SYMLINK+="scanner-%k"
 # Avision AV610
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a19", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a19", SYMLINK+="scanner-%k"
 # Avision iVina FB1800 | UMAX Astra 4700
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a20", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a20", SYMLINK+="scanner-%k"
 # Avision AV220
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a23", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a23", SYMLINK+="scanner-%k"
 # Avision AV210
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a24", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a24", SYMLINK+="scanner-%k"
 # Avision AV210
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a25", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a25", SYMLINK+="scanner-%k"
 # Avision AV120
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a27", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a27", SYMLINK+="scanner-%k"
 # Avision AV220C2 | Avision AV220C2
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a2a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a2a", SYMLINK+="scanner-%k"
 # Avision AV122
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a33", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a33", SYMLINK+="scanner-%k"
 # Avision AV210C2
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a3a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a3a", SYMLINK+="scanner-%k"
 # Avision AV121
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a3c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a3c", SYMLINK+="scanner-%k"
 # Avision AV8300
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a40", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a40", SYMLINK+="scanner-%k"
 # Avision AM3000 Series
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a41", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a41", SYMLINK+="scanner-%k"
 # Avision @V5100
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a45", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a45", SYMLINK+="scanner-%k"
 # Avision IT8300
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a61", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a61", SYMLINK+="scanner-%k"
 # Avision AV3850SU
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a66", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a66", SYMLINK+="scanner-%k"
 # Avision AV8350
-SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a68", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a68", SYMLINK+="scanner-%k"
 # Optoelectronics Barcode scanner
-SYSFS{idVendor}=="065a", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="065a", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
 # Siemens ID Mouse Professional
-SYSFS{idVendor}=="0681", SYSFS{idProduct}=="0005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0681", SYSFS{idProduct}=="0005", SYMLINK+="scanner-%k"
 # Siemens Cherry FingerTIP ID Board - Sensor
-SYSFS{idVendor}=="0681", SYSFS{idProduct}=="0010", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0681", SYSFS{idProduct}=="0010", SYMLINK+="scanner-%k"
 # Minolta Elite II
-SYSFS{idVendor}=="0686", SYSFS{idProduct}=="4004", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0686", SYSFS{idProduct}=="4004", SYMLINK+="scanner-%k"
 # Minolta Dimage Scan Dual III | Konica Minolta Dual Scan III
-SYSFS{idVendor}=="0686", SYSFS{idProduct}=="400d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0686", SYSFS{idProduct}=="400d", SYMLINK+="scanner-%k"
 # Minolta Dimage Scan Elite 5400 | Konica Minolta DiMAGE Scan Elite 5400
-SYSFS{idVendor}=="0686", SYSFS{idProduct}=="400e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0686", SYSFS{idProduct}=="400e", SYMLINK+="scanner-%k"
 # AGFA SnapScan 1212U
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
 # AGFA SnapScan 1236u
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="0002", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="0002", SYMLINK+="scanner-%k"
 # Agfa Snapscan Touch
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="0100", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="0100", SYMLINK+="scanner-%k"
 # Agfa DuoScan f40
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="02bf", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="02bf", SYMLINK+="scanner-%k"
 # AGFA SnapScan 1212U_2
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2061", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2061", SYMLINK+="scanner-%k"
 # AGFA SnapScan e40
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="208d", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="208d", SYMLINK+="scanner-%k"
 # AGFA SnapScan e50
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="208f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="208f", SYMLINK+="scanner-%k"
 # AGFA SnapScan e20
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2091", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2091", SYMLINK+="scanner-%k"
 # AGFA SnapScan e10
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2093", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2093", SYMLINK+="scanner-%k"
 # AGFA SnapScan e25
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2095", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2095", SYMLINK+="scanner-%k"
 # AGFA SnapScan e26
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2097", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="2097", SYMLINK+="scanner-%k"
 # AGFA SnapScan e52
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="20fd", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="20fd", SYMLINK+="scanner-%k"
 # AGFA SnapScan e42
-SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="20ff", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06bd", SYSFS{idProduct}=="20ff", SYMLINK+="scanner-%k"
 # Prolink Winscan Pro 2448U
-SYSFS{idVendor}=="06dc", SYSFS{idProduct}=="0014", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="06dc", SYSFS{idProduct}=="0014", SYMLINK+="scanner-%k"
 # Grandtek Scopecam 8x30 Binocular & Digital Camera
-SYSFS{idVendor}=="0797", SYSFS{idProduct}=="801c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0797", SYSFS{idProduct}=="801c", SYMLINK+="scanner-%k"
 # Plustek OpticPro U12 | Plustek OpticPro UT12 | Plustek OpticPro 1212U | RevScan RevScan Orange R48Ti | Genius ColorPage Vivid III USB
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0005", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0005", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0007", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0007", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="000f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="000f", SYMLINK+="scanner-%k"
 # Plustek OpticPro U12
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0010", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0010", SYMLINK+="scanner-%k"
 # Plustek OpticPro U24
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0011", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0011", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device | Plustek Unknown Plustek Device | Plustek Unknown Plustek Device
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0012", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0012", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device (UT12?)
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0013", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0013", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0014", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0014", SYMLINK+="scanner-%k"
 # Plustek OpticPro U24
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0015", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0015", SYMLINK+="scanner-%k"
 # Plustek Unknown Plustek Device
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0016", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0016", SYMLINK+="scanner-%k"
 # Plustek OpticPro UT12 | Plustek OpticPro UT16 | Plustek OpticPro UT24
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0017", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0017", SYMLINK+="scanner-%k"
 # Plustek OpticPro 1248U | RevScan 19200i
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0400", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0400", SYMLINK+="scanner-%k"
 # Plustek OpticPro 1248U
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0401", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0401", SYMLINK+="scanner-%k"
 # Plustek OpticPro U16B
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0402", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0402", SYMLINK+="scanner-%k"
 # Plustek OpticPro U16B+ | Plustek OpticPro UT16B
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0403", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0403", SYMLINK+="scanner-%k"
 # Plustek OpticPro S12 | Plustek OpticPro ST12
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="040b", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="040b", SYMLINK+="scanner-%k"
 # Plustek OpticPro S24
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="040e", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="040e", SYMLINK+="scanner-%k"
 # Plustek OpticSlim M12
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0412", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0412", SYMLINK+="scanner-%k"
 # Plustek OpticSlim 1200
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0413", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0413", SYMLINK+="scanner-%k"
 # Plustek OpticSlim 2400
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0422", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0422", SYMLINK+="scanner-%k"
 # Plustek OpticPro S12 | Plustek OpticPro ST12 | Plustek OpticPro ST16
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0600", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0600", SYMLINK+="scanner-%k"
 # Plustek OpticPro S24 | Plustek OpticPro ST24
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0601", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0601", SYMLINK+="scanner-%k"
 # Plustek OpticPro ST48
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0800", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0800", SYMLINK+="scanner-%k"
 # Plustek OpticPro S28 | Plustek OpticPro ST28
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0801", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0801", SYMLINK+="scanner-%k"
 # Plustek OpticSlim 2420
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0806", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0806", SYMLINK+="scanner-%k"
 # Plustek OpticFilm 7200
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0807", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0807", SYMLINK+="scanner-%k"
 # Plustek ScanCopy 115
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="081c", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="081c", SYMLINK+="scanner-%k"
 # Plustek OpticBook 3600
-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0900", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0900", SYMLINK+="scanner-%k"
 # Guillemot SCAN at HOME 48 USB | Hercules SCAN at HOME 48 USB | Teco VM6509F
-SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0102", SYMLINK+="scanner-%k"
 # UMAX AstraSlim | UMAX AstraSlim 6000
-SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0104", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0104", SYMLINK+="scanner-%k"
 # Corex Cardscan 500
-SYSFS{idVendor}=="08f0", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="08f0", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
 # Medion/Lifetec/Tevion/Cytron MD 85264
-SYSFS{idVendor}=="08ff", SYSFS{idProduct}=="2580", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="08ff", SYSFS{idProduct}=="2580", SYMLINK+="scanner-%k"
 # Biolux 654 (micrOcular)
-SYSFS{idVendor}=="0923", SYSFS{idProduct}=="010f", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0923", SYSFS{idProduct}=="010f", SYMLINK+="scanner-%k"
 # Xerox WorkCentre PE16
-SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4220", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4220", SYMLINK+="scanner-%k"
 # Xerox WorkCentre PE120i
-SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4237", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4237", SYMLINK+="scanner-%k"
 # Xerox WorkCentre M15i
-SYSFS{idVendor}=="0924", SYSFS{idProduct}=="ffef", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0924", SYSFS{idProduct}=="ffef", SYMLINK+="scanner-%k"
 # Iris IriScan
-SYSFS{idVendor}=="0a53", SYSFS{idProduct}=="1000", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0a53", SYSFS{idProduct}=="1000", SYMLINK+="scanner-%k"
 # Syscan TravelScan FS-531
-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="0530", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="0530", SYMLINK+="scanner-%k"
 # Pentax DSmobile USB | Syscan TravelScan Pro
-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="2000", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="2000", SYMLINK+="scanner-%k"
 # Ambir Visigo A4 | Syscan TravelScan 460/464
-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="4600", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="4600", SYMLINK+="scanner-%k"
 # Scanshell 800N
-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6605", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6605", SYMLINK+="scanner-%k"
 # Syscan TravelScan 662
-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6620", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6620", SYMLINK+="scanner-%k"
 # Olivetti Job-Jet M400
-SYSFS{idVendor}=="0b3c", SYSFS{idProduct}=="a880", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="0b3c", SYSFS{idProduct}=="a880", SYMLINK+="scanner-%k"
 # PLANon DocuPen R700
-SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", SYMLINK+="scanner-%k"
 # Digital Dream l' espion XS | Digital Dream l' espion XS
-SYSFS{idVendor}=="1183", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1183", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
 # Konica Minolta Dual Scan IV
-SYSFS{idVendor}=="132b", SYSFS{idProduct}=="000a", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="132b", SYSFS{idProduct}=="000a", SYMLINK+="scanner-%k"
 # Konica Minolta DiMAGE Scan Elite 5400 2
-SYSFS{idVendor}=="132b", SYSFS{idProduct}=="0012", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="132b", SYSFS{idProduct}=="0012", SYMLINK+="scanner-%k"
 # UMAX Astra 1220U
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0010", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0010", SYMLINK+="scanner-%k"
 # UMAX Astra 1600U | UMAX Astra 2000U
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0030", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0030", SYMLINK+="scanner-%k"
 # Umax UMAX 3400 | UMAX Astra 3400
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0050", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0050", SYMLINK+="scanner-%k"
 # Umax UMAX 3400 | Umax UMAX Astranet ia101 | Umax UMAX 3450
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0060", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0060", SYMLINK+="scanner-%k"
 # UMAX Astra 4400 | UMAX Astra 4450
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0070", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0070", SYMLINK+="scanner-%k"
 # UMAX Astra 2100U
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0130", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0130", SYMLINK+="scanner-%k"
 # Umax UMAX 5400
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0160", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0160", SYMLINK+="scanner-%k"
 # UMAX Astra 2200 (SU)
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0230", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0230", SYMLINK+="scanner-%k"
 # UMAX Astra 4000
-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="1030", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="1606", SYSFS{idProduct}=="1030", SYMLINK+="scanner-%k"
 # Dell A920
-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5105", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5105", SYMLINK+="scanner-%k"
 # Dell A960
-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5107", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5107", SYMLINK+="scanner-%k"
 # Dell 922
-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5109", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5109", SYMLINK+="scanner-%k"
 # Dell 1600n
-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5250", MODE="660", GROUP="scanner"
+SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5250", SYMLINK+="scanner-%k"
 
 LABEL="libsane_rules_end"

sane-backends-1.0.18-udev-098.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1 -r 1.2 sane-backends-1.0.18-udev-098.patch
Index: sane-backends-1.0.18-udev-098.patch
===================================================================
RCS file: /cvs/pkgs/rpms/sane-backends/devel/sane-backends-1.0.18-udev-098.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sane-backends-1.0.18-udev-098.patch	20 Jul 2007 15:35:29 -0000	1.1
+++ sane-backends-1.0.18-udev-098.patch	22 Jul 2007 21:04:15 -0000	1.2
@@ -1,1573 +1,1573 @@
---- sane-backends-1.0.18/tools/udev/libsane.rules.udev-098	2007-07-20 17:24:49.000000000 +0200
-+++ sane-backends-1.0.18/tools/udev/libsane.rules	2007-07-20 17:26:11.000000000 +0200
+--- sane-backends-1.0.18/tools/udev/libsane.rules.udev-098	2007-07-22 22:52:16.000000000 +0200
++++ sane-backends-1.0.18/tools/udev/libsane.rules	2007-07-22 22:55:28.000000000 +0200
 @@ -18,1048 +18,1048 @@ ACTION!="add", GOTO="libsane_rules_end"
  SUBSYSTEM!="usb|usb_device", GOTO="libsane_rules_end"
  
  # Hewlett-Packard ScanJet 4100C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0101", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0101", SYMLINK+="scanner-%k"
  # Hewlett-Packard Photosmart S20 (C5101A) | Hewlett-Packard Photosmart S20xi (C7150A)
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0102", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0102", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4200C | Hewlett-Packard ScanJet 4200Cxi | Hewlett-Packard ScanJet 4200Cse
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0105", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0105", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0105", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0105", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 6200C | Hewlett-Packard ScanJet 6250C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0201", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0201", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0201", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0201", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3300c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0205", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0205", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0205", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0205", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4300c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0305", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0305", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0305", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0305", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 5200C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0401", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0401", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0401", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0401", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3400c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0405", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0405", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0405", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0405", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 2100C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0505", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0505", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0505", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0505", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 6300C | Hewlett-Packard ScanJet 6350C | Hewlett-Packard ScanJet 6390C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0601", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0601", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0601", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0601", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 2200C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0605", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0605", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0605", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0605", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 5300C | Hewlett-Packard ScanJet 5370C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0701", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0701", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0701", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0701", SYMLINK+="scanner-%k"
  # Hewlett-Packard HP4400C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0705", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0705", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0705", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0705", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 7400c | Hewlett-Packard ScanJet 7450c | Hewlett-Packard ScanJet 7490c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0801", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0801", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0801", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0801", SYMLINK+="scanner-%k"
  # Hewlett-Packard HP4470C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0805", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0805", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0805", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0805", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 2300C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0901", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0901", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0901", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0901", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 2400c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0a01", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0a01", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0a01", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0a01", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 8200 | Hewlett-Packard ScanJet 8250 | Hewlett-Packard ScanJet 8290 | Hewlett Packard ScanJet 8200
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0b01", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0b01", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0b01", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="0b01", SYMLINK+="scanner-%k"
  # Hewlett-Packard Photo Scanner 1000
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1001", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1001", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1001", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1001", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 5400c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1005", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1005", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1005", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1005", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 5470c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1105", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1105", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1105", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1105", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4500C | Hewlett-Packard ScanJet 5550C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1205", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1205", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1205", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1205", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4570C | Hewlett-Packard ScanJet 5500C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1305", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1305", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1305", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1305", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3670c | Hewlett-Packard ScanJet 3690c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1405", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1405", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1405", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1405", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 5530C Photosmart
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1605", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1605", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1605", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1605", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 5590
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1705", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1705", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1705", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1705", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 7650
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1805", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1805", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1805", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1805", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4850C | Hewlett-Packard ScanJet 4890C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1b05", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1b05", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="1b05", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="1b05", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3530C | Hewlett-Packard ScanJet 3570C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2005", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2005", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2005", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="2005", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3500C
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2205", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2205", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2205", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="2205", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3970c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2305", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2305", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2305", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="2305", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4070 Photosmart
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2405", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2405", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2405", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="2405", SYMLINK+="scanner-%k"
  # Hewlett Packard ScanJet 3770 | Hewlett-Packard ScanJet 3770
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2505", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2505", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2505", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="2505", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 3800c
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2605", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2605", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2605", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="2605", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4600 | Hewlett-Packard ScanJet 4670
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3005", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="3005", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="3005", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="3005", SYMLINK+="scanner-%k"
  # Hewlett-Packard ScanJet 4370
--SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4105", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4105", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4105", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="03f0", ATTR{idProduct}=="4105", SYMLINK+="scanner-%k"
  # Mustek BearPaw 1200
--SYSFS{idVendor}=="0400", SYSFS{idProduct}=="1000", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0400", ATTRS{idProduct}=="1000", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0400", SYSFS{idProduct}=="1000", SYMLINK+="scanner-%k"
[...2228 lines suppressed...]
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0600", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0600", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0600", SYMLINK+="scanner-%k"
  # Plustek OpticPro S24 | Plustek OpticPro ST24
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0601", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0601", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0601", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0601", SYMLINK+="scanner-%k"
  # Plustek OpticPro ST48
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0800", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0800", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0800", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0800", SYMLINK+="scanner-%k"
  # Plustek OpticPro S28 | Plustek OpticPro ST28
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0801", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0801", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0801", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0801", SYMLINK+="scanner-%k"
  # Plustek OpticSlim 2420
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0806", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0806", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0806", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0806", SYMLINK+="scanner-%k"
  # Plustek OpticFilm 7200
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0807", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0807", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0807", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0807", SYMLINK+="scanner-%k"
  # Plustek ScanCopy 115
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="081c", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="081c", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="081c", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="081c", SYMLINK+="scanner-%k"
  # Plustek OpticBook 3600
--SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0900", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="07b3", ATTRS{idProduct}=="0900", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="07b3", SYSFS{idProduct}=="0900", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="07b3", ATTR{idProduct}=="0900", SYMLINK+="scanner-%k"
  # Guillemot SCAN at HOME 48 USB | Hercules SCAN at HOME 48 USB | Teco VM6509F
--SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="080d", ATTRS{idProduct}=="0102", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0102", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="080d", ATTR{idProduct}=="0102", SYMLINK+="scanner-%k"
  # UMAX AstraSlim | UMAX AstraSlim 6000
--SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0104", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="080d", ATTRS{idProduct}=="0104", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="080d", SYSFS{idProduct}=="0104", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="080d", ATTR{idProduct}=="0104", SYMLINK+="scanner-%k"
  # Corex Cardscan 500
--SYSFS{idVendor}=="08f0", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="08f0", ATTRS{idProduct}=="0001", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="08f0", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="08f0", ATTR{idProduct}=="0001", SYMLINK+="scanner-%k"
  # Medion/Lifetec/Tevion/Cytron MD 85264
--SYSFS{idVendor}=="08ff", SYSFS{idProduct}=="2580", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="08ff", ATTRS{idProduct}=="2580", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="08ff", SYSFS{idProduct}=="2580", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="08ff", ATTR{idProduct}=="2580", SYMLINK+="scanner-%k"
  # Biolux 654 (micrOcular)
--SYSFS{idVendor}=="0923", SYSFS{idProduct}=="010f", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0923", ATTRS{idProduct}=="010f", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0923", SYSFS{idProduct}=="010f", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0923", ATTR{idProduct}=="010f", SYMLINK+="scanner-%k"
  # Xerox WorkCentre PE16
--SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4220", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0924", ATTRS{idProduct}=="4220", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4220", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0924", ATTR{idProduct}=="4220", SYMLINK+="scanner-%k"
  # Xerox WorkCentre PE120i
--SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4237", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0924", ATTRS{idProduct}=="4237", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0924", SYSFS{idProduct}=="4237", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0924", ATTR{idProduct}=="4237", SYMLINK+="scanner-%k"
  # Xerox WorkCentre M15i
--SYSFS{idVendor}=="0924", SYSFS{idProduct}=="ffef", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0924", ATTRS{idProduct}=="ffef", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0924", SYSFS{idProduct}=="ffef", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0924", ATTR{idProduct}=="ffef", SYMLINK+="scanner-%k"
  # Iris IriScan
--SYSFS{idVendor}=="0a53", SYSFS{idProduct}=="1000", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0a53", ATTRS{idProduct}=="1000", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0a53", SYSFS{idProduct}=="1000", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0a53", ATTR{idProduct}=="1000", SYMLINK+="scanner-%k"
  # Syscan TravelScan FS-531
--SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="0530", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0a82", ATTRS{idProduct}=="0530", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="0530", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0a82", ATTR{idProduct}=="0530", SYMLINK+="scanner-%k"
  # Pentax DSmobile USB | Syscan TravelScan Pro
--SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="2000", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0a82", ATTRS{idProduct}=="2000", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="2000", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0a82", ATTR{idProduct}=="2000", SYMLINK+="scanner-%k"
  # Ambir Visigo A4 | Syscan TravelScan 460/464
--SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="4600", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0a82", ATTRS{idProduct}=="4600", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="4600", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0a82", ATTR{idProduct}=="4600", SYMLINK+="scanner-%k"
  # Scanshell 800N
--SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6605", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0a82", ATTRS{idProduct}=="6605", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6605", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0a82", ATTR{idProduct}=="6605", SYMLINK+="scanner-%k"
  # Syscan TravelScan 662
--SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6620", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0a82", ATTRS{idProduct}=="6620", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0a82", SYSFS{idProduct}=="6620", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0a82", ATTR{idProduct}=="6620", SYMLINK+="scanner-%k"
  # Olivetti Job-Jet M400
--SYSFS{idVendor}=="0b3c", SYSFS{idProduct}=="a880", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="0b3c", ATTRS{idProduct}=="a880", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="0b3c", SYSFS{idProduct}=="a880", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="0b3c", ATTR{idProduct}=="a880", SYMLINK+="scanner-%k"
  # PLANon DocuPen R700
--SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", SYMLINK+="scanner-%k"
  # Digital Dream l' espion XS | Digital Dream l' espion XS
--SYSFS{idVendor}=="1183", SYSFS{idProduct}=="0001", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1183", ATTRS{idProduct}=="0001", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1183", SYSFS{idProduct}=="0001", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1183", ATTR{idProduct}=="0001", SYMLINK+="scanner-%k"
  # Konica Minolta Dual Scan IV
--SYSFS{idVendor}=="132b", SYSFS{idProduct}=="000a", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="000a", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="132b", SYSFS{idProduct}=="000a", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="132b", ATTR{idProduct}=="000a", SYMLINK+="scanner-%k"
  # Konica Minolta DiMAGE Scan Elite 5400 2
--SYSFS{idVendor}=="132b", SYSFS{idProduct}=="0012", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0012", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="132b", SYSFS{idProduct}=="0012", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="132b", ATTR{idProduct}=="0012", SYMLINK+="scanner-%k"
  # UMAX Astra 1220U
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0010", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0010", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0010", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0010", SYMLINK+="scanner-%k"
  # UMAX Astra 1600U | UMAX Astra 2000U
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0030", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0030", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0030", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0030", SYMLINK+="scanner-%k"
  # Umax UMAX 3400 | UMAX Astra 3400
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0050", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0050", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0050", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0050", SYMLINK+="scanner-%k"
  # Umax UMAX 3400 | Umax UMAX Astranet ia101 | Umax UMAX 3450
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0060", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0060", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0060", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0060", SYMLINK+="scanner-%k"
  # UMAX Astra 4400 | UMAX Astra 4450
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0070", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0070", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0070", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0070", SYMLINK+="scanner-%k"
  # UMAX Astra 2100U
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0130", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0130", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0130", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0130", SYMLINK+="scanner-%k"
  # Umax UMAX 5400
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0160", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0160", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0160", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0160", SYMLINK+="scanner-%k"
  # UMAX Astra 2200 (SU)
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0230", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="0230", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="0230", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="0230", SYMLINK+="scanner-%k"
  # UMAX Astra 4000
--SYSFS{idVendor}=="1606", SYSFS{idProduct}=="1030", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="1606", ATTRS{idProduct}=="1030", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="1606", SYSFS{idProduct}=="1030", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="1606", ATTR{idProduct}=="1030", SYMLINK+="scanner-%k"
  # Dell A920
--SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5105", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="5105", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5105", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="413c", ATTR{idProduct}=="5105", SYMLINK+="scanner-%k"
  # Dell A960
--SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5107", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="5107", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5107", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="413c", ATTR{idProduct}=="5107", SYMLINK+="scanner-%k"
  # Dell 922
--SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5109", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="5109", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5109", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="413c", ATTR{idProduct}=="5109", SYMLINK+="scanner-%k"
  # Dell 1600n
--SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5250", MODE="660", GROUP="scanner"
-+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="5250", MODE="660", GROUP="scanner"
+-SYSFS{idVendor}=="413c", SYSFS{idProduct}=="5250", SYMLINK+="scanner-%k"
++ATTR{idVendor}=="413c", ATTR{idProduct}=="5250", SYMLINK+="scanner-%k"
  
  LABEL="libsane_rules_end"

sane-backends-1.0.18-udev-new-kernels.patch:

Index: sane-backends-1.0.18-udev-new-kernels.patch
===================================================================
RCS file: /cvs/pkgs/rpms/sane-backends/devel/sane-backends-1.0.18-udev-new-kernels.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sane-backends-1.0.18-udev-new-kernels.patch	20 Jul 2007 15:35:29 -0000	1.1
+++ sane-backends-1.0.18-udev-new-kernels.patch	22 Jul 2007 21:04:15 -0000	1.2
@@ -1,5 +1,5 @@
---- sane-backends-1.0.18/tools/udev/libsane.rules.udev-new-kernels	2006-07-03 00:29:29.000000000 +0200
-+++ sane-backends-1.0.18/tools/udev/libsane.rules	2007-07-20 17:24:49.000000000 +0200
+--- sane-backends-1.0.18/tools/udev/libsane.rules.udev-new-kernels	2007-07-22 22:49:51.000000000 +0200
++++ sane-backends-1.0.18/tools/udev/libsane.rules	2007-07-22 22:49:52.000000000 +0200
 @@ -15,7 +15,7 @@
  #
  
@@ -8,4 +8,4 @@
 +SUBSYSTEM!="usb|usb_device", GOTO="libsane_rules_end"
  
  # Hewlett-Packard ScanJet 4100C
- SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner"
+ SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", SYMLINK+="scanner-%k"


Index: sane-backends.spec
===================================================================
RCS file: /cvs/pkgs/rpms/sane-backends/devel/sane-backends.spec,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- sane-backends.spec	20 Jul 2007 15:35:29 -0000	1.82
+++ sane-backends.spec	22 Jul 2007 21:04:15 -0000	1.83
@@ -24,7 +24,7 @@
 Summary: Scanner access software
 Name: sane-backends
 Version: 1.0.18
-Release: 9%{?dist}
+Release: 10%{?dist}
 License: GPL (programs), relaxed LGPL (libraries), and public domain (docs)
 Group: System Environment/Libraries
 Source0: ftp://ftp.sane-project.org/pub/sane/%{name}-%{version}/%{name}-%{version}.tar.gz
@@ -35,8 +35,9 @@
 Patch4: sane-backends-1.0.17-pkgconfig.patch
 Patch5: sane-backends-1.0.18-logical_vs_binary.patch
 Patch6: sane-backends-1.0.18-usb_reset.patch
-Patch7: sane-backends-1.0.18-udev-new-kernels.patch
-Patch8: sane-backends-1.0.18-udev-098.patch
+Patch7: sane-backends-1.0.18-udev-symlink.patch
+Patch8: sane-backends-1.0.18-udev-new-kernels.patch
+Patch9: sane-backends-1.0.18-udev-098.patch
 URL: http://www.sane-project.org
 BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(%__id_u -n)
 BuildRequires: tetex-latex libusb-devel libieee1284-devel libjpeg-devel
@@ -122,10 +123,11 @@
 %patch4 -p1 -b .pkgconfig
 %patch5 -p1 -b .logical_vs_binary
 %patch6 -p1 -b .usb_reset
-%patch7 -p1 -b .udev-new-kernels
+%patch7 -p1 -b .udev-symlink
+%patch8 -p1 -b .udev-new-kernels
 
 %if %udev_098
-%patch8 -p1 -b .udev-098
+%patch9 -p1 -b .udev-098
 %endif
 
 for i in agfafocus avision coolscan2 umax_pp; do
@@ -160,9 +162,9 @@
 rm -f %{buildroot}%{_mandir}/man1/gamma4scanimage.1*
 rm -f %{buildroot}%{_libdir}/sane/*.a %{buildroot}%{_libdir}/*.a
 rm -f %{buildroot}%{_libdir}/libsane*.la %{buildroot}%{_libdir}/sane/*.la
-mkdir -p %{buildroot}/%{_sysconfdir}/udev/rules.d/
 
-sed 's|MODE="660", GROUP="scanner"|SYMLINK+="scanner-%k"|g' tools/udev/libsane.rules > %{buildroot}/%{_sysconfdir}/udev/rules.d/60-libsane.rules
+mkdir -p %{buildroot}/%{_sysconfdir}/udev/rules.d/
+install -m 0644 tools/udev/libsane.rules %{buildroot}/%{_sysconfdir}/udev/rules.d/60-libsane.rules
 
 %find_lang %name
 
@@ -246,6 +248,9 @@
 %{_libdir}/pkgconfig/sane-backends.pc
 
 %changelog
+* Sun Jul 22 2007 Nils Philippsen <nphilipp at redhat.com> - 1.0.18-10
+- reorder udev rules tweaking (#244444)
+
 * Fri Jul 20 2007 Nils Philippsen <nphilipp at redhat.com> - 1.0.18-9
 - don't tweak device names in device configuration files anymore (obsolete)
 - let udev rules cope with SUBSYSTEM=="usb" (#244444)




More information about the scm-commits mailing list