Brilliant :) It wasn't /proc/bus/usb... for some reason, it was /dev/bus/usb that it was reading. And the permissions on /dev/bus/usb were restricted for normal users. I've granted permissions, and scanimage -L now tacks the serial number on properly, and I get no errors when running a test scan. I'll try it out in gimp when I get home.
Thanks -- you were a huge help! - Karen On Wednesday 31 January 2007 08:13 pm, m. allan noah wrote: > On 1/31/07, m. allan noah <[email protected]> wrote: > > as non-root, `strace lsusb` and see what file it is opening. might not > > be in /proc > > oh- and something i have seen before, is there any other software on the > machine that might have the usb device open? like printing software? > > allan > > > On 1/31/07, Karen Pease <[email protected]> wrote: > > > Thanks for the response. As mentioned in the original post, all > > > of /proc/bus/usb is wide open. All of the files in that directory have > > > the same permissions. Specifically, the scanner (002/007) is: > > > > > > -rwxrwxrwx 1 root users 103 Jan 30 02:09 002/007 > > > > > > Also, the directories are world-accessible: > > > > > > drwxrwxrwx 2 root root 0 Jan 29 23:45 002/ > > > > > > and: > > > > > > drwxrwxrwx 4 root root 0 Jan 29 23:45 usb/ > > > > > > If it's a permissions issue, it's not one that relates to /proc/bus/usb > > > file permissions, as far as I can tell. > > > > > > - Karen > > > > > > On Wednesday 31 January 2007 05:50 pm, m. allan noah wrote: > > > > what are the perms on the actual /proc/bus/usb/XXX/YYY file? > > > > > > > > allan > > > > > > > > On 1/30/07, Karen Pease <[email protected]> wrote: > > > > > Is it possible to have non-root users scan from the MP530? I've > > > > > been spinning my gears just to get the scanner to work at all as > > > > > root, and finally managed to only by installing the CVS version of > > > > > the backend and fiddling around with it. However, I can't seem to > > > > > get a common user to have access to the scanner. > > > > > > > > > > First, what root sees. Lets just do a test. > > > > > > > > > > [root@daughtersoftiresias sane-backends]# scanimage -L > > > > > [sanei_debug] Setting debug level of pixma to 10. > > > > > [pixma] pixma version 0.12.2 > > > > > device `v4l:/dev/video0' is a Noname BT848 video ( *** > > > > > UNKNOWN/GENER virtual device > > > > > device `pixma:04A91712_114A42' is a CANON Canon PIXMA MP530 > > > > > multi-function peripheral > > > > > [root@daughtersoftiresias sane-backends]# scanimage -d > > > > > pixma:04A91712_114A42 -n > > > > > [sanei_debug] Setting debug level of pixma to 10. > > > > > [pixma] pixma version 0.12.2 > > > > > [pixma] pixma_open(): Canon PIXMA MP530 > > > > > [pixma] pixma_close(): Canon PIXMA MP530 > > > > > [root@daughtersoftiresias sane-backends]# > > > > > > > > > > Success. Now, for a mere mortal (with the same SANE-related > > > > > debug/experimental environmental variables): > > > > > > > > > > [meme@daughtersoftiresias ~]$ scanimage -L > > > > > [sanei_debug] Setting debug level of pixma to 10. > > > > > [pixma] pixma version 0.12.2 > > > > > device `v4l:/dev/video0' is a Noname BT848 video ( *** > > > > > UNKNOWN/GENER virtual device > > > > > device `pixma:04A91712' is a CANON Canon PIXMA MP530 multi-function > > > > > peripheral [meme@daughtersoftiresias ~]$ scanimage -d > > > > > pixma:04A91712 -n [sanei_debug] Setting debug level of pixma to 10. > > > > > [pixma] pixma version 0.12.2 > > > > > [pixma] pixma_open(): Canon PIXMA MP530 > > > > > [pixma] pixma_connect() failed EACCES > > > > > [pixma] pixma_open() failed EACCES > > > > > [pixma] pixma_close(): Canon PIXMA MP530 > > > > > scanimage: open of device pixma:04A91712 failed: Access to resource > > > > > has been denied > > > > > [meme@daughtersoftiresias ~]$ scanimage -d pixma:04A91712_114A42 -n > > > > > [sanei_debug] Setting debug level of pixma to 10. > > > > > [pixma] pixma version 0.12.2 > > > > > scanimage: open of device pixma:04A91712_114A42 failed: Invalid > > > > > argument [meme@daughtersoftiresias ~]$ > > > > > > > > > > The first thing to notice is that the regular user doesn't see the > > > > > same device name as root from scanimage -L: they see a name that's > > > > > missing the serial, thus an improperly formatted pixma device name, > > > > > as far as I can tell. When I give that device, we get an "access > > > > > denied", even though I've set my /proc/bus/usb wide open. When I > > > > > try the proper name that root is given (but meme is not), I get an > > > > > invalid argument -- the same as I'd get if I typed -d pixma:qwijibo > > > > > or -d pixma:ThisIsNotAValidDevice. > > > > > > > > > > So, why does it omit the serial? Well, I think I've got that one > > > > > figured out. From sane-find-scanner -v -v: First, as root: > > > > > > > > > > trying libusb: > > > > > > > > > > <device descriptor of 0x04a9/0x1712 at 002:007 (Canon MP530)> > > > > > bLength 18 > > > > > bDescriptorType 1 > > > > > bcdUSB 2.00 > > > > > bDeviceClass 0 > > > > > bDeviceSubClass 0 > > > > > bDeviceProtocol 0 > > > > > bMaxPacketSize0 64 > > > > > idVendor 0x04A9 > > > > > idProduct 0x1712 > > > > > bcdDevice 1.05 > > > > > iManufacturer 1 (Canon) > > > > > iProduct 2 (MP530) > > > > > iSerialNumber 3 (114A42) > > > > > bNumConfigurations 1 > > > > > <configuration 0> > > > > > ... > > > > > > > > > > Now, as meme: > > > > > > > > > > trying libusb: > > > > > > > > > > <device descriptor of 0x04a9/0x1712 at 002:007> > > > > > bLength 18 > > > > > bDescriptorType 1 > > > > > bcdUSB 2.00 > > > > > bDeviceClass 0 > > > > > bDeviceSubClass 0 > > > > > bDeviceProtocol 0 > > > > > bMaxPacketSize0 64 > > > > > idVendor 0x04A9 > > > > > idProduct 0x1712 > > > > > bcdDevice 1.05 > > > > > iManufacturer 1 ((null)) > > > > > iProduct 2 ((null)) > > > > > iSerialNumber 3 ((null)) > > > > > bNumConfigurations 1 > > > > > <configuration 0> > > > > > > > > > > Meme seems unable to get iSerialNumber -- but it can get idVendor > > > > > and idProduct, and thus ultimately determine what kind of scanner > > > > > we're dealing with. The same thing happens with lsusb -v; root can > > > > > see the serial number, while meme can't. > > > > > > > > > > Does this look like what's causing the problem to you? Can you > > > > > think of a way to work around it? My ultimate goal is to be able > > > > > to have users just start up gimp and be able to scan, but as it > > > > > stands, that's not an option. Which is a shame, because I > > > > > specifically picked the MP530 because all of its features were > > > > > reported as working well in Linux. > > > > > > > > > > Thanks! > > > > > > > > > > - Karen > > > > > > > > > > > > > > > -- > > > > > sane-devel mailing list: [email protected] > > > > > http://lists.alioth.debian.org/mailman/listinfo/sane-devel > > > > > Unsubscribe: Send mail with subject "unsubscribe your_password" > > > > > to [email protected] > > > > > > > > -- > > > > "The truth is an offense, but not a sin" > > > > > > -- > > > sane-devel mailing list: [email protected] > > > http://lists.alioth.debian.org/mailman/listinfo/sane-devel > > > Unsubscribe: Send mail with subject "unsubscribe your_password" > > > to [email protected] > > > > -- > > "The truth is an offense, but not a sin" > > -- > "The truth is an offense, but not a sin"
