linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro
@ 2009-10-06 14:07 Ondrej Zary
  2009-10-07 12:59 ` [PATCH] " Ondrej Zary
  0 siblings, 1 reply; 6+ messages in thread
From: Ondrej Zary @ 2009-10-06 14:07 UTC (permalink / raw)
  To: laurent.pinchart; +Cc: linux-uvc-devel, linux-media, linux-kernel

Hello,
I have a Logitech Quickcam for Notebooks Pro camera (046d:08c3) which just 
does not work even with kernel 2.6.31 and has never worked well before.

On http://linux-uvc.berlios.de/, there are two problems listed. I want to 
really fix these two problems so the camera will just work after plugging in 
(and not disconnect). I started with problem no. 2 as this causes the camera 
not to work at all when plugged in:

usb 5-2.4: new high speed USB device using ehci_hcd and address 7
usb 5-2.4: configuration #1 chosen from 1 choice
uvcvideo: Found UVC 1.00 device <unnamed> (046d:08c3)
uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling 
workaround.
uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
uvcvideo: Failed to initialize the device (-5).

When I do "modprobe snd_usb_audio", then "rmmod snd_usb_audio" and 
finally "modprobe uvcvideo", it works. So it looks like snd_usb_audio does 
some initialization that allows uvcvideo to work. It didn't work at all I 
didn't have snd_usb_audio module compiled.

What was the change that supposedly broke this in 2.6.22?

-- 
Ondrej Zary

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

* [PATCH] Re: uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro
  2009-10-06 14:07 uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro Ondrej Zary
@ 2009-10-07 12:59 ` Ondrej Zary
       [not found]   ` <561c252c0910070612v6c7f6363xbb9548f62c834fbd@mail.gmail.com>
  2009-10-08 23:04   ` Laurent Pinchart
  0 siblings, 2 replies; 6+ messages in thread
From: Ondrej Zary @ 2009-10-07 12:59 UTC (permalink / raw)
  To: laurent.pinchart; +Cc: linux-uvc-devel, linux-media, linux-kernel

On Tuesday 06 October 2009, Ondrej Zary wrote:
> Hello,
> I have a Logitech Quickcam for Notebooks Pro camera (046d:08c3) which just
> does not work even with kernel 2.6.31 and has never worked well before.
>
> On http://linux-uvc.berlios.de/, there are two problems listed. I want to
> really fix these two problems so the camera will just work after plugging
> in (and not disconnect). I started with problem no. 2 as this causes the
> camera not to work at all when plugged in:
>
> usb 5-2.4: new high speed USB device using ehci_hcd and address 7
> usb 5-2.4: configuration #1 chosen from 1 choice
> uvcvideo: Found UVC 1.00 device <unnamed> (046d:08c3)
> uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> workaround.
> uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
> uvcvideo: Failed to initialize the device (-5).
>
> When I do "modprobe snd_usb_audio", then "rmmod snd_usb_audio" and
> finally "modprobe uvcvideo", it works. So it looks like snd_usb_audio does
> some initialization that allows uvcvideo to work. It didn't work at all I
> didn't have snd_usb_audio module compiled.
>
> What was the change that supposedly broke this in 2.6.22?

I discovered that it's not related to usb audio at all. Doing "rmmod uvcvideo"
and "modprobe uvcvideo" repeatedly succeeded after a couple of tries. Increasing
UVC_CTRL_STREAMING_TIMEOUT to 3000 helped (2000 was not enough).


Increase UVC_CTRL_STREAMING_TIMEOUT to fix initialization of
Logitech Quickcam for Notebooks Pro.
This fixes following error messages:
uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
uvcvideo: Failed to initialize the device (-5).

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>

--- linux-2.6.31-orig/drivers/media/video/uvc/uvcvideo.h	2009-09-10 00:13:59.000000000 +0200
+++ linux-2.6.31/drivers/media/video/uvc/uvcvideo.h	2009-10-07 13:47:27.000000000 +0200
@@ -304,7 +304,7 @@
 #define UVC_MAX_STATUS_SIZE	16
 
 #define UVC_CTRL_CONTROL_TIMEOUT	300
