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
