From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederic Peters Date: Thu, 16 Nov 2006 13:27:34 +0000 Subject: Generic udev rule for PTP camera Message-Id: <20061116132734.GA13117@entrouvert.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: linux-hotplug@vger.kernel.org Hello, For a long time, since we totally switched from hotplug to udev, we have been unable in Debian to provide fallback support for unknown PTP cameras. Hotplugging any known camera works perfectly but this require attentive maintenance of matching USB id and always lags behind constructors. PTP camera devices define an interface which I thought could be matched by the following rule: SYSFS{bInterfaceClass}=3D"06", SYSFS{bInterfaceSubClass}=3D"01", \ SYSFS{bInterfaceProtocol}=3D"01", MODE=3D"0660", GROUP=3D"plugdev" Unfortunately this doesn't work. Then Marcus Meissner from libgphoto2 suggested to use ENV{INTERFACE}=3D"6/1/1" as matcher but I can't get it to work and Marco d'Itri (Debian udev maintainer) believe this not to be the correct solution anyway. Since Marco doesn't have much time for the moment he suggested I asked the question here, so here it is: what would be the rule to use to set mode/group on /dev/bus/usb/... device when detecting this device by bInterface{Class/SubClass/Protocol} ? For the record, I copied below the output of udevmonitor --env when plugging in a camera. Thanks for your support, Frederic UEVENT[1163683152.644771] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2 SUBSYSTEM=3Dusb SEQNUM=1708 PHYSDEVBUS=3Dusb PHYSDEVDRIVER=3Dusb UEVENT[1163683152.645218] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/usb= dev1.4_ep00 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/usbdev1.4_ep00 SUBSYSTEM=3Dusb_endpoint SEQNUM=1709 MAJORD2 MINOR=3D3 UDEV [1163683152.645698] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2 SUBSYSTEM=3Dusb SEQNUM=1708 PHYSDEVBUS=3Dusb PHYSDEVDRIVER=3Dusb UDEVD_EVENT=3D1 DRIVER=3Dusb UEVENT[1163683152.647503] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0 SUBSYSTEM=3Dusb SEQNUM=1710 PHYSDEVBUS=3Dusb DEVICE=3D/proc/bus/usb/001/004 PRODUCTJ9/30fd/2 TYPE=3D0/0/0 INTERFACE=3D6/1/1 MODALIAS=3Dusb:v04A9p30FDd0002dc00dsc00dp00ic06isc01ip01 UEVENT[1163683152.647551] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep81 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep81 SUBSYSTEM=3Dusb_endpoint SEQNUM=1711 MAJORD2 MINOR=3D3 UEVENT[1163683152.647585] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep02 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep02 SUBSYSTEM=3Dusb_endpoint SEQNUM=1712 MAJORD2 MINOR=3D3 UEVENT[1163683152.647618] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep83 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep83 SUBSYSTEM=3Dusb_endpoint SEQNUM=1713 MAJORD2 MINOR=3D3 UEVENT[1163683152.647657] add@/class/usb_device/usbdev1.4 ACTION=ADd DEVPATH=3D/class/usb_device/usbdev1.4 SUBSYSTEM=3Dusb_device SEQNUM=1714 PHYSDEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2 PHYSDEVBUS=3Dusb PHYSDEVDRIVER=3Dusb MAJOR=189 MINOR=3D3 UDEV [1163683152.664824] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/usb= dev1.4_ep00 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/usbdev1.4_ep00 SUBSYSTEM=3Dusb_endpoint SEQNUM=1709 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep00 UDEV [1163683152.665734] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0 SUBSYSTEM=3Dusb SEQNUM=1710 PHYSDEVBUS=3Dusb DEVICE=3D/proc/bus/usb/001/004 PRODUCTJ9/30fd/2 TYPE=3D0/0/0 INTERFACE=3D6/1/1 MODALIAS=3Dusb:v04A9p30FDd0002dc00dsc00dp00ic06isc01ip01 UDEVD_EVENT=3D1 UDEV [1163683152.698823] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep81 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep81 SUBSYSTEM=3Dusb_endpoint SEQNUM=1711 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep81 UDEV [1163683152.700491] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep02 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep02 SUBSYSTEM=3Dusb_endpoint SEQNUM=1712 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep02 UDEV [1163683152.701862] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep83 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep83 SUBSYSTEM=3Dusb_endpoint SEQNUM=1713 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep83 UDEV [1163683152.715971] add@/class/usb_device/usbdev1.4 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/class/usb_device/usbdev1.4 SUBSYSTEM=3Dusb_device SEQNUM=1714 PHYSDEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2 PHYSDEVBUS=3Dusb PHYSDEVDRIVER=3Dusb MAJOR=189 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/bus/usb/001/004 UEVENT[1163683157.940219] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/= 1-2:1.0/usbdev1.4_ep81 ACTION=3Dremove DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep81 SUBSYSTEM=3Dusb_endpoint SEQNUM=1715 MAJORD2 MINOR=3D3 UEVENT[1163683157.940251] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/= 1-2:1.0/usbdev1.4_ep02 ACTION=3Dremove DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep02 SUBSYSTEM=3Dusb_endpoint SEQNUM=1716 MAJORD2 MINOR=3D3 UEVENT[1163683157.940278] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/= 1-2:1.0/usbdev1.4_ep83 ACTION=3Dremove DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep83 SUBSYSTEM=3Dusb_endpoint SEQNUM=1717 MAJORD2 MINOR=3D3 UEVENT[1163683157.940285] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep81 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep81 SUBSYSTEM=3Dusb_endpoint SEQNUM=1718 MAJORD2 MINOR=3D3 UEVENT[1163683157.940292] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep02 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep02 SUBSYSTEM=3Dusb_endpoint SEQNUM=1719 MAJORD2 MINOR=3D3 UEVENT[1163683157.940298] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep83 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep83 SUBSYSTEM=3Dusb_endpoint SEQNUM=1720 MAJORD2 MINOR=3D3 UDEV [1163683157.953460] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/= 1-2:1.0/usbdev1.4_ep81 UDEV_LOG=3D3 ACTION=3Dremove DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep81 SUBSYSTEM=3Dusb_endpoint SEQNUM=1715 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep81 UDEV [1163683157.954286] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/= 1-2:1.0/usbdev1.4_ep02 UDEV_LOG=3D3 ACTION=3Dremove DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep02 SUBSYSTEM=3Dusb_endpoint SEQNUM=1716 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep02 UDEV [1163683157.954900] remove@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/= 1-2:1.0/usbdev1.4_ep83 UDEV_LOG=3D3 ACTION=3Dremove DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep83 SUBSYSTEM=3Dusb_endpoint SEQNUM=1717 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep83 UDEV [1163683157.957305] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep81 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep81 SUBSYSTEM=3Dusb_endpoint SEQNUM=1718 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep81 UDEV [1163683157.958620] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep02 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep02 SUBSYSTEM=3Dusb_endpoint SEQNUM=1719 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep02 UDEV [1163683157.959884] add@/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2= :1.0/usbdev1.4_ep83 UDEV_LOG=3D3 ACTION=ADd DEVPATH=3D/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/usbdev1.4_ep83 SUBSYSTEM=3Dusb_endpoint SEQNUM=1720 MAJORD2 MINOR=3D3 UDEVD_EVENT=3D1 DEVNAME=3D/dev/usbdev1.4_ep83 ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=DEVD= EV _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel