Hi Lambros,

On Wednesday 12 December 2007, Lambros Lambrou wrote:
> Dear all,
>
> I have a Dell Inspiron 1720 laptop, running Ubuntu 7.10, x86_64.  The
> webcam, according to 'lsusb' is:
>
> 05a9:2640 OmniVision Technologies, Inc.
>
> My problem is, the webcam appears to work fine for about 1 minute, and
> then the picture freezes.  I have tested this using Ekiga, skype (beta
> version 2.0.0.27), luvcview and gstreamer-properties.  In all
> applications except Ekiga, the camera functions for about 1 minute then
> the picture is frozen, until I restart the test, when the camera runs
> for a further 1 minute.. ad nauseam.  With Ekiga, all tests seem to run
> fine, until I attempt an actual VoIP call with a real person, when the
> video and sound are garbled, and the application becomes generally
> unstable, with random segfaults (see
> https://bugs.launchpad.net/ubuntu/+source/ekiga/+bug/164942 ).
>
> I have tried the latest uvcvideo driver from the SVN trunk (revision
> 151) but the behaviour is no different.  I have also tried various
> patches that I found, with no luck (either the patches failed to apply,
> or there was no difference in behaviour).
>
> Whenever the problem occurs, I always get this in my 'dmesg' output:
> [ 6045.133998] uvcvideo: Failed to resubmit video URB (-45).
> [ 6045.134047] uvcvideo: Failed to resubmit video URB (-45).
> [ 6045.134088] uvcvideo: Failed to resubmit video URB (-45).
> [ 6045.134131] uvcvideo: Failed to resubmit video URB (-45).

I don't like that :-(

> I get the same diagnostics if I use 'trace=15' when loading the module -
> it doesn't seem to give any more information (I use the command 'sudo
> modprobe uvcvideo trace=15').  Would I need to configure
> 'CONFIG_USB_DEBUG=y' to get more helpful debug information?  Would I
> need to recompile the Ubuntu kernel to do this?

I don't think CONFIG_USB_DEBUG would help, except maybe by slowing the kernel 
down a bit. You will have to recompile the Ubuntu kernel, or at least the USB 
modules if the USB subsystem is built as a module.

> I notice that the problem is not permanent.  In Skype, I can simply stop
> and start my video to get the camera running for another minute or so.
> Is there some way I could modify the driver to automatically reset the
> device when this error-condition occurs?  Obviously this wouldn't be a
> proper solution, but it would meet my needs.
>
> I have tried modifying the driver, to resubmit the video URB when the
> particular error-code "-45" is returned.  This does not help - it simply
> fails again with the same error code.

Was worth a shot as a workaround.

> From looking around the 'net, it appears that -45 refers to -EL2NSYNC,
> which is reportedly only used by ehci_hcd, and is perhaps audio-related.
> I disabled my audio driver "snd_hda_intel", but this did not help.

EL2NSYNC is returned by the EHCI HCD driver when it has trouble scheduling an 
isochronous URB. I'm not sure if this is caused by a wrong behaviour of the 
uvcvideo driver or by a bug in the ehci_hcd driver itself.

> Would it be helpful for me to try the 32-bit version of Ubuntu instead
> of the 64-bit version?  I don't want to try this if it would be wasted
> effort.

I doubt it would help, but that's always worth a shot if everything else 
fails.

> I did some searching on the "OmniVision" webcam but I could find very
> little information.  By all accounts, this camera is supposed to work
> perfectly with Free Software (but sadly, not for me).  It is built into
> the screen of my laptop, so I really would like to get it working,
> instead of just buying another cheap webcam to plug into the side.
>
> Any help debugging this would be much appreciated.  Please let me know
> what further info would be useful.

I would start by trying a vanilla kernel instead of the Ubuntu kernel. Ubuntu 
might ship patches that affect the ehci scheduler.

If it still fails, we should raise the problem on the linux-usb mailing list 
to find out who is to blame. I don't have enough knowledge of the ehci driver 
to understand its scheduling policy.

Best regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to