Re: A videocam works on OHCI and fails on UHCI

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

 





On Sat, 14 Nov 2009, Oliver Neukum wrote:

Am Samstag, 14. November 2009 22:01:16 schrieb Theodore Kilgore:

Reset the camera? By what means would you have in mind? Close the app and
re-plug the camera? It has been tried, of course.

No, I had the driver calling usb_reset_device() in mind. Or for testing
purposes, you manually via usbfs.

Also, there is even so the more basic question that if this is the
particular manner of the failure, then why does the failure occur on 3
UHCI-based machines and it does not occur on 3 OHCI-based machines? Not to

If I had to guess and this is wild speculation, because UHCI schedules
periodic transfers differently from OHCI.

But, wait a minute. Could it be that the detection scheme is killing the
data packets? Maybe. But, again, this is happening only on UHCI hardware.
And also one might assume that I tried lots of things. For example, is it
possible to bypass the detection scheme completely by writing code which
is "hard wired" to initialize only an mr97310a CIF type 1 camera?
Certainly it is. Have I done that and tested said code? Certainly, I have.
Did it make the camera to work on an OHCI machine, as one ought to expect?
Yes. Did it make the camera to work on a UHCI machine? No.

So the other type works on both controllers?

Yes.



	Regards
		Oliver


Actually, I have succeeded in finding a fix for the problem at this point.

There is a sequence of commands used in the Windows driver for setting up these cameras, which I omitted from the code in mr97310a.c. The reason I omitted them is, some of them actually make the camera unstable at some of the resolution settings. In particular, at 352x288 and at 176x144. The OEM driver seems to assume that the camera will stream at 320x240 and 160x120 only, even though it is capable of 352x288 and 176x144. So, as I said, I omitted the whole sequence because it seemed to be causing nothing but trouble.

Well, so now I took a second look. There is exactly one command which sets up the camera to stream properly if it is hooked up to a UHCI machine! I assume, though I have no way of really knowing this without the usb traffic analyser that I do not own, but it seems that it sets some kind of timing. I put this one command back in (for the CIF type 1 cameras only) and now I can report that the all of the CIF cameras will stream on all of the machines in my house on which I have tested. This list specifically includes the one with the VIA chipset, as well as the old Dell laptop, and also the eeePC.

So, when I get around to it, which may be this evening or at least within the next 24 hours, I will submit a patch to clean up the driver file which is in the tree of Hans.

I would highly recommend that this prospective patched version of the driver gets included in 2.6.32 when it comes out, and not the version of the driver which is currently found in 2.6.32-rc6.


Theodore Kilgore
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux