I have a bunch of usb cards that have moschip ehci controllers in them that 
have a silicon bug that causes the microframe counter to be updated before the 
frame counter here's the details of the patch:

This patch (as1489) works around a hardware bug in MosChip EHCI
controllers.  Evidently when one of these controllers increments the
frame-index register, it changes the three low-order bits (the
microframe counter) before changing the higher order bits (the frame
counter).  If the register is read at just the wrong time, the value
obtained is too low by 8.

When the appropriate quirk flag is set, we work around this problem by
reading the frame-index register a second time if the first value's
three low-order bits are all 0.  This gives the hardware a chance to
finish updating the register, yielding the correct value.

This prevents the main problem of the driver crashing but there is a lingering 
issue that I believe is due to the uvcvideo driver's handling of the patch.  
The video stream eventually seems to "loose sync" is the best way i can 
describe it....I've posted a video of the problem on youtube here: 
http://www.youtube.com/watch?v=W-gAHa0zL7A 

There are 12 instances of guvcvideo running, 3 or 4 of the cameras have 
developed the issue after about 12 hours.  When the glitch happens, the bottom 
portion of the image freezes and the flashing segments at the top are still 
updating but clearly something is messed up.  Any thoughts?

-Jason  

-- 
/*
Jason Pitt PhD                                   206.667.5603
Roth Lab                                      jp...@fhcrc.org
Basic Sciences Division 
Fred Hutchinson Cancer Research Center
1100 Fairview Ave N A3-135
Seattle, WA 98109
*/
_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to