[sane-devel] 55-libsane.rules

Johannes Meixner jsmeix at suse.de
Tue Jun 21 10:13:54 UTC 2011


On Jun 21 08:48 Olaf Meeuwissen wrote:
> Simon Becherer <simon at becherer.de> writes:
>> Hi there, you wrote:
>> (inside /etc/udev/rules.d/55-libsane-rules)
>> # If the scanner is supported by sane-backends, please mail the entry to
>> # the sane-devel mailing list (sane-devel at lists.alioth.debian.org).
>> here there is the line for my "epson gt 10000+ scanner (scsi)":
>> # Epson GT-10000+
>> KERNEL=="sg[0-9]*", ATTRS{type}=="3", ATTRS{vendor}=="EPSON",
>> ATTRS{model}=="SCANNER GT-10000", MODE="0664", GROUP="lp",
>> ENV{libsane_matched}="yes"
>> added the line in an suse 11.4 system, because the /dev/sg7 on which
>> my scanner was was root/root
>> with that line it is root/lp and i can use it as user.
> Access permissions such as mode and group settings are distribution
> policy specific things, not something that SANE forces upon anyone.
> So this is really a SUSE issue.
> IIRC, SUSE wants you to use YaST to configure your scanner.  That ought
> to take care of whatever is necessary.

Two times no.

Since HAL has gone to hell (hooray!) YaST does no longer need
to do awkward stuff to try to set scanner device permissions.
Nowadays we rely on udev and its rules files to do "the right thing".

But when even "the right thing" fails, YaST provides a workaround,
see "... scanner access permissions via udev" at

We use the udev device entries from the SANE project "as is",
i.e. we do not add or remove device entries but we modify
the default permissions from the SANE project for the device entries.

In particular we modify the permissions as Simon Becherer needs:
   ... MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

Reason for GROUP="lp":
There is no group "scanner" in /etc/group for openSUSE.
For all-in-one devices (i.e. printer + scanner, e.g. "EPSON Stylus" devices)
the group must be "lp" so that the CUPS usb backend which runs
as user "lp" (who is member of the group "lp") can send printing data
to the printer unit (i.e. the printer interface of the USB device).
It is sufficiently secure and reasonable easy to use by default
the same group "lp" for printers and scanners because both kind of devices
usually require physical user access (to get the printed paper or
to place a paper on the scanner) so that both kind of devices
should usually require the same kind of security.

But sane-backends-1.0.22 does not provide a particular udev rule
for the "EPSON" "SCANNER GT-10000" SCSI scanner device.

According to what Simon Becherer wrote, the "EPSON" "SCANNER GT-10000"
SCSI scanner device is not a generic SCSI scanner with ATTRS{type}=="6"
instead it is one of those SCSI scanner devices with ATTRS{type}=="3".

In contrast to the generic SCSI scanners with ATTRS{type}=="6"
the SCSI scanner devices which need  ATTRS{type}=="3"
are listed one by one in libsane.rules

An ATTRS{type}=="3" udev rule is missing at the SANE project
for the SCSI scanner device "EPSON" "SCANNER GT-10000".

Perhaps the Epson people could provide a list of all their
SCSI scanner devices with ATTRS{type}=="3" to the SANE project
so that such issues would be solved by those who initially
cause the trouble by making and selling somewhat crippled devices
which do not fulfill the requirements to be real SCSI scanners.

Kind Regards
Johannes Meixner
SUSE LINUX Products GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany
HRB 16746 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer

More information about the sane-devel mailing list