-#define UVC_CTRL_STREAMING_TIMEOUT	1000
+#define UVC_CTRL_STREAMING_TIMEOUT	3000
 
 /* Devices quirks */
 #define UVC_QUIRK_STATUS_INTERVAL	0x00000001


-- 
Ondrej Zary

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

* Re: [Linux-uvc-devel] [PATCH] Re: uvcvideo: Finally fix Logitech  Quickcam for Notebooks Pro
       [not found]   ` <561c252c0910070612v6c7f6363xbb9548f62c834fbd@mail.gmail.com>
@ 2009-10-07 13:34     ` Ondrej Zary
  0 siblings, 0 replies; 6+ messages in thread
From: Ondrej Zary @ 2009-10-07 13:34 UTC (permalink / raw)
  To: Gianluca Cecchi
  Cc: laurent.pinchart, linux-uvc-devel, linux-kernel, linux-media

On Wednesday 07 October 2009, Gianluca Cecchi wrote:
> On Wed, Oct 7, 2009 at 2:59 PM, Ondrej Zary 
<linux@rainbow-software.org>wrote:
> > [snip]
> >
> > > What was the change that supposedly broke this in 2.6.22?
> >
> > I discovered that it's not related to usb audio at all. Doing "rmmod
> > uvcvideo"
> > and "modprobe uvcvideo" repeatedly succeeded after a couple of tries.
> > Increasing
> > UVC_CTRL_STREAMING_TIMEOUT to 3000 helped (2000 was not enough).
> >
> >
> > Increase UVC_CTRL_STREAMING_TIMEOUT to fix initialization of
> > Logitech Quickcam for Notebooks Pro.
> > This fixes following error messages:
> > uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> > workaround.
> > uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
> > uvcvideo: Failed to initialize the device (-5).
> >
> > Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
> >
> > --- linux-2.6.31-orig/drivers/media/video/uvc/uvcvideo.h       
> > 2009-09-10 00:13:59.000000000 +0200
> > +++ linux-2.6.31/drivers/media/video/uvc/uvcvideo.h     2009-10-07
> > 13:47:27.000000000 +0200
> > @@ -304,7 +304,7 @@
> >  #define UVC_MAX_STATUS_SIZE    16
> >
> >  #define UVC_CTRL_CONTROL_TIMEOUT       300
> > -#define UVC_CTRL_STREAMING_TIMEOUT     1000
> > +#define UVC_CTRL_STREAMING_TIMEOUT     3000
> >
> >  /* Devices quirks */
> >  #define UVC_QUIRK_STATUS_INTERVAL      0x00000001
> >
> >
> > --
> > Ondrej Zary
>
> Could this kind of fix also be useful in my case with Omnivision oem in
> Dell sp2208wfp monitor, in your opinion?
> See thread
> https://lists.berlios.de/pipermail/linux-uvc-devel/2008-February/003076.html
>
> incidentally at that time I was using Fedora 8 32bit with kernel
> 2.6.23.15-137.fc8 that indeed is post 2.6.22....

I don't know - try it. My patch is not related to 2.6.22 and usb-audio at all.

-- 
Ondrej Zary

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

* Re: [Linux-uvc-devel] [PATCH] Re: uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro
  2009-10-07 12:59 ` [PATCH] " Ondrej Zary
       [not found]   ` <561c252c0910070612v6c7f6363xbb9548f62c834fbd@mail.gmail.com>
@ 2009-10-08 23:04   ` Laurent Pinchart
  2009-10-09  6:32     ` Ondrej Zary
  1 sibling, 1 reply; 6+ messages in thread
From: Laurent Pinchart @ 2009-10-08 23:04 UTC (permalink / raw)
  To: linux-uvc-devel; +Cc: Ondrej Zary, linux-kernel, linux-media

Hi Ondrej,

