Re: uvcvideo error on second capture from USB device, leading to V4L2_BUF_FLAG_ERROR

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

 



On Mon, Sep 05, 2016 at 10:43:49PM +0300, Oliver Collyer wrote:
> I do not have any knowledge of uvcvideo and the associated classes apart from the studying I’ve done the past day or two, but it seems likely that error -71 and the later setting of V4L2_BUF_FLAG_ERROR are linked. Also, the fact it only happens in captures after the first one suggests something isn’t being cleared down or released properly in uvcvideo/v4l2-core at the end of the first capture.
> 
> Let me know what I need to do next to further narrow it down.

Have tried to reproduce this (with kernel 4.6.0 and fresh build of
ffmpeg) with uvcvideo-driven laptop webcam, and it doesn't happen to me.
Also -EPROTO in uvcvideo comes from low-level USB stuff, see
drivers/media/usb/uvc/uvc_status.c:127:

	case -EPROTO:		/* Device is disconnected (reported by some
				 * host controller). */

So it seems like hardware misbehaves. To further clairify situation, I
have such question: do the devices work in other operation systems on
the same machine?

Reviewing your original email mentioning that two different devices
reproduce same problem, which is apparently related to disconnection in
the middle of USB communication, I came to me that the connected device
may be underpowered. So,
 - try plugging your devices through reliable _active_ USB hub,
 - use the most reliable cables you can get,
 - plug into USB 3.0 port if available - it should provide more power
   than 1.0 and 2.0.
--
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