Hi Felix,

On Wednesday 12 September 2007, Felix Domke wrote:
> Laurent Pinchart wrote:
> >> i've spent some time on the Microsoft Xbox Live Vision cam (it's pretty
> >> cheap, USB 2.0, nearly uvc 1.0 compliant, has a pretty good image
> >> quality, manual focus, allegedly a 1280x960 sensor (i haven't checked,
> >> it might just upscale, but i don't think so), and supports MJPG and
> >> YUYV).
> >
> > *nearly* UVC compliant ? *sigh*... Can't they test their hardware with
> > Linux ? :-)
>
> *g*
>
> Well, given that the thing is designed for a gaming console, I consider
> it as an advancement already that it a.) doesn't have a proprietary
> connector, and b.) at least tries to follow SOME standard, and c.)
> doesn't try to put all the magic into the host.
>
> > SET_INTERFACE shouldn't be required. Upon being plugged in, the webcam
> > should select the default alternate setting.
>
> here is a lsusb -v:
>
> http://tmb.elitedvb.net/lsusb_045e0294

Thanks.

> What's with that "Xbox Security Method 3" interface? So that's not the
> default interface? (We can/should totally ignore that interface, it's
> only an optional authentication between the host and the device. I just
> want to be sure that this is not the default interface.)

There is no such thing as a default interface. USB devices have several 
interfaces, each of them with one or more alternate setting. Alternate 
setting 0 should be selected by default for each interface. 
usb_set_interface() selects an alternate setting for a given interface.

The "Xbox Security Method 3" interface isn't even seen by the Linux UVC 
driver.

> >> b.) The cam requires about ~3sec time after the initial SET_INTERFACE.
> >
> > Now this is bad news. What happens if you query controls during those
> > ~3sec ? Those the webcam timeout but stay functional, or does it crash ?
>
> It stays functional. It just responds with NAKs, and then, after it has
> initialized itself, it answers (unless, of course, the transaction has
> been cancelled).

Ok.

> > I'll test the SET_INTERFACE part and commit it soon. Regarding the
> > timeouts, what happens if you modify the streaming timeout only ?
>
> I can currently not test it, because the cam is operating at a remote
> place (and I don't want to risk a crash), but I can this test tomorrow.
> My guess it that it will work, because the streaming command is done first.
>
> I still vote for a dummy transaction after the SET_INTERFACE with a long
> timeout, to make sure the cam has initialized itself. After that the
> short timeout should suffice. Just incrementing the timeout is a bad
> thing, i'd say.

That's my opinion too. I'll have to test that with different cameras to make 
sure they don't crash or somehow misbehave.

Best regards,

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

Reply via email to