On Wednesday 07 October 2009 14:59:40 Ondrej Zary wrote:
> On Tuesday 06 October 2009, Ondrej Zary wrote:
> > Hello,
> > I have a Logitech Quickcam for Notebooks Pro camera (046d:08c3) which
> > just does not work even with kernel 2.6.31 and has never worked well
> > before.
> >
> > On http://linux-uvc.berlios.de/, there are two problems listed. I want to
> > really fix these two problems so the camera will just work after plugging
> > in (and not disconnect). I started with problem no. 2 as this causes the
> > camera not to work at all when plugged in:
> >
> > usb 5-2.4: new high speed USB device using ehci_hcd and address 7
> > usb 5-2.4: configuration #1 chosen from 1 choice
> > uvcvideo: Found UVC 1.00 device <unnamed> (046d:08c3)
> > uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> > workaround.
> > uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
> > uvcvideo: Failed to initialize the device (-5).
> >
> > When I do "modprobe snd_usb_audio", then "rmmod snd_usb_audio" and
> > finally "modprobe uvcvideo", it works. So it looks like snd_usb_audio
> > does some initialization that allows uvcvideo to work. It didn't work at
> > all I didn't have snd_usb_audio module compiled.
> >
> > What was the change that supposedly broke this in 2.6.22?
> 
> I discovered that it's not related to usb audio at all. Doing "rmmod
>  uvcvideo" and "modprobe uvcvideo" repeatedly succeeded after a couple of
>  tries. Increasing UVC_CTRL_STREAMING_TIMEOUT to 3000 helped (2000 was not
>  enough).
> 
> 
> Increase UVC_CTRL_STREAMING_TIMEOUT to fix initialization of
> Logitech Quickcam for Notebooks Pro.
> This fixes following error messages:
> uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
>  workaround. uvcvideo: Failed to query (129) UVC probe control : -110 (exp.
>  26). uvcvideo: Failed to initialize the device (-5).
> 
> Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
> 
> --- linux-2.6.31-orig/drivers/media/video/uvc/uvcvideo.h	2009-09-10
>  00:13:59.000000000 +0200 +++
>  linux-2.6.31/drivers/media/video/uvc/uvcvideo.h	2009-10-07
>  13:47:27.000000000 +0200 @@ -304,7 +304,7 @@
>  #define UVC_MAX_STATUS_SIZE	16
> 
>  #define UVC_CTRL_CONTROL_TIMEOUT	300
> -#define UVC_CTRL_STREAMING_TIMEOUT	1000
> +#define UVC_CTRL_STREAMING_TIMEOUT	3000
> 
>  /* Devices quirks */
>  #define UVC_QUIRK_STATUS_INTERVAL	0x00000001
> 

Thanks for the patch. I wonder if it will help other Logitech users.

The UVC specification unfortunately doesn't give a time boundary for answering 
streaming requests, so that's up to the developers. I'm pretty sure we will 
find at least one webcam model that will require 3001ms at some point :-)

I was thinking about adding a module parameter to set the streaming control 
timeout. I'm not sure what the default value should be though. What's your 
opinion on this ? If we decide to increase the default value, where should we 
stop ?

-- 
Regards,

Laurent Pinchart

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

