[sane-devel] root gets correct 'scanimage -L' results, but user does not.

Rusty Carruth rustycjob at descomp.com
Sat Mar 15 01:02:16 UTC 2008


Ok, so I have a ScanMaker 3600 USB scanner, and I'm running debian:

Linux version 2.6.18-5-686 (Debian 2.6.18.dfsg.1-13) (dannf at debian.org) 
(gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri 
Jun 1 00:47:00
UTC 2007


When I run:

rcdesk:/etc/udev# sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make 
sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.
  # Also you need support for SCSI Generic (sg) in your operating system.
  # If using Linux, try "modprobe sg".

found USB scanner (vendor=0x05da, product=0x40b3, chip=M011) at 
libusb:001:006
  # Your USB scanner was (probably) detected. It may or may not be 
supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
rcdesk:/etc/udev#

So, I try debug output of scanimage:

rcdesk:/etc/udev# SANE_DEBUG_SM3600=255 scanimage -L
[sanei_debug] Setting debug level of sm3600 to 255.
[sm3600] SM3600 init
[sm3600] SM3600 version: 1000006
[sm3600] found dev 05DA/40B3, libusb:001:006
device `v4l:/dev/video0' is a Noname BT878 video (ATI TV-Wonder VE) 
virtual device
device `sm3600:libusb:001:006' is a Microtek ScanMaker 3600 flatbed scanner
rcdesk:/etc/udev#

That was for root.  For normal user, the output of sane-find* is the same.
As normal user, scanimage gives:

rusty at rcdesk:~$ SANE_DEBUG_SM3600=255 scanimage -L
[sanei_debug] Setting debug level of sm3600 to 255.
[sm3600] SM3600 init
[sm3600] SM3600 version: 1000006
device `v4l:/dev/video0' is a Noname BT878 video (ATI TV-Wonder VE) 
virtual device
rusty at rcdesk:~$

If I chmod the scanner device in /proc/bus/usb to 666 I still get the
same results from scanimage as user.

Also, no matter what I try in /etc/udev, I get permissions 644 for the
device associated with the SM3600.  Here's udev:

rusty at rcdesk:~$ ls -l /etc/udev/rules.d/025_libsane.rules
lrwxrwxrwx 1 root root 16 2008-03-13 06:26 
/etc/udev/rules.d/025_libsane.rules -> ../libsane.rules
rusty at rcdesk:~$ egrep 40b3 /etc/udev/rules.d/025_libsane.rules
# Microtek ScanMaker 3600
SYSFS{idVendor}=="05da", SYSFS{idProduct}=="40b3", MODE="664", 
GROUP="scanner"

and yet:

rusty at rcdesk:~$ ls -l /proc/bus/usb/001
total 0
-rw-r--r-- 1 root root 43 2008-03-14 09:02 001
-rw-r--r-- 1 root root 43 2008-03-14 09:02 002
-rw-r--r-- 1 root root 43 2008-03-14 17:42 007
rusty at rcdesk:~$

And, finally:

rcdesk:/etc/udev# cat /proc/bus/usb/devices

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.18-5-686 uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:1f.4
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc= 11/900 us ( 1%), #Int=  1, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.18-5-686 uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:1f.2
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 4
D:  Ver= 1.01 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=05e3 ProdID=0604 Rev= 0.12
S:  Product=USB Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  7 Spd=12  MxCh= 0
D:  Ver= 1.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=05da ProdID=40b3 Rev= 0.00
C:* #Ifs= 1 Cfg#= 1 Atr=60 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
rcdesk:/etc/udev#

Hopefully I've given enough info above, without wasting anyone's time
with TOO much info!

Thanks for any ideas/pointers on either of the above problems....

Rusty




More information about the sane-devel mailing list