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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
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 <li...@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
I don't know - try it. My patch is not related to 2.6.22 and usb-audio at all.
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
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
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