* Re: [Linux-uvc-devel] [PATCH] Re: uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro
  2009-10-08 23:04   ` Laurent Pinchart
@ 2009-10-09  6:32     ` Ondrej Zary
  2009-10-11 22:01       ` Laurent Pinchart
  0 siblings, 1 reply; 6+ messages in thread
From: Ondrej Zary @ 2009-10-09  6:32 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-uvc-devel, linux-kernel, linux-media

On Friday 09 October 2009, Laurent Pinchart wrote:
> Hi Ondrej,
>
> On Wednesday 07 October 2009 14:59:40 Ondrej Zary wrote:
> > On Tuesday 06 October 2009, Ondrej Zary wrote:
> > > Hello,
> > > I have a Logitech Quickcam for Notebooks Pro camera (046d:08c3) which
> > > just does not work even with kernel 2.6.31 and has never worked well
> > > before.
> > >
> > > On http://linux-uvc.berlios.de/, there are two problems listed. I want
> > > to really fix these two problems so the camera will just work after
> > > plugging in (and not disconnect). I started with problem no. 2 as this
> > > causes the camera not to work at all when plugged in:
> > >
> > > usb 5-2.4: new high speed USB device using ehci_hcd and address 7
> > > usb 5-2.4: configuration #1 chosen from 1 choice
> > > uvcvideo: Found UVC 1.00 device <unnamed> (046d:08c3)
> > > uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> > > workaround.
> > > uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
> > > uvcvideo: Failed to initialize the device (-5).
> > >
> > > When I do "modprobe snd_usb_audio", then "rmmod snd_usb_audio" and
> > > finally "modprobe uvcvideo", it works. So it looks like snd_usb_audio
> > > does some initialization that allows uvcvideo to work. It didn't work
> > > at all I didn't have snd_usb_audio module compiled.
> > >
> > > What was the change that supposedly broke this in 2.6.22?
> >
> > I discovered that it's not related to usb audio at all. Doing "rmmod
> >  uvcvideo" and "modprobe uvcvideo" repeatedly succeeded after a couple of
> >  tries. Increasing UVC_CTRL_STREAMING_TIMEOUT to 3000 helped (2000 was
> > not enough).
> >
> >
> > Increase UVC_CTRL_STREAMING_TIMEOUT to fix initialization of
> > Logitech Quickcam for Notebooks Pro.
> > This fixes following error messages:
> > uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> >  workaround. uvcvideo: Failed to query (129) UVC probe control : -110
> > (exp. 26). uvcvideo: Failed to initialize the device (-5).
> >
> > Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
> >
> > --- linux-2.6.31-orig/drivers/media/video/uvc/uvcvideo.h	2009-09-10
> >  00:13:59.000000000 +0200 +++
> >  linux-2.6.31/drivers/media/video/uvc/uvcvideo.h	2009-10-07
> >  13:47:27.000000000 +0200 @@ -304,7 +304,7 @@
> >  #define UVC_MAX_STATUS_SIZE	16
> >
> >  #define UVC_CTRL_CONTROL_TIMEOUT	300
> > -#define UVC_CTRL_STREAMING_TIMEOUT	1000
> > +#define UVC_CTRL_STREAMING_TIMEOUT	3000
> >
> >  /* Devices quirks */
> >  #define UVC_QUIRK_STATUS_INTERVAL	0x00000001
>
> Thanks for the patch. I wonder if it will help other Logitech users.
>
> The UVC specification unfortunately doesn't give a time boundary for
> answering streaming requests, so that's up to the developers. I'm pretty
> sure we will find at least one webcam model that will require 3001ms at
> some point :-)
>
> I was thinking about adding a module parameter to set the streaming control
> timeout. I'm not sure what the default value should be though. What's your
> opinion on this ? If we decide to increase the default value, where should
> we stop ?

I really don't know. Maybe only the first request is slow as the hardware 
needs some time to initialize?

If someone knows what value is used by Windows or Mac OS X, that's probably 
the "right" choice as most devices are tested with them.

-- 
Ondrej Zary

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

* Re: [Linux-uvc-devel] [PATCH] Re: uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro
  2009-10-09  6:32     ` Ondrej Zary
