>From what I have investigated with my Panasonic Lumix DMC-FX30, on
kubuntu 8.04 as well as on current debian/testing, this has nothing to
do with udev but really seems to be a problem with libgphoto2's PTP
handling of some cameras.

In my case, my camera offers 2 interfaces: one usb-mass-storage (seen on
the system as /dev/sdX1) and one PTP. Accessing it as a mass-storage
device is no problem, but accessing it with PTP protocol doesn't work.
The problem is that something (HAL I suspect, but I'm not sure how all
this stuff works) "prefers" accessing it with PTP and ignores the mass
storage option.

Anyway, here is what "hal-device" reports after I plug my camera on the
computer:

0: udi = '/org/freedesktop/Hal/devices/usb_device_4da_2372_noserial_if0'
  usb.device_subclass = 0  (0x0)  (int)
  usb.device_protocol = 0  (0x0)  (int)
  usb.vendor_id = 1242  (0x4da)  (int)
  usb.product_id = 9074  (0x2372)  (int)
  info.subsystem = 'usb'  (string)
  usb.vendor = 'Panasonic (Matsushita)'  (string)
  info.product = 'USB Mass Storage Interface'  (string)
  usb.product = 'USB Mass Storage Interface'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_4da_2372_noserial_if0'  
(string)
  linux.subsystem = 'usb'  (string)
  usb.device_revision_bcd = 16  (0x10)  (int)
  camera.access_method = 'ptp'  (string)
  usb.max_power = 2  (0x2)  (int)
  camera.libgphoto2.name = 'Panasonic Lumix FZ5'  (string)
  usb.num_ports = 0  (0x0)  (int)
  camera.libgphoto2.support = true  (bool)
  usb.linux.device_number = 5  (0x5)  (int)
  usb.speed_bcd = 4608  (0x1200)  (int)
  usb.speed = 12  (double)
  usb.version_bcd = 272  (0x110)  (int)
  usb.version = 1.1  (double)
  usb.is_self_powered = true  (bool)
  usb.can_wake_up = false  (bool)
  usb.bus_number = 5  (0x5)  (int)
  usb.interface.number = 0  (0x0)  (int)
  usb.interface.class = 8  (0x8)  (int)
  usb.interface.subclass = 6  (0x6)  (int)
  usb.interface.protocol = 80  (0x50)  (int)
  info.category = 'camera'  (string)
  info.capabilities = { 'camera', 'camera', 'camera', 'access_control' } 
(string list)
  linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2.1/5-2.1:1.0'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_4da_2372_noserial'  
(string)
  info.linux.driver = 'usb-storage'  (string)
  info.bus = 'usb'  (string)
  access_control.file = '/dev/bus/usb/005/005'  (string)
  usb.linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2.1/5-2.1:1.0'  (string)
  access_control.type = 'camera'  (string)
  usb.configuration_value = 1  (0x1)  (int)
  info.callouts.add = { 'hal-acl-tool --add-device' } (string list)
  usb.num_configurations = 1  (0x1)  (int)
  info.callouts.remove = { 'hal-acl-tool --remove-device' } (string list)
  usb.num_interfaces = 1  (0x1)  (int)
  usb.device_class = 0  (0x0)  (int)

1: udi = '/org/freedesktop/Hal/devices/usb_device_4da_2372_noserial'
  info.vendor = 'Panasonic (Matsushita)'  (string)
  info.subsystem = 'usb_device'  (string)
  info.product = 'Lumix DMC-FZ10 Camera'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_4da_2372_noserial'  
(string)
  linux.subsystem = 'usb'  (string)
  usb_device.linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2.1'  (string)
  usb_device.configuration_value = 1  (0x1)  (int)
  usb_device.num_configurations = 1  (0x1)  (int)
  usb_device.num_interfaces = 1  (0x1)  (int)
  usb_device.device_class = 0  (0x0)  (int)
  usb_device.device_subclass = 0  (0x0)  (int)
  usb_device.device_protocol = 0  (0x0)  (int)
  usb_device.vendor_id = 1242  (0x4da)  (int)
  usb_device.product_id = 9074  (0x2372)  (int)
  usb_device.vendor = 'Panasonic (Matsushita)'  (string)
  usb_device.product = 'Lumix DMC-FZ10 Camera'  (string)
  usb_device.device_revision_bcd = 16  (0x10)  (int)
  usb_device.max_power = 2  (0x2)  (int)
  usb_device.num_ports = 0  (0x0)  (int)
  usb_device.linux.device_number = 5  (0x5)  (int)
  usb_device.speed_bcd = 4608  (0x1200)  (int)
  usb_device.speed = 12  (double)
  usb_device.version_bcd = 272  (0x110)  (int)
  usb_device.version = 1.1  (double)
  usb_device.is_self_powered = true  (bool)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2.1'  
(string)
  usb_device.can_wake_up = false  (bool)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_5e3_608_noserial'  
(string)
  usb_device.bus_number = 5  (0x5)  (int)
  linux.device_file = '/dev/bus/usb/005/005'  (string)
  info.linux.driver = 'usb'  (string)
  info.bus = 'usb_device'  (string)

[snip]

As we can see, the camera/hal advertises PTP support:
camera.access_method = 'ptp'  (string)
camera.libgphoto2.support = true  (bool)

But when trying to list photos with PTP, trouble occurs:

[EMAIL PROTECTED]:~# env LANG=C gphoto2 --debug --debug --list-files

[all this stuff is in attached file]

*** Error ***              
PTP I/O error
27.813618 gphoto2-port(2): Closing port...
32.813079 context(0): An error occurred in the io-library ('Unspecified 
error'): No error description available

*** Error ***              
An error occurred in the io-library ('Unspecified error'): No error description 
available
*** Error (-1: 'Unspecified error') ***       

For debugging messages, please use the --debug option.
Debugging messages may help finding a solution to your problem.
If you intend to send any error or debug messages to the gphoto
developer mailing list <[EMAIL PROTECTED]>, please run
gphoto2 as follows:

    env LANG=C gphoto2 --debug --debug-logfile=my-logfile.txt --debug
--list-files

Please make sure there is sufficient quoting around the arguments.

32.813632 gp-camera(2): Freeing camera...
32.813647 gphoto2-port(2): Freeing port...
32.813660 gphoto2-port(2): Closing port...
32.813692 libgphoto2/gphoto2-filesys.c(2): Clearing fscache LRU list...
32.813702 libgphoto2/gphoto2-filesys.c(2): fscache LRU list already empty
32.813710 gphoto2-filesystem(2): Internally deleting all folders from '/'...

I obtain the same, or similar error messages when trying to access my
camera with digikam or gthumb.

Maybe the PTP implementation of this camera (as well as others) is
broken, in which case ligphoto2 should blacklist it in a way that lets
HAL fallback to mass-storage. At least with the Lumix, you seem to have
no way to disable the PTP tranfert mode, as you have on some Canon
cameras.

If you belive it's a bug in libgphoto2 itself, I would be glad to
provide more info. Just let me know what.


** Attachment added: "my-logfile.txt"
   http://launchpadlibrarian.net/14697696/my-logfile.txt

-- 
cant plugin usb camera, udev problem
https://bugs.launchpad.net/bugs/173429
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to