Comment 16 for bug 544994

Revision history for this message
floid (jkanowitz) wrote :

If it was fixed in 0.12.8-0ubuntu2 it's now regressed in 0.12.8-0ubuntu3 on my fresh Lucid upgrade.

lsof snippet:
gvfs-gpho 6062 floid 13u CHR 189,146 0t0 2544556 /dev/bus/usb/002/019
...
rhythmbox 6244 floid 43u CHR 189,146 0t0 2544556 /dev/bus/usb/002/019

Rhythmbox gets hung up sleeping (Sl state) as soon as the camera is connected / if it is run with the camera connected.

This causes the ever-complained-of "Error mounting location: Error initializing camera: -60: Could not lock the device" from gphoto2 and its consumers. At some point I got a -1 error out of it as well.

Of course it's an unexpected race depending whether gphoto2/F-Spot/similar is run before Rhythmbox or not. But with Rhythmbox closed, the device actually works as a PTP camera in F-Spot, much to my relief, and it even gvfs mounts (so turns out I'm not affected by another bug I thought I was).

Observed with a Kodak Easyshare Z1485 IS:

Bus 002 Device 019: ID 040a:05c8 Kodak Co.
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x040a Kodak Co.
  idProduct 0x05c8
  bcdDevice 1.00
  iManufacturer 1 Eastman Kodak Company
  iProduct 2 KODAK EASYSHARE Z1485 IS Digital Camera
  iSerial 3 KCXKF92400305
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 39
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xc0
      Self Powered
    MaxPower 2mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 3
      bInterfaceClass 6 Imaging
      bInterfaceSubClass 1 Still Image Capture
      bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470)
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x84 EP 4 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 16
Device Qualifier (for other device speed):
  bLength 10
  bDescriptorType 6
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  bNumConfigurations 1
Device Status: 0x0001
  Self Powered