I have two scanners attached to my system: a Canon LIDE20 and an Avision AV220.
Both worked fine, however after upgrading my kernel from 2.6.12 to 2.6.17 the Avision stopped working. It did not show up in scanimage -L. However running scanimage -L as root showed the Avision again.
Indeed, in the /dev/bus/usb/004/012 the scanner was listed as:
Code:
crw-rw-r-- 1 root root 189, 395 2006-12-13 09:37 /dev/bus/usb/004/012
while it should have been something like:
Code:
crw-rw-rw- 1 root scanner 189, 395 2006-12-13 09:37 /dev/bus/usb/004/012
(The 666 permissions are not necessary on most systems. I have reasons to want it like this) It is essential that the device is owned by root:scanner.
Using the old kernel, this line in /etc/sane.d/hotplug/libsane.db was sufficient to get the device installed correctly:
Code:
# Avision AV220
0x0638 0x0a23 root:scanner 0666
Since this scanner is not supported yet by the Debian distro currently installed I had added this line by hand.
Kernel 2.6.17 uses the udev mechanism for creating new devices (I think this started with kernel 2.6.14). The place where the rules are defined for creating devices is different. These rules are now found in /etc/udev/rules.d, and the sane devices are now defined in /etc/udev/libsane.rules
In this file I had to add this line:
Code:
# Avision, Inc.| AV220 Sheetfed scanner
SYSFS{idVendor}=="0638", SYSFS{idProduct}=="0a23", MODE="666", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.
hotplug"
Then it worked fine again.
jlinkels
Distro: Debian Etch
Kernel: 2.6.17
Scanner: Sane 1.0.14-1
Desktop: KDE 3.5