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 -- Ondrej Zary -- 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