[sane-devel] libsane udev rules for 2.6.22

ael law_ence.dev at ntlworld.com
Sun Jul 22 12:04:35 UTC 2007

If kernel 2.6.22.* is configured with the deprecated USB_DEVICE_CLASS
selected, then the standard libsane.rules work. That is

ACTION!="add", GOTO="libsane_rules_end"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"

If USB_DEVICE_CLASS is not asserted, and the rule suggested in the
configuration help text

SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device",\
  NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"

is included under /etc/udev/rules.d/ then although /dev/bus/xxx/nnn
is then created, the libsane.rules are no longer triggered, and the
group is not changed.

Changing the libsane.rules first section above to

ACTION!="add", GOTO="libsane_rules_end"
ENV{DEVTYPE}=="usb_device", GOTO="tests"
SUBSYSTEM!="usb_device", GOTO="libsane_rules_end"


works with earlier kernels and with 2.6.22.* whether USB_DEVICE_CLASS is
asserted or not.

I assume that tools/sane-desc.c needs to be patched with something along
these lines? I have looked at sane-backends-1.0.19-cvs20070505 from
debian, and only the old rule seems to be generated there.


More information about the sane-devel mailing list