FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux General Discussion

 
 
LinkBack Thread Tools
 
Old 11-22-2011, 11:53 PM
Ruslan Nabioullin
 
Default libgphoto2 2.4.10.1-2 udev rules not matching

I am trying to access a camera using the gphoto2 frontend to x86_64 libgphoto2 2.4.10.1-2, which installs a udev rules file to /lib/udev/rules.d/40-gphoto.rules.


40-gphoto.rules (abridged):

# udev rules file for libgphoto2 devices (for udev 136 version)
# Created from this library:
# libgphoto2 2.4.10.1 gcc, ltdl, EXIF
# libgphoto2_port 0.8.0 gcc, ltdl, USB, serial without locking
#
# this file is autogenerated, local changes will be LOST on upgrades
ACTION!="add", GOTO="libgphoto2_rules_end"
SUBSYSTEM!="usb", GOTO="libgphoto2_usb_end"
ENV{DEVTYPE}!="usb_device", GOTO="libgphoto2_usb_end"

ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
ENV{ID_USB_INTERFACES}=="*:08*:*", GOTO="libgphoto2_usb_end"
ENV{ID_USB_INTERFACES}=="*:060101:*", ENV{ID_GPHOTO2}="1", ENV{GPHOTO2_DRIVER}="PTP", GOTO="libgphoto2_usb_end"
...
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315d", ENV{ID_GPHOTO2}="1", ENV{GPHOTO2_DRIVER}="proprietary", MODE="0660", GROUP="camera"
...
LABEL="libgphoto2_usb_end"

...
LABEL="libgphoto2_rules_end"


When I connect a camera (which is listed as supported by the libgphoto2 webpages), udevadm reports the following event:


UDEV [18908.111143] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2 (usb)
ACTION=add
BUSNUM=002
COLORD_DEVICE=1
COLORD_KIND=camera
DEVICE=/proc/bus/usb/002/017
DEVNAME=/dev/bus/usb/002/017
DEVNUM=017
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-2
DEVTYPE=usb_device
GPHOTO2_DRIVER=PTP
ID_BUS=usb
ID_GPHOTO2=1
ID_MODEL=Canon_Digital_Camera
ID_MODEL_ENC=Canonx20Digitalx20Camera
ID_MODEL_ID=315d
ID_REVISION=0002
ID_SERIAL=Canon_Inc._Canon_Digital_Camera_3DEABCB4 221D4B9A8677BD305FF7A362
ID_SERIAL_SHORT=3DEABCB4221D4B9A8677BD305FF7A362
ID_USB_INTERFACES=:060101:
ID_VENDOR=Canon_Inc.
ID_VENDOR_ENC=Canonx20Inc.
ID_VENDOR_ID=04a9
MAJOR=189
MINOR=144
PRODUCT=4a9/315d/2
SEQNUM=1971
SUBSYSTEM=usb
TAGS=:udev-acl:
TYPE=0/0/0
UDEV_LOG=3
USEC_INITIALIZED=18907744211


ID_VENDOR_ID, ID_MODEL_ID, and ID_GPHOTO2 matches, but GPHOTO2_DRIVER does not ("PTP" does not match "proprietary").
As a result, /dev/bus/usb/002/017 is owned by the "root" group, instead of the "camera" group, thus preventing the use of gphoto2 due to no write permissions:


crw-rw-r-- 1 root root 189, 144 Nov 22 18:23 017


In fact, I have tried chgrp'ing the aforementioned device file to "camera", and gphoto2 successfully functioned inasmuch as I tested it (except for an error when gphoto2 tried accessing some other USB device file as well for some reason, but this did not impact functionality).

Any ideas why the udev rules file was written under the assumption that the camera vendor and model ("Canon:PowerShot A720 IS (PTP mode)", 0x04a9, 0x315d) uses a "proprietary" driver instead of "PTP"? I have found a possible solution (https://wiki.archlinux.org/index.php/Digital_Cameras#Permission_issues) but I have not tested it since I see no reason why the libgphoto2 package should not work with this camera vendor and model by default.

Thanks in advance,
-Ruslan

--
Ruslan Nabioullin
rnabioullin@gmail.com
 

Thread Tools




All times are GMT. The time now is 04:41 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org