[sane-devel] libsane udev rule

gobo gobo770 at gmail.com
Tue Jun 10 20:57:50 UTC 2014


thanks for the reply.

changed my approach and used scanimage -f "%d" to capture the device
in my script.  this works well enough since i have only one scanner.

is there a way to suppress the

libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.

messages libusb puts out?  not a problem, just an annoyance.


thanks.


On 6/9/14, Olaf Meeuwissen <olaf.meeuwissen at avasys.jp> wrote:
> gobo writes:
>
>> generally, i know how to write udev rules.  but i'm not sure how to
>> write one for libsane.
>>
>> scanimage -L returns something like:
>> device `canon_dr:libusb:001:002' is a CANON DR-2580C scanner
>>
>> where the 001:002 is always changing.  :005, :008, etc.
>>
>> so in 55-libsane.rules there is:
>> # Canon DR-2580C
>> ATTR{idVendor}=="04a9", ATTR{idProduct}=="1608", MODE="0664",
>> GROUP="lp", ENV{libsane_matched}="yes"
>>
>> what do i add to the rule to force this device to always have the same
>> libusb name?
>
> In short, you can't.
>
> You can assign a value to the SYMLINK key in a udev rule.  That will
> dutifully create a device with that name no matter what bus and device
> number it has.  However, as long as the canon_dr backend (or probably
> most any backend) creates device names using the bus and device numbers,
> you are out of luck.
>
> Hope this clarifies,
> --
> Olaf Meeuwissen, LPIC-2           FLOSS Engineer -- AVASYS CORPORATION
> FSF Associate Member #1962               Help support software freedom
>                  http://www.fsf.org/jf?referrer=1962
>



More information about the sane-devel mailing list