public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* usb camera failing in 2.6.13-rc6
@ 2005-08-14  7:12 Con Kolivas
  0 siblings, 0 replies; 7+ messages in thread
From: Con Kolivas @ 2005-08-14  7:12 UTC (permalink / raw)
  To: linux kernel mailing list

A digital camera which was working fine in 2.6.11/12 now fails on 2.6.13-rc6 
(not sure when it started failing).

All the messages seem to indicate that it's working but the digikam 
application now says it fails to initialise the camera.

The relevant info from dmesg says:
usb 3-1: new full speed USB device using uhci_hcd and address 2
usb 3-1: usbfs: interface 0 claimed by usbfs while 'digikamcameracl' sets 
config #1
usb 3-1: USB disconnect, address 2


the only difference from previously is this:
-usb 3-1: usbfs: interface 0 claimed while 'digikamcameracl' sets config #1
+usb 3-1: usbfs: interface 0 claimed by usbfs while 'digikamcameracl' sets 
config #1


dmesg difference does not show any significant difference either apart from 
this:
+usbmon: debugs is not available
-drivers/usb/input/hid-core.c: v2.0:USB HID core driver
+drivers/usb/input/hid-core.c: v2.01:USB HID core driver


lsusb -v shows no difference, here is the relevant section:
Bus 003 Device 003: ID 04a9:3077 Canon, Inc. PowerShot S50
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        32
  idVendor           0x04a9 Canon, Inc.
  idProduct          0x3077 PowerShot S50
  bcdDevice            0.01
  iManufacturer           1 Canon Inc.
  iProduct                2 Canon Digital Camera
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    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     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              96


relevant dmesg of 2.6.13-rc6 follows:
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
USB Universal Host Controller Interface driver v2.3
uhci_hcd 0000:00:1d.0: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) 
USB UHCI Controller #1
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
uhci_hcd 0000:00:1d.1: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) 
USB UHCI Controller #2
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
uhci_hcd 0000:00:1d.2: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) 
USB UHCI Controller #3
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
ehci_hcd 0000:00:1d.7: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI 
Controller
usb 1-1: new low speed USB device using uhci_hcd and address 2
input: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse® Optical] on 
usb-0000:00:1d.0-1
usb 1-2: new full speed USB device using uhci_hcd and address 3
usb 2-2: new full speed USB device using uhci_hcd and address 2
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 0 
proto 2 vid 0x03F0 pid 0x8104
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 4
ehci_hcd 0000:00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
usb 1-1: USB disconnect, address 2
usb 1-2: USB disconnect, address 3
usb 2-2: USB disconnect, address 2
hub 4-0:1.0: USB hub found
usb 1-1: new low speed USB device using uhci_hcd and address 4
input: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse® Optical] on 
usb-0000:00:1d.0-1
usb 1-2: new full speed USB device using uhci_hcd and address 5
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 
proto 2 vid 0x03F0 pid 0x8104
usb 2-2: new full speed USB device using uhci_hcd and address 3
usb 3-1: new full speed USB device using uhci_hcd and address 2
usb 3-1: USB disconnect, address 2


Relevant lspci output:
00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB 
UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Asustek Computer, Inc.: Unknown device 8089
        Flags: bus master, medium devsel, latency 0, IRQ 18
        I/O ports at d800 [size=32]

00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB 
UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Asustek Computer, Inc.: Unknown device 8089
        Flags: bus master, medium devsel, latency 0, IRQ 19
        I/O ports at d400 [size=32]

00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB 
UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Asustek Computer, Inc.: Unknown device 8089
        Flags: bus master, medium devsel, latency 0, IRQ 17
        I/O ports at d000 [size=32]

00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI 
Controller (rev 02) (prog-if 20 [EHCI])
        Subsystem: Asustek Computer, Inc.: Unknown device 8089
        Flags: bus master, medium devsel, latency 0, IRQ 20
        Memory at d4800000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: <available only to root>


Cheers,
Con

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: usb camera failing in 2.6.13-rc6
       [not found] <mailman.1124005092.8274.linux-kernel2news@redhat.com>
@ 2005-08-14  8:00 ` Pete Zaitcev
  2005-08-14  8:42   ` Con Kolivas
  0 siblings, 1 reply; 7+ messages in thread
From: Pete Zaitcev @ 2005-08-14  8:00 UTC (permalink / raw)
  To: Con Kolivas; +Cc: zaitcev, linux-kernel

On Sun, 14 Aug 2005 17:12:06 +1000, Con Kolivas <kernel@kolivas.org> wrote:

