Bug 119769 - mediamanager: media/gphoto2camera not recognized
Summary: mediamanager: media/gphoto2camera not recognized
Status: RESOLVED NOT A BUG
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: media (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Kevin Ottens
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-08 23:45 UTC by Achim Bohnet
Modified: 2006-01-09 07:45 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Achim Bohnet 2006-01-08 23:45:00 UTC
Version:           unknown (using KDE 3.5.0, Kubuntu Package 4:3.5.0-0ubuntu3 dapper)
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.15-11-686

Hi,

we try to integrate media: hotplug support into
the upcoming release 0.8.1 of digikam.

When I plug in a Canon Powershot A40, nothing
happens.  media:/ is empty and I get no Media
action selector dialog.

camera:/ and gphoto2 --auto-detect and digikam --detect-camera  detect the camera without problems
and show the list of photos.

The service menu entry is:

[Desktop Action digikam download]
Exec=digikam --detect-camera
Icon=digikam
Name=digikam download

[Desktop Entry]
Actions=digikam download
ServiceTypes=media/gphoto2camera


When the camera is plugin in the command output of

  dcop kded mediamanager fullList

is an empty line.

Using udevmonitor I get for plugin and -out:

plug in:
UEVENT[1136759605.330403] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1
UEVENT[1136759605.330532] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0
UEVENT[1136759605.330560] add@/class/usb_device/usbdev4.10
UDEV  [1136759605.351294] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1
UDEV  [1136759605.442592] add@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0
UDEV  [1136759605.502255] add@/class/usb_device/usbdev4.10

switch off:
UEVENT[1136759610.185176] remove@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0
UEVENT[1136759610.185228] remove@/class/usb_device/usbdev4.10
UEVENT[1136759610.185253] remove@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1
UDEV  [1136759610.187409] remove@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0
UDEV  [1136759610.193200] remove@/class/usb_device/usbdev4.10
UDEV  [1136759610.195409] remove@/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1


The diff between  lshal  output before and after
the camera is pluged in is:

$ diff -u hal.1 hal.2
--- hal.1       2006-01-08 22:39:09.000000000 +0100
+++ hal.2       2006-01-08 22:45:10.000000000 +0100
@@ -1,5 +1,5 @@

-Dumping 81 device(s) from the Global Device List:
+Dumping 83 device(s) from the Global Device List:
 -------------------------------------------------
 udi = '/org/freedesktop/Hal/devices/computer'
   storage.policy.default.mount_option.exec = true  (bool)
@@ -93,7 +93,7 @@
   battery.charge_level.rate = 0  (0x0)  (int)
   battery.charge_level.last_full = 46080  (0xb400)  (int)
   battery.charge_level.current = 46080  (0xb400)  (int)
-  battery.voltage.current = 12501  (0x30d5)  (int)
+  battery.voltage.current = 12507  (0x30db)  (int)
   battery.reporting.rate = 0  (0x0)  (int)
   battery.reporting.current = 53280  (0xd020)  (int)
   battery.rechargeable.is_discharging = false  (bool)
@@ -849,6 +849,72 @@
   linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1'  (string)
   linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1'  (string)

+udi = '/org/freedesktop/Hal/devices/usb_device_4a9_3058_noserial'
+  info.udi = '/org/freedesktop/Hal/devices/usb_device_4a9_3058_noserial'  (string)
+  linux.subsystem = 'usb'  (string)
+  linux.hotplug_type = 1  (0x1)  (int)
+  usb_device.bus_number = 4  (0x4)  (int)
+  usb_device.can_wake_up = false  (bool)
+  usb_device.is_self_powered = true  (bool)
+  usb_device.version_bcd = 272  (0x110)  (int)
+  usb_device.speed_bcd = 4608  (0x1200)  (int)
+  usb_device.linux.device_number = 7  (0x7)  (int)
+  usb_device.num_ports = 0  (0x0)  (int)
+  usb_device.max_power = 100  (0x64)  (int)
+  usb_device.device_revision_bcd = 1  (0x1)  (int)
+  info.product = 'PowerShot A40'  (string)
+  usb_device.product = 'PowerShot A40'  (string)
+  info.vendor = 'Canon, Inc.'  (string)
+  usb_device.vendor = 'Canon, Inc.'  (string)
+  usb_device.product_id = 12376  (0x3058)  (int)
+  usb_device.vendor_id = 1193  (0x4a9)  (int)
+  usb_device.device_protocol = 255  (0xff)  (int)
+  usb_device.device_subclass = 255  (0xff)  (int)
+  usb_device.device_class = 255  (0xff)  (int)
+  usb_device.num_interfaces = 1  (0x1)  (int)
+  usb_device.num_configurations = 1  (0x1)  (int)
+  usb_device.configuration_value = 1  (0x1)  (int)
+  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1'  (string)
+  info.linux.driver = 'usb'  (string)
+  info.bus = 'usb_device'  (string)
+  info.parent = '/org/freedesktop/Hal/devices/usb_device_409_58_noserial'  (string)
+  linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1'  (string)
+  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1'  (string)
+
+udi = '/org/freedesktop/Hal/devices/usb_device_4a9_3058_noserial_if0'
+  info.udi = '/org/freedesktop/Hal/devices/usb_device_4a9_3058_noserial_if0'  (string)
+  linux.subsystem = 'usb'  (string)
+  linux.hotplug_type = 1  (0x1)  (int)
+  info.product = 'USB Vendor Specific Interface'  (string)
+  usb.interface.protocol = 255  (0xff)  (int)
+  usb.interface.subclass = 255  (0xff)  (int)
+  usb.interface.class = 255  (0xff)  (int)
+  usb.interface.number = 0  (0x0)  (int)
+  usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0'  (string)
+  usb.configuration_value = 1  (0x1)  (int)
+  usb.num_configurations = 1  (0x1)  (int)
+  usb.num_interfaces = 1  (0x1)  (int)
+  usb.device_class = 255  (0xff)  (int)
+  usb.device_subclass = 255  (0xff)  (int)
+  usb.device_protocol = 255  (0xff)  (int)
+  usb.vendor_id = 1193  (0x4a9)  (int)
+  usb.product_id = 12376  (0x3058)  (int)
+  usb.vendor = 'Canon, Inc.'  (string)
+  usb.product = 'USB Vendor Specific Interface'  (string)
+  usb.device_revision_bcd = 1  (0x1)  (int)
+  usb.max_power = 100  (0x64)  (int)
+  usb.num_ports = 0  (0x0)  (int)
+  usb.linux.device_number = 7  (0x7)  (int)
+  usb.speed_bcd = 4608  (0x1200)  (int)
+  usb.version_bcd = 272  (0x110)  (int)
+  usb.is_self_powered = true  (bool)
+  usb.can_wake_up = false  (bool)
+  usb.bus_number = 4  (0x4)  (int)
+  info.bus = 'usb'  (string)
+  info.parent = '/org/freedesktop/Hal/devices/usb_device_4a9_3058_noserial'  (string)
+  linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0'  (string)
+  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb4/4-1/4-1.1/4-1.1:1.0'  (string)
+
 udi = '/org/freedesktop/Hal/devices/usb_device_409_58_noserial_if0'
   info.udi = '/org/freedesktop/Hal/devices/usb_device_409_58_noserial_if0'  (string)
   linux.subsystem = 'usb'  (string)
@@ -1781,6 +1847,6 @@
   linux.sysfs_path = '/sys/devices/pnp0/00:0a'  (string)


-Dumped 81 device(s) from the Global Device List.
+Dumped 83 device(s) from the Global Device List.
 ------------------------------------------------

If you need more info let me know.

thx,
Achim
Achim
Comment 1 Kevin Ottens 2006-01-09 07:45:11 UTC
From your lshal output, HAL reports your camera incorrectly, and in your case
we can't even workaround it. We need info.capabilities to contain camera, and camera.access_method or camera.libgphoto2.support to be set on the device. Otherwise we can't determine that it's a camera.

Looking at this output it's definitely an issue in HAL or gphoto packaging. The necessary HAL config files are not generated on your system (and they should be once libgphoto is installed). We got such reports recently, and it looks like only Suse got the packages rights.