You are not logged in.
Hallo everyone,
I recently tried getting my scanner to work under Linux, and as root I have absolutely no trouble to do so. However, I would of course like to use my scanner as a normal user, too. This is my scanner:
$ lsusb | grep Epson
Bus 002 Device 004: ID 04b8:0122 Seiko Epson Corp. Perfection 3590 scanner
But when I try to access the scanner as a user, I get "permission denied" from libusb (the command works fine as root):
$ scanimage -d snapscan:libusb:002:004 -x 50 -y 50 --format=tiff > test.tiff
libusb couldn't open USB device /dev/bus/usb/002/004: Permission denied.
libusb requires write access to USB device nodes.
scanimage: open of device snapscan:libusb:002:004 failed: Invalid argument
udev says the following about the device:
# udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/004)
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-5':
KERNEL=="2-5"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{configuration}==""
ATTR{bNumInterfaces}==" 1"
ATTR{bConfigurationValue}=="1"
ATTR{bmAttributes}=="c0"
ATTR{bMaxPower}=="100mA"
ATTR{urbnum}=="362"
ATTR{idVendor}=="04b8"
ATTR{idProduct}=="0122"
ATTR{bcdDevice}=="0110"
ATTR{bDeviceClass}=="ff"
ATTR{bDeviceSubClass}=="ff"
ATTR{bDeviceProtocol}=="ff"
ATTR{bNumConfigurations}=="1"
ATTR{bMaxPacketSize0}=="64"
ATTR{speed}=="480"
ATTR{busnum}=="2"
ATTR{devnum}=="4"
ATTR{devpath}=="5"
ATTR{version}==" 2.00"
ATTR{maxchild}=="0"
ATTR{quirks}=="0x0"
ATTR{avoid_reset_quirk}=="0"
ATTR{authorized}=="1"
ATTR{manufacturer}=="EPSON"
ATTR{product}=="EPSON Scanner"
looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="55"
ATTRS{idVendor}=="1d6b"
ATTRS{idProduct}=="0002"
ATTRS{bcdDevice}=="0206"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="480"
ATTRS{busnum}=="2"
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="6"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 2.6.38-ARCH ehci_hcd"
ATTRS{product}=="EHCI Host Controller"
ATTRS{serial}=="0000:00:1d.7"
ATTRS{authorized_default}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1d.7':
KERNELS=="0000:00:1d.7"
SUBSYSTEMS=="pci"
DRIVERS=="ehci_hcd"
ATTRS{vendor}=="0x8086"
ATTRS{device}=="0x3a3a"
ATTRS{subsystem_vendor}=="0x1849"
ATTRS{subsystem_device}=="0x3a3a"
ATTRS{class}=="0x0c0320"
ATTRS{irq}=="23"
ATTRS{local_cpus}=="ff"
ATTRS{local_cpulist}=="0-7"
ATTRS{dma_mask_bits}=="32"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{enable}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
ATTRS{companion}==""
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
A fitting udev rule seems to exist for the device, giving "scanner" group appropriate access:
$ grep -A 1 Perfection\ 3590 /lib/udev/rules.d
/lib/udev/rules.d/53-sane.rules:# EPSON Perfection 3590 PHOTO | Epson Perfection 3490 | Epson Perfection 3590
/lib/udev/rules.d/53-sane.rules-ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0122", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"
Last of all, I am in the correct groups for this:
$ groups
wheel uucp network video audio optical storage scanner
I don't see what's wrong. Is udev failing me for some reason? How could I check? Some help would be awesome.
Offline
Bump. I wonder if something is seriously broken inside Arch here. At least I have a friend that has the same problem with a totally different scanner. Is there anyone else suffering from a similar problem, or are there people out there that can actually use their scanner as a normal user with the current Arch build? If so, what is your setup (e.g. udev, hal, all that hotplugging stuff)?
Offline
Hi, try to do
sudo chmod 0666 /dev/bus/usb/001/004
I am having problems with the epson printer too. With that command i can make the printer work, otherwise it gets locked.
Offline
Never had any luck with this scanner after some changes in libusb many years back. Had bug report filed on the libusb site but never heard back. Try it with a firewire cable..worked for me.
Offline
chmod is probably the best solution. In a few years udev will become deprecated because it's too damn complicated, rules stop working after updates and it slows down the boot proces with a few seconds.
So while stuck with udev the best solution is to chmod /dev. This magic command will solve 90% of your Linx problems:
chmod 0666 /dev/* -R
Offline