> A digital camera which was working fine in 2.6.11/12 now fails on 2.6.13-rc6 
> (not sure when it started failing).

Does it continue to work on an older kernel? I saw a USB device breaking
right in the moment of reboot into a new kernel (thus prompting a week
of diffing an head-scratching).

> +usbmon: debugs is not available

Deconfigure CONFIG_USB_MON. It's useless without debugfs anyway.

-- Pete

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: usb camera failing in 2.6.13-rc6
  2005-08-14  8:00 ` usb camera failing in 2.6.13-rc6 Pete Zaitcev
@ 2005-08-14  8:42   ` Con Kolivas
  2005-08-14 18:56     ` Pete Zaitcev
  0 siblings, 1 reply; 7+ messages in thread
From: Con Kolivas @ 2005-08-14  8:42 UTC (permalink / raw)
  To: Pete Zaitcev; +Cc: linux-kernel

On Sun, 14 Aug 2005 18:00, Pete Zaitcev wrote:
> On Sun, 14 Aug 2005 17:12:06 +1000, Con Kolivas <kernel@kolivas.org> wrote:
> > A digital camera which was working fine in 2.6.11/12 now fails on
> > 2.6.13-rc6 (not sure when it started failing).
>
> Does it continue to work on an older kernel? I saw a USB device breaking
> right in the moment of reboot into a new kernel (thus prompting a week
> of diffing an head-scratching).

Yes all those dmesgs etc were redone after it failed in rc6 as I needed it 
working. Oh and all other usb devices - mouse, printer, scanner, keyboard are 
working fine in rc6; it's just the camera.

> > +usbmon: debugs is not available
>
> Deconfigure CONFIG_USB_MON. It's useless without debugfs anyway.

Will do,

Thanks
Con

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: usb camera failing in 2.6.13-rc6
  2005-08-14  8:42   ` Con Kolivas
@ 2005-08-14 18:56     ` Pete Zaitcev
  2005-08-14 23:29       ` Con Kolivas
  0 siblings, 1 reply; 7+ messages in thread
From: Pete Zaitcev @ 2005-08-14 18:56 UTC (permalink / raw)
  To: Con Kolivas; +Cc: linux-kernel, zaitcev

On Sun, 14 Aug 2005 18:42:12 +1000, Con Kolivas <kernel@kolivas.org> wrote:
> On Sun, 14 Aug 2005 18:00, Pete Zaitcev wrote:
> > On Sun, 14 Aug 2005 17:12:06 +1000, Con Kolivas <kernel@kolivas.org> wrote:

> Yes all those dmesgs etc were redone after it failed in rc6 as I needed it 
> working. Oh and all other usb devices - mouse, printer, scanner, keyboard are 
> working fine in rc6; it's just the camera.

This should be diffable. You caught this regression relatively early.
But I'm afraid you have to go through the divide-by-half excercise.

If I were a betting man, I'd bet on this:

