[sane-devel] PIXMA MP530: Unprivileged user can't see iSerialNumber, thus can't get proper device name.

m. allan noah kitno455 at gmail.com
Wed Jan 31 18:50:46 CET 2007


what are the perms on the actual /proc/bus/usb/XXX/YYY file?

allan

On 1/30/07, Karen Pease <meme at daughtersoftiresias.org> 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 at 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 at 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 at daughtersoftiresias sane-backends]#
>
> Success.  Now, for a mere mortal (with the same SANE-related
> debug/experimental environmental variables):
>
> [meme at 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 at 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 at 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 at 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: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>              to sane-devel-request at lists.alioth.debian.org
>


-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list