@ 2009-10-11 22:01       ` Laurent Pinchart
  0 siblings, 0 replies; 6+ messages in thread
From: Laurent Pinchart @ 2009-10-11 22:01 UTC (permalink / raw)
  To: Ondrej Zary; +Cc: linux-uvc-devel, linux-kernel, linux-media

Hi Ondrej,

On Friday 09 October 2009 08:32:06 Ondrej Zary wrote:
> On Friday 09 October 2009, Laurent Pinchart wrote:
> > Hi Ondrej,
> >
> > On Wednesday 07 October 2009 14:59:40 Ondrej Zary wrote:
> > > On Tuesday 06 October 2009, Ondrej Zary wrote:
> > > > Hello,
> > > > I have a Logitech Quickcam for Notebooks Pro camera (046d:08c3) which
> > > > just does not work even with kernel 2.6.31 and has never worked well
> > > > before.
> > > >
> > > > On http://linux-uvc.berlios.de/, there are two problems listed. I
> > > > want to really fix these two problems so the camera will just work
> > > > after plugging in (and not disconnect). I started with problem no. 2
> > > > as this causes the camera not to work at all when plugged in:
> > > >
> > > > usb 5-2.4: new high speed USB device using ehci_hcd and address 7
> > > > usb 5-2.4: configuration #1 chosen from 1 choice
> > > > uvcvideo: Found UVC 1.00 device <unnamed> (046d:08c3)
> > > > uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> > > > workaround.
> > > > uvcvideo: Failed to query (129) UVC probe control : -110 (exp. 26).
> > > > uvcvideo: Failed to initialize the device (-5).
> > > >
> > > > When I do "modprobe snd_usb_audio", then "rmmod snd_usb_audio" and
> > > > finally "modprobe uvcvideo", it works. So it looks like snd_usb_audio
> > > > does some initialization that allows uvcvideo to work. It didn't work
> > > > at all I didn't have snd_usb_audio module compiled.
> > > >
> > > > What was the change that supposedly broke this in 2.6.22?
> > >
> > > I discovered that it's not related to usb audio at all. Doing "rmmod
> > >  uvcvideo" and "modprobe uvcvideo" repeatedly succeeded after a couple
> > > of tries. Increasing UVC_CTRL_STREAMING_TIMEOUT to 3000 helped (2000
> > > was not enough).
> > >
> > >
> > > Increase UVC_CTRL_STREAMING_TIMEOUT to fix initialization of
> > > Logitech Quickcam for Notebooks Pro.
> > > This fixes following error messages:
> > > uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling
> > >  workaround. uvcvideo: Failed to query (129) UVC probe control : -110
> > > (exp. 26). uvcvideo: Failed to initialize the device (-5).
> > >
> > > Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
> > >
> > > --- linux-2.6.31-orig/drivers/media/video/uvc/uvcvideo.h	2009-09-10
> > >  00:13:59.000000000 +0200 +++
> > >  linux-2.6.31/drivers/media/video/uvc/uvcvideo.h	2009-10-07
> > >  13:47:27.000000000 +0200 @@ -304,7 +304,7 @@
> > >  #define UVC_MAX_STATUS_SIZE	16
> > >
> > >  #define UVC_CTRL_CONTROL_TIMEOUT	300
> > > -#define UVC_CTRL_STREAMING_TIMEOUT	1000
> > > +#define UVC_CTRL_STREAMING_TIMEOUT	3000
> > >
> > >  /* Devices quirks */
> > >  #define UVC_QUIRK_STATUS_INTERVAL	0x00000001
> >
> > Thanks for the patch. I wonder if it will help other Logitech users.
> >
> > The UVC specification unfortunately doesn't give a time boundary for
> > answering streaming requests, so that's up to the developers. I'm pretty
> > sure we will find at least one webcam model that will require 3001ms at
> > some point :-)
> >
> > I was thinking about adding a module parameter to set the streaming
> > control timeout. I'm not sure what the default value should be though.
> > What's your opinion on this ? If we decide to increase the default value,
> > where should we stop ?
> 
> I really don't know. Maybe only the first request is slow as the hardware
> needs some time to initialize?

That's my guess as well.

> If someone knows what value is used by Windows or Mac OS X, that's probably
> the "right" choice as most devices are tested with them.

I've committed a patch that turns the timeout value into a module parameter 
and asked Mauro to pull from my repository. The default timeout value has been 
increased to 3000ms.

It seems the value used by the Windows driver is 5000ms. I have no information 
about what's done on Mac OS X. If it works with 3000ms lets keep it that way. 
I wouldn't be surprised if the 5000ms was some kind of rounded-up guessed 
value anyway :-)

-- 
Regards,

Laurent Pinchart

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

end of thread, other threads:[~2009-10-11 22:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-06 14:07 uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro Ondrej Zary
2009-10-07 12:59 ` [PATCH] " Ondrej Zary
     [not found]   ` <561c252c0910070612v6c7f6363xbb9548f62c834fbd@mail.gmail.com>
2009-10-07 13:34     ` [Linux-uvc-devel] " Ondrej Zary
2009-10-08 23:04   ` Laurent Pinchart
2009-10-09  6:32     ` Ondrej Zary
2009-10-11 22:01       ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).