--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -579,7 +582,7 @@ static int proc_control(struct dev_state
 		if ((i > 0) && ctrl.wLength) {
 			if (usbfs_snoop) {
 				dev_info(&dev->dev, "control read: data ");
-				for (j = 0; j < ctrl.wLength; ++j)
+				for (j = 0; j < i; ++j)
 					printk ("%02x ", (unsigned char)(tbuf)[j]);
 				printk("\n");
 			}
@@ -784,16 +790,16 @@ static int proc_setconfig(struct dev_sta
  		for (i = 0; i < actconfig->desc.bNumInterfaces; ++i) {
  			if (usb_interface_claimed(actconfig->interface[i])) {
 				dev_warn (&ps->dev->dev,
-					"usbfs: interface %d claimed "
+					"usbfs: interface %d claimed by %s "
 					"while '%s' sets config #%d\n",
 					actconfig->interface[i]
 						->cur_altsetting
 						->desc.bInterfaceNumber,
+					actconfig->interface[i]
+						->dev.driver->name,
 					current->comm, u);
-#if 0	/* FIXME:  enable in 2.6.10 or so */
  				status = -EBUSY;
 				break;
-#endif
 			}
  		}
  	}

Remember that dmesg diff you sent? That's the one. If you strace
the digikamcameracl, it probably keels over after EBUSY.

-- Pete

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: usb camera failing in 2.6.13-rc6
  2005-08-14 18:56     ` Pete Zaitcev
@ 2005-08-14 23:29       ` Con Kolivas
  2005-08-15  0:26         ` Pete Zaitcev
  0 siblings, 1 reply; 7+ messages in thread
From: Con Kolivas @ 2005-08-14 23:29 UTC (permalink / raw)
  To: Pete Zaitcev; +Cc: linux-kernel

On Mon, 15 Aug 2005 04:56, Pete Zaitcev wrote:
> On Sun, 14 Aug 2005 18:42:12 +1000, Con Kolivas <kernel@kolivas.org> wrote:
> > On Sun, 14 Aug 2005 18:00, Pete Zaitcev wrote:
> > > On Sun, 14 Aug 2005 17:12:06 +1000, Con Kolivas <kernel@kolivas.org>
> > > wrote:
> >
> > Yes all those dmesgs etc were redone after it failed in rc6 as I needed
> > it working. Oh and all other usb devices - mouse, printer, scanner,
> > keyboard are working fine in rc6; it's just the camera.
>
> This should be diffable. You caught this regression relatively early.
> But I'm afraid you have to go through the divide-by-half excercise.
>
> If I were a betting man, I'd bet on this:

> Remember that dmesg diff you sent? That's the one. If you strace
> the digikamcameracl, it probably keels over after EBUSY.

Nice shot! Got it in one. bugzilla updated with confirmation.

So how do we proceed with this one? Do I need to file a digikam bug report 
too?


Cheers,
Con

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: usb camera failing in 2.6.13-rc6
  2005-08-14 23:29       ` Con Kolivas
@ 2005-08-15  0:26         ` Pete Zaitcev
  2005-08-15  7:49           ` Con Kolivas
  0 siblings, 1 reply; 7+ messages in thread
From: Pete Zaitcev @ 2005-08-15  0:26 UTC (permalink / raw)
  To: Con Kolivas; +Cc: linux-kernel, linux-usb-devel

On Mon, 15 Aug 2005 09:29:20 +1000, Con Kolivas <kernel@kolivas.org> wrote:

> > Remember that dmesg diff you sent? That's the one. If you strace
> > the digikamcameracl, it probably keels over after EBUSY.
> 
> Nice shot! Got it in one. bugzilla updated with confirmation.
> 
> So how do we proceed with this one? Do I need to file a digikam bug
> report too?

Since I never encountered it, I'm not versed in the switching of
the current altsetting. I suppose, this has to be discussed between
digikam developers and linux-usb-devel (Alan Stern probably knows
how that has to be done). It's very likely that all digikam needs
is to claim the interface after the altsetting was switched...
But I really do not know.

-- Pete

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: usb camera failing in 2.6.13-rc6
  2005-08-15  0:26         ` Pete Zaitcev
@ 2005-08-15  7:49           ` Con Kolivas
  0 siblings, 0 replies; 7+ messages in thread
From: Con Kolivas @ 2005-08-15  7:49 UTC (permalink / raw)
  To: Pete Zaitcev; +Cc: linux-kernel, linux-usb-devel

[-- Attachment #1: Type: text/plain, Size: 1276 bytes --]

On Mon, 15 Aug 2005 10:26, Pete Zaitcev wrote:
> On Mon, 15 Aug 2005 09:29:20 +1000, Con Kolivas <kernel@kolivas.org> wrote:
> > > Remember that dmesg diff you sent? That's the one. If you strace
> > > the digikamcameracl, it probably keels over after EBUSY.
> >
> > Nice shot! Got it in one. bugzilla updated with confirmation.
> >
> > So how do we proceed with this one? Do I need to file a digikam bug
> > report too?
>
> Since I never encountered it, I'm not versed in the switching of
> the current altsetting. I suppose, this has to be discussed between
> digikam developers and linux-usb-devel (Alan Stern probably knows
> how that has to be done). It's very likely that all digikam needs
> is to claim the interface after the altsetting was switched...
> But I really do not know.

Ok I've investigated further and had a pointer from Andrew Clayton who fixes 
this problem with a gphoto2 upgrade. The issue is a libgphoto2 one and 
kernels 2.6.13+ will require libgphoto2 2.1.6 or later to work properly.

To sort this out before 2.6.13 comes out and it bites a lot of people - as 
most distros will have this problem - I suggest pointing them to the bugzilla 
entry as a FAQ:

http://bugzilla.kernel.org/show_bug.cgi?id=5063

Cheers,
Con

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-08-15  7:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.1124005092.8274.linux-kernel2news@redhat.com>
2005-08-14  8:00 ` usb camera failing in 2.6.13-rc6 Pete Zaitcev
2005-08-14  8:42   ` Con Kolivas
2005-08-14 18:56     ` Pete Zaitcev
2005-08-14 23:29       ` Con Kolivas
2005-08-15  0:26         ` Pete Zaitcev
2005-08-15  7:49           ` Con Kolivas
2005-08-14  7:12 Con Kolivas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox