[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

udev and gphoto2



Hi All,

Somewhere along the lines up upgrading my testing installation I've
broken the gphoto2 support for my camera... When I plug in the camera
on the USB port it is detected and i used to be and the normal dialog
appears asking if I want to import the photos. But now that fails
which seems to be due to permission problems.

I belong to the camera group which is what used to make this process
work in the past. The node /dev/bus/usb/002/013 is created when I plug
in the camera, but the ownership in not changed so that node is owner
by the group "camera".

I enabled debug on udevd, and this is what I get in the log when the
usb camera attaches:

Dec 11 19:02:22 laptop kernel: usb 2-2: new full speed USB device using uhci_hcd and address 14
Dec 11 19:02:22 laptop udevd[7038]: udev_event_run: seq 1159 forked, pid [11067], 'add' 'usb', 0 seconds old
Dec 11 19:02:22 laptop udevd-event[11067]: wait_for_sysfs: file appeared after 0 loops
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: '/etc/hotplug/usb/libgphoto2' 'usb'
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: '/etc/hotplug/usb/libgphoto2' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: '/usr/lib/hal/hal.hotplug' 'usb'
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: '/usr/lib/hal/hal.hotplug' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11067]: pass_env_to_socket: passed -1 bytes to socket '/org/kernel/udev/monitor',
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: 'udev_run_hotplugd' 'usb'
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: '/lib/udev/udev_run_hotplugd' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: 'udev_run_devd' 'usb'
Dec 11 19:02:22 laptop udevd-event[11067]: run_program: '/lib/udev/udev_run_devd' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11067]: udev_event_run: seq 1159 finished
Dec 11 19:02:22 laptop udevd[7038]: udev_done: seq 1159, pid [11067] exit with 0, 0 seconds old
Dec 11 19:02:22 laptop udevd[7038]: udev_event_run: seq 1160 forked, pid [11088], 'add' 'usb', 0 seconds old
Dec 11 19:02:22 laptop udevd-event[11088]: wait_for_sysfs: file appeared after 0 loops
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/etc/hotplug/usb/libgphoto2' 'usb'
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/etc/hotplug/usb/libgphoto2' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/usr/lib/hal/hal.hotplug' 'usb'
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/usr/lib/hal/hal.hotplug' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11088]: pass_env_to_socket: passed -1 bytes to socket '/org/kernel/udev/monitor',
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/sbin/modprobe usb:v04A9p3075d0001dc00dsc00dp00ic06isc01ip01'
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/sbin/modprobe' (stderr) 'FATAL: Module usb:v04A9p3075d0001dc00dsc00dp00ic06isc01ip01 not found.'
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/sbin/modprobe' returned with status 1
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: 'udev_run_hotplugd' 'usb'
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/lib/udev/udev_run_hotplugd' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: 'udev_run_devd' 'usb'
Dec 11 19:02:22 laptop udevd-event[11088]: run_program: '/lib/udev/udev_run_devd' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11088]: udev_event_run: seq 1160 finished
Dec 11 19:02:22 laptop udevd[7038]: udev_done: seq 1160, pid [11088] exit with 1, 0 seconds old
Dec 11 19:02:22 laptop udevd[7038]: udev_event_run: seq 1161 forked, pid [11113], 'add' 'usb_device', 0 seconds old
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/bin/sh -c 'K=usbdev2.14; K=${K#usbdev}; printf bus/usb/%03i/%03i ${K%%.*} ${K#*.}''
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/bin/sh' (stdout) 'bus/usb/002/014'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/bin/sh' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11113]: udev_rules_get_name: rule applied, 'usbdev2.14' becomes 'bus/usb/002/014'
Dec 11 19:02:22 laptop udevd-event[11113]: create_node: creating device node '/dev/bus/usb/002/014'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/etc/hotplug/usb/libgphoto2' 'usb_device'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/etc/hotplug/usb/libgphoto2' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/usr/lib/hal/hal.hotplug' 'usb_device'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/usr/lib/hal/hal.hotplug' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/usr/lib/hal/hal.dev' 'usb_device'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/usr/lib/hal/hal.dev' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11113]: pass_env_to_socket: passed -1 bytes to socket '/org/kernel/udev/monitor',
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: 'udev_run_hotplugd' 'usb_device'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/lib/udev/udev_run_hotplugd' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: 'udev_run_devd' 'usb_device'
Dec 11 19:02:22 laptop udevd-event[11113]: run_program: '/lib/udev/udev_run_devd' returned with status 0
Dec 11 19:02:22 laptop udevd-event[11113]: udev_event_run: seq 1161 finished
Dec 11 19:02:22 laptop udevd[7038]: udev_done: seq 1161, pid [11113] exit with 0, 0 seconds old

The script:

/etc/hotplug/usb/libgphoto2

exists and contains:

#!/bin/bash

GROUP=camera

if [ "$ACTION" = "add" ] && [ -f "$DEVICE" ]
then
    # check if $GROUP really exists
    if getent group $GROUP > /dev/null; then
        chmod 660 "$DEVICE"
        chown root:$GROUP "$DEVICE"
    fi
fi

but that doesn't seem to work...

If I (as root) manually change the group like this:

chgrp camera /dev/bus/usb/002/013

I can then import the photos as a normal user. What happened?

Thanks
Daniel



Reply to: