Re: [Linux-uvc-devel] [PATCH] Re: uvcvideo: Finally fix Logitech Quickcam for Notebooks Pro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxx>
> 
> --- 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
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux