Thanks for your response, AlexT. I've posted the requested info at the end of this reply.
I have explored uvcvideo quirks to some degree, but haven't had any success so far. I decided to download the uvcvideo source, and I noticed the following
in uvc_driver.c for the Aveo Technology USB 2.0 Camera:
driver_info = UVC_QUIRK_PROBE_MINMAX | UVC_QUIRK_PROBE_EXTRAFIELD
The idVendor is the same as my camera, but the idProduct is different. So I tried manually applying those quirks like so (just in case my camera had the same deficiencies):
~# rmmod uvcvideo
~# modprobe uvcvideo quirks=6
Unfortunately, this didn't alter the behavior aside from adding the following entries to the trace:
[ 1158.772637] uvcvideo: Forcing device quirks to 0x6 by module parameter for testing purpose.
[ 1158.772651] uvcvideo: Please report required quirks to the linux-uvc-devel mailing list.
Also, in uvc_video.c, I noticed that UVC_QUIRK_STREAM_NO_FID is used just after reporting the "Dropping payload (out of sync)" trace message, so I tried that as well. (I'm just shooting in the dark here really - I have no real reason to believe the device isn't toggling the FID appropriately.) Anyway, that caused all but the first frame grab to timeout with the "select timeout" error.
Finally, I also tried, (based on some suggestions I read online), using nodrop=1 and timeout=5000. Unfortunately, I still see the same behavior.
I haven't exhaustively tried all the permutations, but it seems like there's something more fundamental wrong. It makes me wonder if there's simply some HW issue with the camera... I don't own another webcam that supports UVC video, but I'll see if I can track one down. At least that way I'll have a sense whether the problem is isolated to this camera.
Again, thanks for your time.
-Rob
~# lsusb
Bus 001 Device 002: ID 1871:0d01 Aveo Technology Corp. USB2.0 Camera
~# v4l2-ctl -P
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
~# v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Size: Discrete 640x480
Interval: Discrete 0.033 s (30.000 fps)
Size: Discrete 160x120
Interval: Discrete 0.033 s (30.000 fps)
Size: Discrete 320x240
Interval: Discrete 0.033 s (30.000 fps)
Size: Discrete 176x144
Interval: Discrete 0.033 s (30.000 fps)
Size: Discrete 352x288
Interval: Discrete 0.033 s (30.000 fps)
~# v4l2-ctl -V
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'YUYV'
Field : None
Bytes per Line: 1280
Size Image : 614400
Colorspace : SRGB